Contribute
Register

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

Status
Not open for further replies.
Major Revision of my Broadwell-E/EP (Haswell-E/EP)/X99 macOS High Sierra 10.13 Desktop Guide.

I.) Note that the XHC USB Kext for the ASUS X99-A II and ASUS X99 Deluxe II has been modified and revised. A new version of this file for SMBIOS macPro6,1 has been implemented and attached at the end of the originating post/guide and is once more attached here below.
II.) A new Forced Sleep/Wake Approach has been implemented. Entire Section E.9) has been adopted accordingly. Please find
all new details summarised below:​

To reach Full Forced Sleep/Wake functionality on your hack, perform the following steps listed below:

1.) Due to the sleep/wake incompatibility of PMdrvr.kext disable EIST in the mobo-BIOS and remove PMdrvr.kext from
"/EFI/CLOVER/kexts/Other/". PMDrvr.kext frequently causes a black screen or reboot on wake thus it is up to the users decision to go with EIST and PMdrvr.kext or to go for sleep/wake functionality.
2.) Open your "config.plist" in the "/EFI/Clover/"-directory of your System Disk with the Clover Configurator and check if
"darkwake=0" is selected in the "Boot" Section.
3.) ACPI DSDT Patch Table + SSDT-XOSI.aml
A set of DSDT Replacement patches (ACPI Table) originally developed by @TheOfficialGypsy and apfelnico for X299 Systems, also help in achieving forced sleep/wake functionality on X99 Systems. Note that all required ACPI DSDT Replacement Patches are already implemented in the config.plist in the /EFI/CLOVER/ directory of the EFI-Folder contained in EFI-X99-10.13-SU-Release-211017.zip, newly attached at the end of the originating post and here below. Just open the config.plist with Clover Configurator and investigate "DSDT patches" in Clover Configurator Section "ACPI".

a.) OSI -> XOSI and EC0_ -> EC__ or H_EC -> EC__ are DSDT replacement patches to achieve consistency with a
real Mac variable naming.

i.) The XOSI functionality is required as explained by @RehabMan (just follow this
LINK for details).
ii.) On the ASUS X99-A II and ASUS X99 Deluxe II we have the EC0 controller, which has to be renamed to
'EC' for proper USB power management. Depending on the mainboard, there is always either a 'EC0' or 'H_EC' IOReg entry, it is impossible to find both. Thus investigate your mainboard specific IOREG entry and enable either the EC0_ -> EC__ or H_EC -> EC__ DSDT Replacement Patch.​
Code:
Comment:             Find*[Hex]      Replace [Hex]
OSI -> XOSI          5f4f5349        584f5349
EC0_ -> EC__         4543305f        45435f5f
H_EC  -> EC__        485f4543        45435f5f
b.) The HEC1 -> IMEI DSDT Replacement patch is vital as MacOS requires the variable name "IMEI" to load the
'AppleIntelMEIDriver'. The latter functionality solves the 'iTunes/Apple Store Content Access Problem' which is discussed here.

Code:
Comment:             Find*[Hex]       Replace [Hex]
HEC1 -> IMEI         48454331         494d4549
c.) The PMC1 -> PMCR DSDT patch replacement is PMC controller related and applied for consistency with the PMC
naming on real Macs.

Code:
Comment:             Find*[Hex]        Replace [Hex]
PMC1 -> PMCR         504d4331          504d4352
d.) The LPC0 -> LPCB DSDT Replacement Patch is AppleLPC and SMBus related and is applied for consistency with the

variable naming on a real Mac.
Code:
Comment:             Find*[Hex]         Replace [Hex]
LPC0 -> LPCB         4c504330           4c504342
e.) FPU_->MATH, TMR_->TIMR, PIC_->IPIC are all DSDT Replacement Patches for consistency with the variable
naming on a real Mac. The variables are however functionless on either X99 systems or real Macs.

Code:
Comment:             Find*[Hex]        Replace [Hex]
FPU_ -> MATH         4650555f          4d415448
TMR_ -> TIMR         544d525f          54494d52
PIC_ -> IPIC         5049435f          49504943
f.) The DSM -> XDSM DSDT replacement patch will be vital for loading a SSDT-X99.aml, which however has not been
released yet.

Code:
Comment:             Find*[Hex]         Replace [Hex]
_DSM -> XDSM         5f44534d            5844534d
Last but note least, in the /EFI/CLOVER/ACPI/patched/ directory of the EFI-Folder contained in EFI-X99-10.13-SU-Release-211017.zip one finally finds the SSDT-XOSI.aml, already implemented by default.​
3.) In D.1/5.5 or D.2/4.e you already copied the appropriate "VoodooTSCSync.kext", which you modified by following
error prevention C/8., to the /EFI/Clover/kexts/Other/ directories of your USB Flash Drive and 10.13 System Disk.

Note once more that "VoodooTSCSync.kext" is absolutely mandatory for sleep/wake functionality!
4.) If you find everything implemented as described above, send your Hack to Forced Sleep and subsequently wake your
System with your mouse, keyboard or power button on your rig.

This new approach will hopefully dramatically increase the forced sleep/wake performance of X99-Systems. Long-term tests are yet missing. Thus we will see about your estimated user feedback on this new approach.

Enjoy and have fun!

View attachment 287662

I have implemented all the above patches, included EC0 in my case as found in IOREG, I my case all is perfect and behaves exactly the same way as it was before implementation, I have fully functional wake and sleep, have and had before possibility to wakeup from usb keyboard/mouse so in my case I don't actually see any profit of it, I am not saying there is no profit, I am just saying in my case I can't see it!

My power button still can't put my system to sleep and this it the most desire function I would love to see. ( It means I have no problems at all )

anyway:
all great as before, perfect sleep and wake!
 
Last edited:
Please let me know which Brand your Vega 64 is! Sapphire? XFX ? Gigabyte ?
For GPU please uncheck inject ATI if selected, it’s unnecessary on the OOTB working Vega!

This will fix your GPU Port Problem

Mount your EFI and open your Config.plist with Clover Configurator.

Select the Kernel and Kext Patches Tab and add this:

Kext: AppleGraphicsDevicePolicy
Find: <626f6172 642d6964>
Replace: <626f6172 642d6978>
(c)Pike R. Alpha

Reboot and everything should work!

I keep my Vega‘s just switching to X299.

Thank you very much but it didn't work.
Do I have to put a specific kext in the EFI>CLOVER>Kexts>Other folder in the same time (in addition to Lilu and Whatevergreen already there)?
The brand of my Vega 64 is Sapphire.
I didn't think that was important as every brand seems to propose the same card, a referenced one, not the customized ones that doesn't seems close to a release. You think there's a difference between the brands for this iteration of Vega ?

Anyway, I'm very frustrated. It's like the card is missing a specific macOS driver in his body. So funny because in "about the Mac" it is fully recognized. Previously in Sierra I tested a rx 580 which wasn't even recognized properly in "About the Mac" but was working well with 2 screens.

Thank you again. I think I will put a rx 570 or 580 to manage the 2 screens and will use the rx Vega for acceleration and render. This hackintosh is for film editing in FCPX and some work in Davinci Resolve, so I really need the 2 screens.
 
Last edited:
Sorry if I am going off-topic here.

I am on the 10.13 Supplemental Update, and I recently noticed in the Intel Power Gadget that my processor is running a straight line at 4.3 (I've got it overclocked). I was doing just fine earlier (till 10.13 - minus the Supplemental Update). After doing a little googling, I landed up at this thread by @kgp (whose guides I have followed earlier with great success). I saw an updated the new xcpm_bootstrap and haswell-e cpuid entries for the 'Kernels To Patch' portion of Clover, but as soon as I try and boot with the new xcpm_bootstrap values, the computer is stuck at the white-on-black apple logo - the progress bar just doesn't appear. Reverting to the older xcpm_botstrap values allows me to boot into macOS, however, the processor is just stuck at 4.3 GHz.

Can anyone help me out here? Thanks in advance.
 
Sorry if I am going off-topic here.

I am on the 10.13 Supplemental Update, and I recently noticed in the Intel Power Gadget that my processor is running a straight line at 4.3 (I've got it overclocked). I was doing just fine earlier (till 10.13 - minus the Supplemental Update). After doing a little googling, I landed up at this thread by @kgp (whose guides I have followed earlier with great success). I saw an updated the new xcpm_bootstrap and haswell-e cupid entries for the 'Kernels To Patch' portion of Clover, but as soon as I try and boot with the new xcpm_bootstrap values, the computer is stuck at the white-on-black apple logo - the progress bar just doesn't appear. Reverting to the older xcpm_botstrap values allows me to boot into macOS, however, the processor is just stuck at 4.3 GHz.

Can anyone help me out here? Thanks in advance.

Do you you really use the HASWELL-E xcpm_bootstrap and cpuid KernelToPatch entries?? They must also work with your i7-5820K! A straight line at 4.3 Ghz means that your XCPM does not work at all! Just perform the individual XCPM checks outlined in my guide and try to properly arrange your XCPM configuration until it really works. I never changed the HASWELL-E xcpm_bootstrap and cpuid 10.13 KernelToPatch entries, also not with 10.13 SU! Thus, there are no new values... At this point you seem to mix up with macOS Sierra 10.12.6, which indeed required a change of the latter two KernelToPtach entries, which are now indeed different from those provided for all former macOS Sierra 10.12 distributions!
 
Do you you really use the HASWELL-E xcpm_bootstrap and cpuid KernelToPatch entries?? They must also work with your i7-5820K! A straight line at 4.3 Ghz means that your XCPM does not work at all! Just perform the individual XCPM checks outlined in my guide and try to properly arrange your XCPM configuration until it really works. I never changed the HASWELL-E xcpm_bootstrap and cpuid 10.13 KernelToPatch entries, also not with 10.13 SU! Thus, there are no new values... At this point you seem to mix up with macOS Sierra 10.12.6, which indeed required a change of the latter two KernelToPtach entries, which are now indeed different from those provided for all former macOS Sierra 10.12 distributions!

Hi @kgp, I am using the HASWELL-E xcpm_bootstrap and cpuid 10.13 KernelToPatch entries which you have give in the beginning of this guide, in the xcpm section, but the computer does not boot with those values - it gets stuck with the white-on-black apple logo and the loading bar does not appear. With the xcpm bootstrap values for 10.12.6, the computer does boot into mac os but obviously the frequency flatlines at 4.3 GHz. I have noticed this when I updated to the 10.13 Supplemental Update. Earlier, my xcpm and speedstepping were working fine with the older 10.12.6 xcpm bootstrap values.
 

Attachments

  • mac-os-boots-with-highlighted-values-but-no-xcpm.png
    mac-os-boots-with-highlighted-values-but-no-xcpm.png
    271.6 KB · Views: 116
  • mac-os-does-not-boot-with-highlighted-values.png
    mac-os-does-not-boot-with-highlighted-values.png
    271.6 KB · Views: 106
Hi @kgp, I am using the HASWELL-E xcpm_bootstrap and cpuid 10.13 KernelToPatch entries which you have give in the beginning of this guide, in the xcpm section, but the computer does not boot with those values - it gets stuck with the white-on-black apple logo and the loading bar does not appear. With the xcpm bootstrap values for 10.12.6, the computer does boot into mac os but obviously the frequency flatlines at 4.3 GHz. I have noticed this when I updated to the 10.13 Supplemental Update. Earlier, my xcpm and speedstepping were working fine with the older 10.12.6 xcpm bootstrap values.

Are you using CPU Type "0x0a01"?? If yes, and your system still won't boot check your CPU BIOS Settings!

XCPM will never run under 10.13 with the xcpm_bootstrap and cpuid 10.12.6 KernelToPatch entries! Forget it!
 
Are you using CPU Type "0x0a01"?? If yes, and your system still won't boot check your CPU BIOS Settings!

XCPM will never run under 10.13 with the xcpm_bootstrap and cpuid 10.12.6 KernelToPatch entries! Forget it!

I agree that xcpm will not run on 10.13 using 10.12 xcpm_bootstrap entries. However, even after copying the BIOS settings given in your guide (copying ASUS settings as faithfully as possible on a Gigabyte board), it still gets stuck at the Apple logo. I don't know what to do. Maybe someone who has proper xcpm implemented on a rig with an i7 5820K and a Gigabyte board can shed some light. I could simply copy their settings verbatim...
 
Followed this guide for my PC.

i7-5820k
MSI X99s SLI Plus
980TI
850EVO

Had some issue's when transfering from the USB to the internal SSD, but eventually everything worked fine.

Nvidia web installer also worked fine and everything is working smooth on a 4k screen + 1080p screen. Thanks for the guide!
 
  • Like
Reactions: kgp
I agree that xcpm will not run on 10.13 using 10.12 xcpm_bootstrap entries. However, even after copying the BIOS settings given in your guide (copying ASUS settings as faithfully as possible on a Gigabyte board), it still gets stuck at the Apple logo. I don't know what to do. Maybe someone who has proper xcpm implemented on a rig with an i7 5820K and a Gigabyte board can shed some light. I could simply copy their settings verbatim...

The Haswell-E xcpm_bootstrap and cpuid KernelToPatch entries are still valid and correct. You did not answer on my CPU Type question! Also boot with boot flag -v to exactly see what happens!
 
All IN ONE SSDT FOR X99
#You have to rename device first.
#you can rename DSDT or Clover config
#After rename devices you have to patched (X99_comfile and sleep) your DSDT.
I am so happy to made this SSDT map for X99.Its very smooth an clean boot.
Don’t install my SSDT and DSDT please make for your own DSDT and SSDT.

Enjoy:p

#Rename info_1

#If you have GPU card in slot BR3C
# 1. Under Device BR3C - Verify IOReg/H000
# 2. Rename device H000 to device GFX1
# 3. Rename device H001 to device HDAU (Nvidia/AMD HDMI audio)
# 4. Enter Compile
# 5. Look Compile summary just click each red line and Insert H00Y and HDA1(SSDT Rename GFX1 and HDAU).

#Maintained by: N.Mano

#Rename info_2

#If you have wifi card in slot BR2A
# 1. Under Device BR2A - Verify IOReg/H000
# 2. DSDT_Rename device H000 to device ARPT



#Maintained by: N.Mano

#Rename info_3
#If you have FireWire IEEE-1394a in slot BR1A
# 1. Under Device BR1A - Verify IOReg/H000
# 2. DSDT_Rename device H000 to device PCIA


#Rename info_4
#if you have NVMe SSD Controller SM961 in BR3A SLOT.
# 1. Under Device BR3A - Verify IOReg/H000
# 2. DSDT_Rename device H000 to device NVME
 

Attachments

  • X99_SSDT_ALL IN ONE.zip
    3.6 MB · Views: 115
  • Screen Shot 2017-10-24 at 9.10.09 AM.png
    Screen Shot 2017-10-24 at 9.10.09 AM.png
    254.5 KB · Views: 124
  • Screen Shot 2017-10-24 at 8.24.01 AM.png
    Screen Shot 2017-10-24 at 8.24.01 AM.png
    325.2 KB · Views: 127
  • Like
Reactions: kgp
Status
Not open for further replies.
Back
Top