Contribute
Register

How to extend the iMac Pro to X99 [Successful Build/Extended Guide]

Status
Not open for further replies.
just to answer tiny bit:

is it stable?
100%
I am a beat maker on native maschine also reason
I use duet 2 apogee and AVID too
I make 360° video 8K and photogrammetry 3D
dual boot of Win/Mac os
and the windows 10 crashes regularly, Mac OS with kgp method NEVER

if you dont start to install, you will never know
lot of Gigabyte users made it stable and happy with this method

the method of the page 1 CANNOT be more SIMPLE, instead to come at your place and installing it for you ;) (joke)

unfortunately you need to install it and search tiny bit as it is on ASUS X99 and not Gigabyte X99
the Geekbench scores will be linked to the rig you have, dont expect to kick the ass of the iMac pro 1.1 geekbench

good luck

Hi @nifranza, thanks for the offer to answer my questions; sorry I missed this first post.
 
Last edited:
After patching and installing the patched Nvidia Web driver for Mojave, I am unable to select Nvidia Web Driver from preferences menu. It's grey. What do I do ? Any help please ? @kgp ?
 

Attachments

  • Untitled1.png
    Untitled1.png
    39.3 KB · Views: 65
  • Untitled3.png
    Untitled3.png
    50.1 KB · Views: 63
Last edited:
Hello there... ... ...
P.D: I still don't understand why is it mandatory for you to disable Power Management in the BIOS for Windows to run audio software better, I would think its the opposite.. Or at least that's how it is for macOS.

Thanks man for the posts/BIOS info! I have already updated my system to the latest BIOS released earlier this year, so hopefully that won't be a problem :)

I'll try and answer your question about Windows power management as quick/simply as I can without getting too tech or further clogging up this thread, which is not at all about Windows :)

As you may know, Windows is not a real-time OS, so processing of streaming data in real-time is a very challenging task for Windows based applications and device drivers. At the Kernel-Mode driver level, drivers use an interrupt to get access to the kernel space. Windows doesn't grant immediate access to drivers when they interrupt, but instead handles these interrupts using what's called deferred procedure calls (or DPC). When a driver requests or calls for data, it schedules a DPC. However, Windows has to finish processing whatever it has in the DPC cue, and then call the driver back to give it some time to process the data; kind of like when you call a company's customer service line, and instead of keeping you on the line waiting, they offer to cue your call and then call you back when a rep is available.
So in these constant calls to the system, if a driver spends too much time waiting for its turn, it has to buffer data; this buffered data in the case of audio/video/real-time apps results in drop-outs, stutters or other artifacts.
The time a driver spends waiting in DPC cue is called DPC latency. The higher the latency, the more data that has to be buffered, so the more drop-outs and other artifacts you'll experience. Thus on a Windows machine the aim for Audio/Video editing, gaming or any other real-time use is to get DPC latency as low as possible. I don't know if macOS has something similar, or if it perhaps handles things in real-time? However, Having CPU states enabled in Windows increases the DPC latency by a great amount, and the time it takes the OS to clock up the CPU from idol to full speed is a DPC spike that usually (especially at lower sample buffers (128 or less) for audio) results in pops/crackles. The speedStep driver/mechanism under Windows also increases DPC latency, which is why it's disabled in BIOS. Of course other things affect all this (third party drivers, background tasks/processes, system/registry settings etc), but I'm focusing only on the CPU side of things since it's relevant to your question/the topic.

Allot of people experience these issues under Windows, but they usually just assume it's the OS, not knowing that a couple tweaks go a long way! :)

So that's the reason for my BIOS configuration, and since I use Windows daily for work, I for now have to keep it that way. I use Samplitude and SONAR (now Cakewalk by BandLab), and since these DAWS don't exist on the mac, transfering ongoing projects is not an option :(

But I'd like to see what I can do with macOS, since Windows 7 is going out of support in a few years, and Windows 10 as of now... ... ... ;) well let me just leave it where it lies lol.

I'm hoping that if I get XCPM working it will detect that CPU states have been disabled at the hardware level, and that it would just keep the CPU full speed while still doing whatever else XCPM is responsible for throughout the OS. This is how Windows handles that, but of course these are 2 very different OS, hence my questions.
Otherwise, if I can't get XCPM going, hopefully it won't keep the OS from running stable and won't cause KPs all over the place; that was the impression I got from various posts throughout the forum, but as you said, things might be different on 13.5, so there's hope! :) I have a few approaches in mind for testing all of this, so fun days ahead...
I've been building hacks for a few years now, so I know there's no such thing as a "perfect" customac, but I know we can get them very solid and stable (my previous z97 build was such), that's my hope with this one, it's just that I know X99 is a bit more challenging since Apple didn't officially use this platform, but it seems to have gotten better with the use of X299/iMac pro.
Thanks again @kgp for the guide. Regardless of how far I get along, it is a very detailed and well written guide, the most comprehensive X99 guide I've found to date.

Anyways, sorry for the long post and for clogging up the thread with my questions, I'll take this for a spin and see how it goes!
 
I never said that you cannot use a dual boot system with windows. I just said you should forget about Windows in the first place.

BIOS settings must be optimized for OSX. Windows should be able to adopt. Your current windows installation might be Legacy, which is useless for a dual boot UEFI system in any case. If the latter is the case, you have to perform a Windows UEFI reinstallation in any case.

XCPM does not mean that your system would become less efficient. The opposite is the case. Under max. load conditions, you would still get the maximum performance while under idle conditions, your CPU load would drop to IDLE to save energy at first place. Thus, in principle XCPM always assigns the correct CPU load with respect to your applications. BTW.. the same statements should also apply for a successfully working power management under Windows!

Nobody aims at running his/her system permanently under max. CPU load conditions. The latter would be just the unfortunate result of a not properly working CPU power management.

I guess, you would be able to directly download 10.13.5 from the Appstore. Just give it a try. Else I would just stay with all indications outlined in my guide. And this is not just meant literally.

Anyway, good luck with your endeavors,

KGP


Hi @kgp, thx for the info. Both my OS (win7/10) are UEFI installs, legacy is disabled on this board. If I get it working, I plan to use my third macOS drive with clover as the bootloader to launch macOS and both of the Windows OS. This is the setup I had on my z97 rig and my laptop.
I know that dual/triple booting is possible, what I meant is that I can't change my BIOS (at least the c1/c6/speedstep) as you suggested to macOS optimized, since (for now) Windows is where I do my daily work and it requires those settings (see my previous post/reply to @nifranza for the full explanation).

As you said, Windows should adopt to the settings, and in an ideal world it would still run perfectly fine, but that is sadly not the case :)
Anyone who uses Windows for AV work usually has these settings disabled and CPU running at full speed for best performance/lower latency, unless they don't know about these things/tweaks.
I know this is not the case for the mac, where XCPM doesn't affect performance for AV applications, but on Windows, its XCPM equivalent does affect performance for AV work :(

I know XCPM would make the mac system run more efficiently (as that's what it was designed to do), which is why I'm asking about it. Otherwise I'd use nullCPU and forget it lol.

But here's another question that might help clear up some of this confusion: what is XCPM exactly responsible for? Is it just to regulate CPU speed? Or does it perform other system functions as relate to power management?

Also, regarding XCPM, are you saying that if it's not enabled/active, that macOS 13.5 will still run stable? I'm assuming that sleep functionality will not work (not a problem for me), and the CPU will run at full speed (it already does under windows, so not a probem either), but will everything else run fine?

I guess here are my possible outcomes, hopefully this would be clear enough :)

1. BIOS has c1/c6/speedstep disabled. XCPM won't work, system runs at full CPU speed, no sleep, but system performs to the best of the CPU and is stable (no kp no crash). (I'm OK with that)
2. BIOS has c1/c6/speedstep disabled. XCPM won't work, system runs at full CPU speed, no sleep, system is unstable (kp and crashes) and performance is not as good as the CPU can give. (I'm obviously not OK with that lol. This is what I'm trying to avoid, and where my questions come from. If this is the case, what can I do (if anything) to avoid the instability or bad performance?)
3. BIOS has c1/c6/speedstep disabled. XCPM works, (sleep and whatever else XCPM is responsible for work), except it doesn't throttle CPU because the function is disabled in BIOS (XCPM is obeying BIOS rules). System still performs to the best ability of the CPU. (This would be fine with me, This is how Windows handles it with my current setup).
4. BIOS has c1/c6/speedstep disabled. In some weird way, XCPM works and can bypasss BIOS configuration and still throttle CPU down to different states (regardless of BIOS rules). I know that one is asking too much and is probably impossible lol. (but if it did work, it would be the ultimate for me, since CPU power management is not an issue under macOS for AV apps). Could I do something like that and introduce supported CPU states using DSDT? Or will it cause issues due to my disabled BIOS settings.

So what I'm asking is:
1. When I do the install and follow the guide, should I try going for XCPM, or should I avoid it since my BIOS have basically disabled it?
2. If I do avoid XCPM, other than the CPU not getting throttled down, am I losing any other valuable functions, and how else will the system be affected?
3. I'm assuming that since the CPU would be running full speed, the machine will perform at its best underload, since the CPU can easily handle the load, or is that an incorrect assumption/does XCPM do more than regulat speeds?
4. Put another way, is XCPM responsible for other things other than sleep/wake and CPU? Which means not having it will affect the system in other ways.
5. If I do avoid XCPM, would I need to use NullCPU kext?
6. Otherwise, if I should go for trying to enable/use XCPM as detailed in the guide, is there anything I should do differently or keep in mind, given my different BIOS configuration (C1/C6/SpeedStep)?

Thanks for any ideas or possible answers, hopefully this is a bit clear now. I will certainly try this and report back in any case, as curiosity is a powerful thing :)
 
Last edited:
Hi @kgp, thx for the info. Both my OS (win7/10) are UEFI installs, legacy is disabled on this board. If I get it working, I plan to use my third macOS drive with clover as the bootloader to launch macOS and both of the Windows OS. This is the setup I had on my z97 rig and my laptop.
I know that dual/triple booting is possible, what I meant is that I can't change my BIOS (at least the c1/c6/speedstep) as you suggested to macOS optimized, since (for now) Windows is where I do my daily work and it requires those settings (see my previous post/reply to @nifranza for the full explanation).

As you said, Windows should adopt to the settings, and in an ideal world it would still run perfectly fine, but that is sadly not the case :)
Anyone who uses Windows for AV work usually has these settings disabled and CPU running at full speed for best performance/lower latency, unless they don't know about these things/tweaks.
I know this is not the case for the mac, where XCPM doesn't affect performance for AV applications, but on Windows, its XCPM equivalent does affect performance for AV work :(

I know XCPM would make the mac system run more efficiently (as that's what it was designed to do), which is why I'm asking about it. Otherwise I'd use nullCPU and forget it lol.

But here's another question that might help clear up some of this confusion: what is XCPM exactly responsible for? Is it just to regulate CPU speed? Or does it perform other system functions as relate to power management?

Also, regarding XCPM, are you saying that if it's not enabled/active, that macOS 13.5 will still run stable? I'm assuming that sleep functionality will not work (not a problem for me), and the CPU will run at full speed (it already does under windows, so not a probem either), but will everything else run fine?

I guess here are my possible outcomes, hopefully this would be clear enough :)

1. BIOS has c1/c6/speedstep disabled. XCPM won't work, system runs at full CPU speed, no sleep, but system performs to the best of the CPU and is stable (no kp no crash). (I'm OK with that)
2. BIOS has c1/c6/speedstep disabled. XCPM won't work, system runs at full CPU speed, no sleep, system is unstable (kp and crashes) and performance is not as good as the CPU can give. (I'm obviously not OK with that lol. This is what I'm trying to avoid, and where my questions come from. If this is the case, what can I do (if anything) to avoid the instability or bad performance?)
3. BIOS has c1/c6/speedstep disabled. XCPM works, (sleep and whatever else XCPM is responsible for work), except it doesn't throttle CPU because the function is disabled in BIOS (XCPM is obeying BIOS rules). System still performs to the best ability of the CPU. (This would be fine with me, This is how Windows handles it with my current setup).
4. BIOS has c1/c6/speedstep disabled. In some weird way, XCPM works and can bypasss BIOS configuration and still throttle CPU down to different states (regardless of BIOS rules). I know that one is asking too much and is probably impossible lol. (but if it did work, it would be the ultimate for me, since CPU power management is not an issue under macOS for AV apps). Could I do something like that and introduce supported CPU states using DSDT? Or will it cause issues due to my disabled BIOS settings.

So what I'm asking is:
1. When I do the install and follow the guide, should I try going for XCPM, or should I avoid it since my BIOS have basically disabled it?
2. If I do avoid XCPM, other than the CPU not getting throttled down, am I losing any other valuable functions, and how else will the system be affected?
3. I'm assuming that since the CPU would be running full speed, the machine will perform at its best underload, since the CPU can easily handle the load, or is that an incorrect assumption/does XCPM do more than regulat speeds?
4. Put another way, is XCPM responsible for other things other than sleep/wake and CPU? Which means not having it will affect the system in other ways.
5. If I do avoid XCPM, would I need to use NullCPU kext?
6. Otherwise, if I should go for trying to enable/use XCPM as detailed in the guide, is there anything I should do differently or keep in mind, given my different BIOS configuration (C1/C6/SpeedStep)?

Thanks for any ideas or possible ansers, hopefully this is a bit clear now. I will certainly try this and report back in any case, as curiosity is a powerful thing :)

It seems that you still did not catch the very basics and I guess it is useless to comment or add something to your current conclusion... o_O:rolleyes:
 
Thanks man for the posts/BIOS info! I have already updated my system to the latest BIOS released earlier this year, so hopefully that won't be a problem :)

I'll try and answer your question about Windows power management as quick/simply as I can without getting too tech or further clogging up this thread, which is not at all about Windows :)

As you may know, Windows is not a real-time OS, so processing of streaming data in real-time is a very challenging task for Windows based applications and device drivers. At the Kernel-Mode driver level, drivers use an interrupt to get access to the kernel space. Windows doesn't grant immediate access to drivers when they interrupt, but instead handles these interrupts using what's called deferred procedure calls (or DPC). When a driver requests or calls for data, it schedules a DPC. However, Windows has to finish processing whatever it has in the DPC cue, and then call the driver back to give it some time to process the data; kind of like when you call a company's customer service line, and instead of keeping you on the line waiting, they offer to cue your call and then call you back when a rep is available.
So in these constant calls to the system, if a driver spends too much time waiting for its turn, it has to buffer data; this buffered data in the case of audio/video/real-time apps results in drop-outs, stutters or other artifacts.
The time a driver spends waiting in DPC cue is called DPC latency. The higher the latency, the more data that has to be buffered, so the more drop-outs and other artifacts you'll experience. Thus on a Windows machine the aim for Audio/Video editing, gaming or any other real-time use is to get DPC latency as low as possible. I don't know if macOS has something similar, or if it perhaps handles things in real-time? However, Having CPU states enabled in Windows increases the DPC latency by a great amount, and the time it takes the OS to clock up the CPU from idol to full speed is a DPC spike that usually (especially at lower sample buffers (128 or less) for audio) results in pops/crackles. The speedStep driver/mechanism under Windows also increases DPC latency, which is why it's disabled in BIOS. Of course other things affect all this (third party drivers, background tasks/processes, system/registry settings etc), but I'm focusing only on the CPU side of things since it's relevant to your question/the topic.

Allot of people experience these issues under Windows, but they usually just assume it's the OS, not knowing that a couple tweaks go a long way! :)

So that's the reason for my BIOS configuration, and since I use Windows daily for work, I for now have to keep it that way. I use Samplitude and SONAR (now Cakewalk by BandLab), and since these DAWS don't exist on the mac, transfering ongoing projects is not an option :(

But I'd like to see what I can do with macOS, since Windows 7 is going out of support in a few years, and Windows 10 as of now... ... ... ;) well let me just leave it where it lies lol.

I'm hoping that if I get XCPM working it will detect that CPU states have been disabled at the hardware level, and that it would just keep the CPU full speed while still doing whatever else XCPM is responsible for throughout the OS. This is how Windows handles that, but of course these are 2 very different OS, hence my questions.
Otherwise, if I can't get XCPM going, hopefully it won't keep the OS from running stable and won't cause KPs all over the place; that was the impression I got from various posts throughout the forum, but as you said, things might be different on 13.5, so there's hope! :) I have a few approaches in mind for testing all of this, so fun days ahead...
I've been building hacks for a few years now, so I know there's no such thing as a "perfect" customac, but I know we can get them very solid and stable (my previous z97 build was such), that's my hope with this one, it's just that I know X99 is a bit more challenging since Apple didn't officially use this platform, but it seems to have gotten better with the use of X299/iMac pro.
Thanks again @kgp for the guide. Regardless of how far I get along, it is a very detailed and well written guide, the most comprehensive X99 guide I've found to date.

Anyways, sorry for the long post and for clogging up the thread with my questions, I'll take this for a spin and see how it goes!
For one thing, if -as you say - you've building hacks for a long time now, I am kind of surprised of your persistence in staying on Windows. I would just forget about Windows, and I think I might not be the only professional to hate it for working with audio or video. Trust me, macOS is better for media work.

On the other hand, if you have all of your work stored on a machine that needs to be configured in such a specific way to run Windows fine (which also proves my latter point), and you are not going to be using macOS to work since you want to keep that strange configuration to run Windows, why go through all the trouble in he first place?

Sorry, I just don't see the point in doing so..

What I mean is: don't compromise your work just to toy around installing macOS on a PC for fun. Get a new system that doesn't have any of your work in it and experiment on that one.

(Also, I don't mean to be rude, but this thread is addressed for users to solve problems installing macOS on X99 systems. Not for Windows vs. macOS debates. So, please let's not of take that people's space)

Good luck!
 
Last edited:
@kgp passes his time to help like crazy
ALL the methods from kgp are REFERENCES and I truly consider it (find a topic so well described and upgraded every few days when changes are done: good luck) ;)

if windows is so great:
@djx8605 why do you speak about coming to Hack?
if you are happy with all the programs on windows, stay on windows 10 with XCPM etc, it will be much better

Again, please try on a second HDD, before to request questions like: "if I ... than I will need to use ..."?
try by your own and you will see...

i agree with nifranza ;)

...Also, I don't mean to be rude, but this thread is addressed for users to solve problems installing macOS on X99 systems. Not for Windows vs. macOS debates. So, please let's not of take that people's space

Good luck!
 
Can anyone please help why after patching Nvidia driver, it refuses to work ?
 
Can anyone please help why after patching Nvidia driver, it refuses to work ?

After installing the patched web driver, did you adequately modify the Info.plist of Nvidia NVDAStartupWeb.kext and reinstall the kext in /L/E/ with root permissions? Did you subsequently execute the 4 terminal commands as indicated in my guide?

If so, and the web driver still does not load, try to check "NvidiaWeb" in your config.plist in Section "System Parameters" of Clover configurator!

It MUST work like this.. There is no other way... If it still does not work, don't even ask an try to lose your knot by yourself...

There is definitely no other solution.

Good luck,

KGP
 
After installing the patched web driver, did you adequately modify the Info.plist of Nvidia NVDAStartupWeb.kext and reinstall the kext in /L/E/ with root permissions? Did you subsequently execute the 4 terminal commands as indicated in my guide?

If so, and the web driver still does not load, try to check "NvidiaWeb" in your config.plist in Section "System Parameters" of Clover configurator!

It MUST work like this.. There is no other way... If it still does not work, don't even ask an try to lose your knot by yourself...

There is definitely no other solution.

Good luck,

KGP

I did all, but I can't select Nvidia Web driver in preferences pane.
 
Status
Not open for further replies.
Back
Top