Contribute
Register

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

Joined
Dec 16, 2015
Messages
2
Motherboard
Supermicro X10DAL-i
CPU
Dual Xeon E5-2623v3
Graphics
AMD FirePro W9000
Mac
MacBook Pro
Mobile Phone
iOS
Just followed this for the second time for High Sierra, and almost everything is smooth and flawless -- the one exception being audio, which is mysteriously refusing to work with the usual set-it-and-forget it Lilu+AppleALC latest releases from GitHub. The first time I tried this and definitely had audio working was back on 10.13.5; might something have changed in 10.13.6?
 
Joined
Jul 2, 2017
Messages
41
Motherboard
msi x99a godlike gaming
CPU
i7 6850k
Graphics
titan XP
Mac
MacBook Pro
Mobile Phone
iOS
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:
 
Joined
Aug 18, 2014
Messages
49
Motherboard
Asus X99 PRO USB 3.1
CPU
i7 6800K
Graphics
PNY Nvidia Quadro M6000
Mac
Mac Pro
Hello @metacollin! I need some help or advice. I'm working with Asus X99 PRO USB 3.1 and i7 6800K. Everything works fine but the GPU. It's a PNY Nvidia Quadro M6000. The performance is extremely poor and it crash with some apps like Final Cut X. It is enabled by Nvidia Webdrivers. I tried two other cards and found no issues (GTX 1050 and Rx 580).
Any ideas?
Thanks!
 
Joined
Aug 18, 2014
Messages
49
Motherboard
Asus X99 PRO USB 3.1
CPU
i7 6800K
Graphics
PNY Nvidia Quadro M6000
Mac
Mac Pro
How many PCI device Have you ? your CPU has "only" 28 PCI lanes
I'm using this devices as well:
Blackmagic Design Ultrascope 3 Gb/s SDI and Optical Fiber SDI Scope
Blackmagic Design DeckLink 4K Extreme 12G Capture Card

I tried two other cards and found no issues (GTX 1050 and Rx 580) with this setup! Pretty nice performance!

What do you think?
 
Joined
Jul 20, 2014
Messages
188
Motherboard
X299 UD4 PRO
CPU
i9-7900
Graphics
GTX 1080 Ti
What do you think?
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)
 
Joined
Aug 18, 2014
Messages
49
Motherboard
Asus X99 PRO USB 3.1
CPU
i7 6800K
Graphics
PNY Nvidia Quadro M6000
Mac
Mac Pro
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!
 
Joined
Aug 7, 2017
Messages
30
Motherboard
Lenovo Ideapad 330-15IKB (81DE)
CPU
i5-8250U
Graphics
UHD 620
@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 !
 
Joined
Jul 2, 2017
Messages
41
Motherboard
msi x99a godlike gaming
CPU
i7 6850k
Graphics
titan XP
Mac
MacBook Pro
Mobile Phone
iOS
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!
 
Joined
Jul 23, 2011
Messages
53
Motherboard
Supermicro X10DAI w/64GB DDR4 RAM
CPU
Dual Xeon E5-2690 v4s (28 physical cores)
Graphics
GTX 1080, RX 480
Mac
Mac Pro
Classic Mac
Classic, Power Mac, PowerBook, Quadra, SE
Mobile Phone
iOS
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?).
 
Top