Contribute
Register

[GUIDE] Full Power Management w/ Dual/Single Broadwell-EP/Haswell-EP CPUs on 10.12.

Status
Not open for further replies.
May be it's the Web driver with is not optimise for the Quadro GPU line ? especially with OpenCL/Metal (used intensively by Final Cut Pro X and MacOS)
I got the same idea. So here I am looking for a solution, like a patch or something like that.
Every time I run the BruceX Test Project with this M6000 Final Cut will just crash. Cannot even play te BruceX Project on the timeline.
Guess I will have to sell this GPU and get a brand new Radeon.
Thanks for your help!
 
@davidahn I've lost entire weekends to dying CR2032 cells. I feel your pain. Also, do network boot roms really have a point besides providing an excellent location to install a rootkit? ;). (I'm kidding. Mostly.)

Anyway, I'm running 10.13.4 like a champ! Fortunately, there aren't too many differences, the main thing is that all the kernel patches are different, and you need a patch to get the 10.13 installer to run at all. Oh, and we can now use Above 4G encoding (which would be particularly important to people using all of their 16X PCIE slots - like if you had an SLI setup, which is half the reason for even getting an X10DAx vs. X10DAi).


Quick and dirty:

1. Flash patched BIOS.

Download the latest bios version from Supermicro's site, then get your hands on UEFIPatch, copy the bios image (X10DAx8.223 in your case) into the UEFIPatch folder. Then, from the command line, cd to the UEFIPatch folder and simply run

Code:
./UEFIPatch X10DAx8.223

It will patch the bios so those pesky MSR registers macOS likes to play with will not be locked. The resulting file will be named X10DAx8.223.patched. This is the file you want to flash to your BIOS. Follow Supermicro's directions, just copy the .patched bios file and rename it X10DAx8.223 instead of X10DAx8.223.patched, but otherwise the flashing procedure is no different.

2. Configure your BIOS correctly.

So, the important things are to make sure VT-d is off, and that in CPU->Power Management, you change the power management settings to custom, turn on EIST, Turbo, Throttle/T-States, PM Coordination to SW_ALL. It's not super important, you can use your judgement but try to turn as much stuff on and always favor the OS rather than the BIOS setting power management stuff (this will be noted in the BIOS help text on the far right).

The other important thing is to turn on 'Above 4G Decoding'. It's somewhere in the North Bridge area, under maybe PCIE settings? I am not sure of the exact menu layout of the X10DAx, and its been a while sense I accessed my own for that matter. Doing this from memory, sorry. It's somewhere, you'll find it :). Oh, and make sure everything is in UEFI/EFI mode, like PCIE slots and for booting ofc.

This page has a very complete and comprehensive list of what you need to configure BIOS-wise, and should explain why you need the patch in step 1.

3. Everything involved with generating SSDTs is completely unchanged. If upgrading from 10.12, you don't even need to do anything here, the SSDTs do not need any changes and you can keep using them just as before.

4. You need some love in your EFI/CLOVER folder.

First off, download and install the latest version of Clover released on the sourceforge page onto your flash drive or hard disk or whatever you want to do. And referencing https://github.com/vit9696/AptioFixPkg again, when you install clover, you'll need to check the AptioMemoryFix UEFI driver, and possibly the AptioInputFix. Do not use any other aptio fixes or osxfreemem fixes, or you won't be able to boot. If these are already in your clover folder, remove them. AFAIK, the more recent clover installers will already have the correct UEFI drivers selected by default, so if in doubt, just leave all the defaults checked or unchecked.

5. Move kexts to EFI/CLOVER/kexts/other.

And the only kexts you need, at least to start, are a recent version of FakeSMC, Lilu (as in multipass), AppleALC which works perfectly for getting audio fully working on our super micro mobos. This won't be an issue until you install the web drivers, but if you have a recent Nvidia card (or 3), you'll need to use some sort of fix for the black screen issue. There is nothing special or unique that is different with our mobos, so just look on these forums for how to deal with that. The procedure is the same for us. Lilu is required for this. You'll also want to look into Rehabman's XHCI-x99 injector, and general X99 USB fixes IF YOU HAVE USB ISSUES. Don't fix what isn't broken though, you may not have any issues or you might not care if all bajillion USB ports work. Again, there is nothing special about the C612 vs. X99 when it comes to USB fixes, thank god.

6. Y'all need dem kernel patches

OK, final bit thats changed... you need these patches, and only these patches, for PM to work. Note, all of these are from other people/sources, I do not claim credit for any of them. I am simply putting them all in the same spot for convenience :). Sorry if I fail to credit someone or got it wrong, I welcome corrections. I am grabbing this from my clover config plist. Like I said, quick and dirty.

Code:
* = optional/use as needed.  Everything else is required.

Kext patches:
Name                   Find                          Replace                        Comment
IOPCIFamily            4881FB00 000040               4881FB00 000080                X99/C610 Chipset Patch by baumbear (i think)
*AppleUSBXHCI          837D940F 0F839704 0000        837D940F 90909090 9090         change port limit to 24 ports
*IOAHCIBlockStorage    4150504C 45205353 4400        00000000 00000000 0000         SSD Trim Enabler


Kernel Patches:
Find                          Replace                        Comment             (leave matchos/ match build blank/empty)

07000000 31D2E88F FCFFFF      07000000 31D29090 909090       10.13 Installer/Updater install patch
723CD077 500FB6C0             6A3CD077 500FB6C0              _cpuid_set_info_1013_broadwell by Piker Alpha    
89D804C4 3C227722             89D804C3 3C227722              _xcpm_bootstrap_1013_broad  by Piker Alpha
BE070000 0031D2E8 8FFCFFFF    BE070000 0031D290 90909090     _xcpm_pkg_scope_msrs  by Piker Alpha
BE0B0000 005DE908 000000      BE0B0000 005DC390 909090       _xcpm_SMT_scope_msrs   by Piker Alpha

You'll note that several patches mentioned in my first post are gone, this is intended. Those patches were needed when we weren't using a patched bios, but now that a patched bios is required anyway, may as well not bother with patches we don't need anymore.

Also, I highly recommend applying PMHeart's wonderful performance patch. It will disable macOS's handling of certain energy efficiency MSRs entirely which are not really relevant to us since we aren't using an actual MacPro and we (probably) don't care too much about heat etc. This shouldn't hurt idle power usage or anything. And it is sweet having all 28 of my cores turboing to their all-core turbo frequency :).

Code:
xcpm performance fix by PMHeart:

Find  
C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF05C99E 6B004883 C4085B5D C3662E0F 1F840000 000000

Replace
BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 C99E6B00 4883C408 5B5DC390 90909090 909090

Finally, make sure your FakeCPUID is 0x040674, and you have all built in clover pm flags like KernelCPU, KernelPm, KernelXCPM, etc. turned off.

As for boot flags, you'll still want -npci=0x3000 and -xcpm_ipi . Though, if you just use -xcpm, the performance impact is measurable, but not nearly as big a deal as it was in 10.12. In fact, it seems to only make a 5% difference. But I want my 5% ;).

thank you @metacollin, great job!
now my rig is on 10.13.6, iMAC PRO SMBIOS + Broadwell E fakecpuid + native XCPM and OC.

where did you find this patch?

C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF05C99E 6B004883 C4085B5D C3662E0F 1F840000 000000
to
BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 C99E6B00 4883C408 5B5DC390 90909090 909090

:thumbup::wave:

Same kernel patches needs to be used for macos 10.13.6 running on dual haswell E52683 v3 cpu + ASUS Z10PE-D16 WS ?

Thanks !
 
Same kernel patches needs to be used for macos 10.13.6 running on dual haswell E52683 v3 cpu + ASUS Z10PE-D16 WS ?

Thanks !
sorry I don't know!
 
Hi, this is a combination fix & PSA for anyone using the X99/Broadwell-E Performance kernel patch.

If you've installed a recent 10.13.6 security update with build 17G5019 or newer (and possibly a bit earlier, I unfortunately am not sure exactly which build the change occurred), the X99/Broadwell-E Performance patch you may find in several related guides on this forum and others will no longer work. Your system will still function without issue, but it will take a significant performance hit. In my case, it resulted in a geekbench score 25% lower, and very sluggish/unresponsive frequency stepping, making any real time or interactive tasks feel subjectively far worse than just a 25% performance hit.


Anyway, I've modified the final version PM Heart's 10.13.6 performance patch so it works with build 17G5019. I hope it actually works with 17G5019 and newer, but I don't actually know that for sure. I've only tested it with 17G5019. (You can check your build by going to  -> About this Mac -> then click on the macOS version text ("Version 10.13.6") and the build number will be shown.

Code:
Updated pmheart xcpm performance fix - 10.13.6 Build 17G5019


Find:
C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF057998 6B004883 C4085B5D C3662E0F 1F840000 000000

Replace:
BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 79986B00 4883C408 5B5DC390 90909090 909090


There are several threads/guides that will likely want to be annotated with this, I hope everyone who might need this patch is able to find it. Enjoy!


For those wondering exactly what I changed vs. the earlier performance patch, here you go!

Find:
Old: C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF0579B0 6B004883 C4085B5D C3662E0F 1F840000 000000
New: C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF057998 6B004883 C4085B5D C3662E0F 1F840000 000000


Replace:
Old: BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 79B06B00 4883C408 5B5DC390 90909090 909090
New: BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 79986B00 4883C408 5B5DC390 90909090 909090


This is a trivial modification - the address of the xcpm_config table changed slightly, so an inc instruction that was supposed to increment [_xcpm_config+112] was no longer pointing to the correct offset. This simply updates it with the corrected offset. As such, all "real" credit for this patch still belongs to the original author(s), pmheart (et al?).
 
thx a lot @metacollin

just show my results (it looks not incredible but as I am working 24/7 with rendering, it is always good to have more than less)
monocore: 14% more
multi: 3% more

also strangely I lost tiny bit in openCL/metal but I guess it is not related to it


PS you have written having a 1080 and a RX480, is it in same rig?

:p 391202391203
 
Hi, this is a combination fix & PSA for anyone using the X99/Broadwell-E Performance kernel patch.

If you've installed a recent 10.13.6 security update with build 17G5019 or newer (and possibly a bit earlier, I unfortunately am not sure exactly which build the change occurred), the X99/Broadwell-E Performance patch you may find in several related guides on this forum and others will no longer work. Your system will still function without issue, but it will take a significant performance hit. In my case, it resulted in a geekbench score 25% lower, and very sluggish/unresponsive frequency stepping, making any real time or interactive tasks feel subjectively far worse than just a 25% performance hit.


Anyway, I've modified the final version PM Heart's 10.13.6 performance patch so it works with build 17G5019. I hope it actually works with 17G5019 and newer, but I don't actually know that for sure. I've only tested it with 17G5019. (You can check your build by going to  -> About this Mac -> then click on the macOS version text ("Version 10.13.6") and the build number will be shown.

Code:
Updated pmheart xcpm performance fix - 10.13.6 Build 17G5019


Find:
C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF057998 6B004883 C4085B5D C3662E0F 1F840000 000000

Replace:
BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 79986B00 4883C408 5B5DC390 90909090 909090


There are several threads/guides that will likely want to be annotated with this, I hope everyone who might need this patch is able to find it. Enjoy!


For those wondering exactly what I changed vs. the earlier performance patch, here you go!

Find:
Old: C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF0579B0 6B004883 C4085B5D C3662E0F 1F840000 000000
New: C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF057998 6B004883 C4085B5D C3662E0F 1F840000 000000


Replace:
Old: BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 79B06B00 4883C408 5B5DC390 90909090 909090
New: BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 79986B00 4883C408 5B5DC390 90909090 909090


This is a trivial modification - the address of the xcpm_config table changed slightly, so an inc instruction that was supposed to increment [_xcpm_config+112] was no longer pointing to the correct offset. This simply updates it with the corrected offset. As such, all "real" credit for this patch still belongs to the original author(s), pmheart (et al?).

thanks for the updated patch !

can you please also tell me that , if Same kernel patches you mentioned in post #231 can be used for macos 10.13.6 running on dual haswell E52683 v3 cpu + ASUS Z10PE-D16 WS ?

thanks
 
@metacollin, it's been almost a year since my last post. Thanks a LOT for all your contributions. I have not, sadly, had a chance to work on this, so my build lies depreciating. :)

Has anyone got 10.14 Mojave working yet on the X10DA*?
 
thanks for the updated patch !

can you please also tell me that , if Same kernel patches you mentioned in post #231 can be used for macos 10.13.6 running on dual haswell E52683 v3 cpu + ASUS Z10PE-D16 WS ?

thanks

For Haswell, you use the same patches except for the Broadwell specific ones. There are two of those and they’re labeled as such (with “broad” in the comment section).

Haswell CPUs don’t need the xcpm_cpuid_set_info patch at all, so simply omit that one.

They do need a Haswell specific xcpm_bootstrap patch, which is:

Code:
Find:              Replace:           Comment:
89d804c4 3c227722  89d804c1 3c227722  xcpm_bootstrap haswell © Pike R. Alpha

Also note that you must use a fake cpuid of 0x0306F2 when using Haswell CPUs.
 
@metacollin Thanks for all you've done metacollin! I read that you are on 10.14 now? What patches are you running with 10.14.6 and the latest update? Or whatever build # you are on?
 
Does this apply to Mojave 10.14.6 and Haswell-EP Xeon E5-26XX v3 ?

With xcpm patches mentioned, got xcpm loaded with MacPro6,1 and xcpm and vectors loaded with iMacPro1,1.

Neither reach the correct Turbo frequency.
I'm also looking for this answer! It also looks like UEFIPatch is depreciated? any advice @metacollin
 
Status
Not open for further replies.
Back
Top