- Joined
- Apr 28, 2011
- Messages
- 909
- Motherboard
- Asus Prime Z690M-Plus D4
- CPU
- i7-12700KF
- Graphics
- RX 6600
- Mac
- Mobile Phone
Giacomoleopardo's Workstation Triplet
Intel® Core™ i7-6900K Processor - Asus X99-A II - EVGA GeForce GTX 980 Ti HYBRID GAMING
macOS Sierra 10.12.3 UEFI Clover step by step install method
Intel® Core™ i7-6900K Processor - Asus X99-A II - EVGA GeForce GTX 980 Ti HYBRID GAMING
macOS Sierra 10.12.3 UEFI Clover step by step install method
Components
Asus Asus X99-A II Motherboard
https://www.amazon.com/dp/B01F854XAY/
http://www.newegg.com/Product/Product.aspx?Item=N82E16813132830
Intel® Core™ i7-6900K 20M Broadwell-E 8-Core 3.2 GHz LGA 2011-v3 140W
https://www.amazon.com/dp/B01FJLAIG0/
http://www.newegg.com/Product/Product.aspx?Item=N82E16819117645
EVGA GeForce GTX 980 Ti 06G-P4-1996-KR 6GB HYBRID GAMING
https://www.amazon.com/dp/B00Z0UX8TA/
http://www.newegg.com/Product/Product.aspx?Item=N82E16814487144
Carbide Series® Clear 400C Compact Mid-Tower Case - Corsair
https://www.amazon.com/dp/B017XPP9KK/
http://www.newegg.com/Product/Product.aspx?Item=N82E16811139072
2x CORSAIR Vengeance LPX 32GB (2 x 16GB) DDR4 SDRAM DDR4 3000 (PC4 24000) Desktop Memory Model CMK32GX4M2B3000C15R
https://www.amazon.com/dp/B01B1H2STG/
http://www.newegg.com/Product/Product.aspx?Item=N82E16820233986
Samsung 950 PRO Series - 512GB PCIe NVMe - M.2 Internal SSD (MZ-V5P512BW)
https://www.amazon.com/dp/B01639694M/
http://www.newegg.com/Product/Product.aspx?Item=9SIA12K3U60461
2x Samsung 850 PRO - 512GB - 2.5-Inch SATA III Internal SSD
https://www.amazon.com/dp/B00LF10KTO/
http://www.newegg.com/Product/Product.aspx?Item=N82E16820147361
Corsair Hydro Series H115i Extreme Performance Liquid CPU Cooler
https://www.amazon.com/dp/B019955RNQ/
http://www.newegg.com/Product/Product.aspx?Item=N82E16835181100
Corsair HXi Series, HX1000i, 1000 Watt (1000W), Fully Modular Power Supply, 80+ Platinum Certified
https://www.amazon.com/dp/B00M2UINT6/
http://www.newegg.com/Product/Product.aspx?Item=N82E16817139082
Gigabit Wireless Network Card BCM94360CD BT 4.0 802.11AC Dual-band
ebay
Asus ThunderboltEX II/DUAL Thunderbolt Adapter
http://www.amazon.com/dp/B000KS8S9W/
http://www.newegg.com/Product/Product.aspx?Item=N82E16817998020
Already owned
My three monitors:
- 27" Apple Cinema Display (MiniDisplay Port) - 2560 x 1440 - Audio via DisplayPort + USB
- 24" Apple Cinema Display (MiniDisplay Port) - 1920 x 1200 - no Audio
- 23,5 Asus VN247 (HDMI) - 1920 x 1080 - Audio via HDMI
- 24" Apple Cinema Display (MiniDisplay Port) - 1920 x 1200 - no Audio
- 23,5 Asus VN247 (HDMI) - 1920 x 1080 - Audio via HDMI
Apple Wired Keyboard
https://www.amazon.com/dp/B005DPF08E/
http://www.newegg.com/Product/Product.aspx?Item=9SIA37820R9906
My little skylake Hackintosh on ASRock Fatal1ty Z170 Gaming-ITX/ac + Intel® Core™ i7-6700
Comments
The story has been updated to the latest macOS Sierra (10.12.3 at the time of writing), guys! For reference, the original El Capitan install process has been moved to this post. That said let's go with the real deal, here.
Well, first of all, you're not sick, there are three computers above here.
Roma calling Milano, this time. Movie makers need power to work on a bunch of (amazing) projects. So I stepped in. Three identical machines with three different tasks (don't ask me: I'll find out in a couple of weeks in Roma). Oh, by the way: put into the vase an "old" Asus Z9PE-D8 WS Dual Socket with dual Xeon - E5-2687W 3,1 GHz in need of refresh, but this is another story...maybe next time.
Let's talk about hacking, here.
X99 motherboards are well known for the lack of support due to a total absence of Apple hardware. Nevertheless, a lot of guys (smarter than me) have reached stability and reliability. What we do know, is that PikeRAlpha has found a way to patch the Kernel for unsupported CPUs (Broadwell-E among them). Honestly, this is too much for my little knowledge. There are a few threads on insanelymac where this method has been successfully applied, but still: there are a lot of micro problems that could compromise the stability and the opportunity to update the system. I needed a workaround. Fast.
Then I found it (see next steps and credits).
Some other clarification:
- Movie making, rendering processes and no quadro GPUs? The bottom line was money first, furthermore post production guys told me they're already using a GTX 980. No need to exceed in Quadro GPUs . Well, I slightly disagree, but no need to argue: 980 Ti will do the job just fine, I trust them!
- The Samsung 950 Pro nvme will be the system drive, and they asked me precisely two sata SSDs 850 Pro in Raid 0 configuration due to 1 GB/s transfer rate.
- Pretty small case you would say, and firstly I thought the same thing, but I re-defined the internal ventilation. This picture talks for itself
- I had to study the PCI Express configuration and bandwidth sharing. First of all disabled ASMedia® USB 3.1 controller, which share bandwidth with the PCIe x16_2 and the PCIe x1_2. Since I don't need PCIe x1_2 nor usb 3.1 I decided to keep fully operational the PCIe x16_2. Furthermore the Asus ThunderboltEX II/DUAL (PCIe x4) works ONLY into the PCIe x16_4, but this one share bandwidth with PCIe x16_1. The only one working on PCIe gen 3.0 @16x is the PCIe x16_3. So here is my PCIe configuration
- The Samsung 950 Pro nvme will be the system drive, and they asked me precisely two sata SSDs 850 Pro in Raid 0 configuration due to 1 GB/s transfer rate.
- Pretty small case you would say, and firstly I thought the same thing, but I re-defined the internal ventilation. This picture talks for itself
PAY ATTENTION! These rigs are not meant to be updated to macOS Sierra 10.12.x for now. They need to work day and night. No further updates or any other sort of change. So this guide is El Capitan 10.11.6 based, period. Any suggestion is totally welcome to improve the performance or the stability, but keep in mind that in two weeks, I mean by the end of August 2016, I won't have them anymore.
What works
- SpeedSteps and Power Management - ONLY WITH SPECIFIC BIOS SETTINGS AND 3,5 GHz Turbo, no 4.0 nor Overclocking)
- Sleep, Autosleep and Wake
- Intel USB 2.0, 3.0 and ASMedia USB 3.1
- Thunderbolt II Dual controller (not tested, I don't have proper devices)
- Audio and HDMI Audio via HDMI and DisplayPort
- NVME protocol and performances
- Intel® I218V, 1 x Gigabit LAN Controller
- Dual Boot with Windows 10 Pro 64 bit
- Dual monitor is working plugging on first and last DisplayPort on this graphics card. I didn't have time to go deeper. Any suggestion about that (GFX1 on SSDT, or different PCI-e, or whatever could work and give us full multi-monitor support just like on El Capitan) would be more than welcome
- Sleep, Autosleep and Wake
- Intel USB 2.0, 3.0 and ASMedia USB 3.1
- Thunderbolt II Dual controller (not tested, I don't have proper devices)
- Audio and HDMI Audio via HDMI and DisplayPort
- NVME protocol and performances
- Intel® I218V, 1 x Gigabit LAN Controller
- Dual Boot with Windows 10 Pro 64 bit
- Dual monitor is working plugging on first and last DisplayPort on this graphics card. I didn't have time to go deeper. Any suggestion about that (GFX1 on SSDT, or different PCI-e, or whatever could work and give us full multi-monitor support just like on El Capitan) would be more than welcome
What doesn't work
- ASMedia® USB 3.1 controller, not needed for now
- Wake from sleep. Most of us knows that this feature is often tricky. On Sierra something is going to break it, but I didn't have that kind of time in Rome, to go deeper, I mean.
So basically almost everything works, yes, something with smart workaround, and something is native. That's hackintosh, right?- Wake from sleep. Most of us knows that this feature is often tricky. On Sierra something is going to break it, but I didn't have that kind of time in Rome, to go deeper, I mean.
Installation
IndexTools
Step 1 - Patch and update Bios
Step 2 - Bios configuration
Step 3 - Pre Installation
Step 4 - macOS Sierra 10.12.X installation
Step 5 - Post installation
Tools:
- Latest Asus X99-A II bios (Version 801 1401 at the moment)
- CodeRush's UEFIPatch (attached here, as well)
- Clover Bootloader Installer
- Clover Configurator
- MaciASL Open Beta
- IORegistryExplorer 3.0.X (google for it) or IOJones
- macOS Sierra install App
- 8 GB (at least) USB pen drive
- A working Mac or Hackintosh
- CodeRush's UEFIPatch (attached here, as well)
- Clover Bootloader Installer
- Clover Configurator
- MaciASL Open Beta
- IORegistryExplorer 3.0.X (google for it) or IOJones
- macOS Sierra install App
- 8 GB (at least) USB pen drive
- A working Mac or Hackintosh
Step 1 - Patch and update Bios
A wonderful feature that Asus implemented on this board is the Asus Bios Flashback. It allows to update bios without any kind of software, even without powering on the machine! Here are the steps.
- Download the latest proper bios
- Unzip UEFIPatch file, let's say, on Desktop (it's a folder, actually)
- Unzip the bios file and copy the X99-A-II-ASUS-1401.CAP file into the UEFIPatch folder
- Open Terminal and type "cd" (no quotes), leave a space and drag the UEFIPatch folder into the Terminal window, then press Enter
- Drag and drop the exec file UEFIPatch into the terminal window, and after that do the same with the X99-A-II-ASUS-1401.CAP file. Press enter and you will find a X99-A-II-ASUS-1401.CAP.patched file in the UEFIPatch folder: this is the patched (MSR 0xE2 unlocked) bios file!. The terminal window will be like this
- Now rename X99-A-II-ASUS-1401.CAP.patched into X99A2.CAP, that's because Bios Flashback process will read ONLY a .CAP file named in that way (at least for this motherboard, of course), and copy it onto a FAT formatted USB pen drive
- The last steps are explained in the motherboard manual: here's a picture of it
- As explained in post 130 on this very thread, you can find tons of infos about locked bioses here. To quote CodeRush this unlocking process allows "modern UEFI BIOSes from different vendors to prevent from locking MSR 0xE2 and therefore make the system with patched BIOS compatible with native OS X power management". Also PikeRAlpha gives us some relevant pieces of that here. A new bios version is out right now and you can do that with that version as well (1501).
At the end of it, basically, it will result in a better Power Management by macOS
- So, that's it: your motherboard has now an unlocked and updated bios.
- Unzip UEFIPatch file, let's say, on Desktop (it's a folder, actually)
- Unzip the bios file and copy the X99-A-II-ASUS-1401.CAP file into the UEFIPatch folder
- Open Terminal and type "cd" (no quotes), leave a space and drag the UEFIPatch folder into the Terminal window, then press Enter
- Drag and drop the exec file UEFIPatch into the terminal window, and after that do the same with the X99-A-II-ASUS-1401.CAP file. Press enter and you will find a X99-A-II-ASUS-1401.CAP.patched file in the UEFIPatch folder: this is the patched (MSR 0xE2 unlocked) bios file!. The terminal window will be like this
- Now rename X99-A-II-ASUS-1401.CAP.patched into X99A2.CAP, that's because Bios Flashback process will read ONLY a .CAP file named in that way (at least for this motherboard, of course), and copy it onto a FAT formatted USB pen drive
- The last steps are explained in the motherboard manual: here's a picture of it
At the end of it, basically, it will result in a better Power Management by macOS
- So, that's it: your motherboard has now an unlocked and updated bios.
Step 2 - Bios configuration
- Boot pc
- Press Del key to gain Bios settings
- Press F7 for Advanced Mode
- Go to Exit and load Optimized Defaults
- Ai Tweaker set
- Advanced\CPU Configuration\CPU Power Management Configuration set
- Advanced\USB Configuration set
- Advanced\Onboard Devices Configuration\SPDIF Out Type as HDMI
- Advanced\Onboard Devices Configuration\PCIEX16_2 Slot Bandwidth as X4 Mode (ASMedia USB 3.1 will be disabled) Auto
- Asmedia USB 3.1 Controller as Enabled (in macOS Sierra this controller is OOB)
- Advanced\Onboard Devices Configuration\RGB LED lighting as off (if you don't like to much led on the board)
- Advanced\Intel(R) Thunderbolt\Security Level as Legacy Mode
- Advanced\Intel(R) Thunderbolt\AIC Location Group as CPU0 NB PCIE Slot
- Advanced\Intel(R) Thunderbolt\AIC Location as NB PCIE X16_4
- Advanced\Intel(R) Thunderbolt\Thunderbolt PCIe Cache-line Size as 128
Thanks to BoomR for the info about Thunderbolt settings
Attention! The Thunderbolt section in BIOS\Advanced will be available only after you install Windows 10 and the Asus ThunderboltEX II/DUAL driver. Sorry guys, you have to find a Windows 10 installer and go through that.
- Boot\Setup Mode as Advanced Mode
- Boot\Boot Option #1 as Clover start boot.efi at Mac... or UEFI OS (that means OS X) --> Leave this last steps for the post installation
- Press Del key to gain Bios settings
- Press F7 for Advanced Mode
- Go to Exit and load Optimized Defaults
- Ai Tweaker set
- Ai Overclock Tuner Manual
- CPU Strap 100MHz
- BCLK Frequency 100.0
- ASUS Multicore Enhancement Disabled
- CPU Core Ratio Sync All Cores
- 1-Core Ratio Limit insert the value you wish: I found stability with a light overclock at 42 (that stands for 4200 MHz)
- Internal PLL Overvoltage Disabled
- Set your DRAM Frequency (2666MHz it's stable for me)
- Ai Tweaker\Internal CPU Power Management set- Enhanced Intel SpeedStep Technology Disabled
- Turbo mode Enabled
- Long Duration Package Power Limit set as TDP of your CPU (140 for Intel i7 6900K)
- Short Duration Package Power Limit set as TDP x 1,25 (175 for Intel i7 6900K)
- Advanced\CPU Configuration\CPU Power Management Configuration set
- Enhanced Intel SpeedStep Technology Disabled
- Turbo mode Enabled
- CPU C-State Enabled
- Enhanced C1 State Enabled
- CPU C3 Report Enabled
- CPU C6 Report Enabled
- Package C State Limit C6(non Retention) state
- Advanced\USB Configuration set
- Intel xHCI Mode Enabled
- EHCI Legacy Support Enabled
- xHCI Hand-off Enabled
- EHCI Hand-off Disabled
- Advanced\Onboard Devices Configuration\SPDIF Out Type as HDMI
- Advanced\Onboard Devices Configuration\PCIEX16_2 Slot Bandwidth as X4 Mode (ASMedia USB 3.1 will be disabled) Auto
- Asmedia USB 3.1 Controller as Enabled (in macOS Sierra this controller is OOB)
- Advanced\Onboard Devices Configuration\RGB LED lighting as off (if you don't like to much led on the board)
- Advanced\Onboard Devices Configuration\Serial Port Configuration as Off
- Advanced\Intel(R) Thunderbolt as ON- Advanced\Intel(R) Thunderbolt\Security Level as Legacy Mode
- Advanced\Intel(R) Thunderbolt\AIC Location Group as CPU0 NB PCIE Slot
- Advanced\Intel(R) Thunderbolt\AIC Location as NB PCIE X16_4
- Advanced\Intel(R) Thunderbolt\Thunderbolt PCIe Cache-line Size as 128
Thanks to BoomR for the info about Thunderbolt settings
Attention! The Thunderbolt section in BIOS\Advanced will be available only after you install Windows 10 and the Asus ThunderboltEX II/DUAL driver. Sorry guys, you have to find a Windows 10 installer and go through that.
- Boot\Fast Boot as Disabled- Boot\Setup Mode as Advanced Mode
- Boot\CSM (Compatibility Support Module)\Launch CSM as Disabled)
- Boot\Secure Boot\OS Type as Other OS- Boot\Boot Option #1 as Clover start boot.efi at Mac... or UEFI OS (that means OS X) --> Leave this last steps for the post installation
- Press F10 key to Save and RebootStep 3 - Pre Installation
We need to take care about a few things before the install process, to set up the USB install pendrive, such as:
- Preparing bootable USB pen drive with UEFI Clover
- Clover's config.plist file set up
- Kexts folder set up
- drivers64UEFI folder set up
Preparing bootable USB pen drive with UEFI Clover
- Make sure your Install macOS Sierra.app would be in Applications folder
- Plug your 8 GB USB in and open /Applications/Utilities/Disk Utility
- Open /Applications/Utilities/Disk Utility
- Highlight the USB drive in left column
- Click on the Erase upper button
- Scheme: GUID Partition Table
- Name: usb
- Format: Mac OS Extended (Journaled)
- Click Erase (lower right button)
- Open /Applications/Utilities/Terminal
- Type the following, enter password (even if you don't see anything typed) and hit enter. This command completely erases the USB, then creates native macOS installer media from the Install macOS Sierra Application.
Code:sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app --no interaction
- Upon completion, the USB will be renamed Install macOS Sierra
- Download the latest Clover installer from here
- Open Clover package installer
- Hit Continue, Continue, Change Install Location...
- Choose the USB, now called Install macOS Sierra
- Hit Customize and install Clover to the same USB with the following Custom Install settings:
- Please note that EmuVarableUefi-64, along the option Install RC Script on target volume are mandatory for this motherboard. As stated from pokenguyen in this thread, I found that on this motherboard the NVRAM is not stable and can't keep data after reboot. That leads to issues like random boot failures, as long as no drivers injected correctly, rather than a general instability of the entire system. Quoting Pokenguyen: "You can install this by select "Install RC Script to target partition" in Clover. This is how Clover Installer saved NVRAM (up to Clover 2711). It utilizes OS X’s feature of loading /etc/rc.local when booting up, and /etc/rc.shutdown.local when shutting down, Clover Installer added execute scripts to save log files into rc.local and save nvram.plist into rc.shutdown.local". So that's it. It works!
- The USB EFI partition will be mounted
- In the next steps we'll set up the EFI partition
Clover's config.plist file set up
With the help of Clover configurator we can easily set up the config.plist file.
Here are the steps:
- Open Clover Configurator and open EFI\EFI\CLOVER\config.plist
- Section Acpi\DSDT: add Rename ALZA to HDEF in Comment, 414C5A41 in Find* [Hex], 48444546 in Replace [Hex]. This will be mandatory for Realtek ALC Audio
- Section Acpi\Select Smart UPS and Halt Enabler in the lower left corner
- Boot Section:
- darkwake=0 to correct wake with just one hit with keyboard, or mouse or whatever
- flag on nvda_drv=1 and nv_disable=1 for unsupported nVidia Graphics Card (9xx Series)
- Timeout 20. This is important. I noticed that Clover "takes a while" during boot, to recognize all the PCIe lanes and/or devices. A lower Timeout or worse Fast option will often results in hanging on the
access denied sign. No worries, Clover, take your time! - npci=0x3000 flag (in some cases npci=0x2000 flag will be better)
- XMPDetection=No not sure about that. It might be not mandatory, as a matter of fact I need to inject memory data (see SMBIOS section)
- CPU section: set QPI to 100 and Type to 0x0A02 (for Broadwell-E processors)
- Devices section: set Audio on 1
- Gui section: I'm not sure about this settings to be mandatory. For me, this set up works, if you want to take a look.
- Graphics section: NOTHING, that's important. Injection are provided by nVidia web drivers and SSDT
- Kernel and Kext Patches:
- Flag on KernelHaswellE to bypass some MSR blocks for series-E CPUs (seems to work for Broadwell-E as well)
- FakeCPUID as 0x0306A0 to simulate supported Ivy Bridge CPUs. This would be non necessary if the Kernel would be correctly patched (an perhaps we would have full turbo steps and overclock AND power management!).
- Kext to Patch. AppleUSBXHCIPCI patch to remove the limit of 15 USB connections, IOPCIFamily patch by Brumbaer (no boot without it --> mandatory for Broadwell-E with no patched kernel), AppleHDAController patch working along the SSDT for ALC on board audio on X99 chipset, IOAHCIBlockStorage patch to enable trim, AppleHDA (three different patches) patches by toleda for Realtek Audio (along the previous mentioned AppleHDAController patch), a bunch of IONVMeFamily patches for Samsung 950 Pro M.2, provided by PikeRAlpha and Mork vom Ork
- Here's the text code for Kernel and Kext Patches section
Code:<key>KernelAndKextPatches</key> <dict> <key>AppleRTC</key> <false/> <key>AsusAICPUPM</key> <false/> <key>Debug</key> <false/> <key>DellSMBIOSPatch</key> <false/> <key>FakeCPUID</key> <string>0x0306A0</string> <key>KernelCpu</key> <false/> <key>KernelHaswellE</key> <false/> <key>KernelLapic</key> <false/> <key>KernelPm</key> <false/> <key>KernelToPatch</key> <array> <dict> <key>Comment</key> <string>_xcpm_pkg_scope_msr 10.12 © Pike R. Alpha</string> <key>Disabled</key> <true/> <key>Find</key> <data> vgcAAAAx0uiU/P// </data> <key>Replace</key> <data> vgcAAAAx0pCQkJCQ </data> </dict> <dict> <key>Comment</key> <string>_xcpm_SMT_scope_msrs 10.12 © Pike R. Alpha</string> <key>Disabled</key> <true/> <key>Find</key> <data> vgsAAAAx0uhZ/P// </data> <key>Replace</key> <data> vgsAAAAx0pCQkJCQ </data> </dict> <dict> <key>Comment</key> <string> reboot fix 10.12db8 © Pike R. Alpha</string> <key>Disabled</key> <true/> <key>Find</key> <data> VUiJ5UFXQVZBVUFUU1BBidZBifdIiftFhf8PhA== </data> <key>Replace</key> <data> w0iJ5UFXQVZBVUFUU1BBidZBifdIiftFhf8PhA== </data> </dict> </array> <key>KextsToPatch</key> <array> <dict> <key>Comment</key> <string>t1-10.12-AppleHDA/Realtek ALC...</string> <key>Disabled</key> <false/> <key>Find</key> <data> ihnUEQ== </data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data> AAAAAA== </data> </dict> <dict> <key>Comment</key> <string>t1-10.9-10.12-AppleHDA/Realtek ALC1150</string> <key>Disabled</key> <false/> <key>Find</key> <data> ixnUEQ== </data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data> AAnsEA== </data> </dict> <dict> <key>Comment</key> <string>t1-AppleHDA/Resources/xml>zml</string> <key>Disabled</key> <false/> <key>Find</key> <data> eG1sLnps </data> <key>Name</key> <string>AppleHDA</string> <key>Replace</key> <data> em1sLnps </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily IONameMatch</string> <key>Disabled</key> <false/> <key>Find</key> <data> PHN0cmluZz5wY2kxNDRkLGE4MDQ8L3N0cmluZz4= </data> <key>InfoPlistPatch</key> <true/> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> PHN0cmluZz5wY2kxNDRkLGE4MDI8L3N0cmluZz4= </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#6_7</string> <key>Disabled</key> <false/> <key>Find</key> <data> icGB4f8PAABIAdFIgfn/DwAAdzs= </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> icGB4f8BAABIAdFIgfn/AQAAdzs= </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#11</string> <key>Disabled</key> <false/> <key>Find</key> <data> AABJiY4iAQAAugAQAABIKQ== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> AABJiY4iAQAAugACAABIKQ== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#3</string> <key>Disabled</key> <false/> <key>Find</key> <data> AMeDpAAAAAAQAABIi0gISA== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> AMeDpAAAAAACAABIi0gISA== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#13</string> <key>Disabled</key> <false/> <key>Find</key> <data> 4b+AQBUGTYnWugAQAABFMQ== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> 4b+AQBUGTYnWugACAABFMQ== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#4</string> <key>Disabled</key> <false/> <key>Find</key> <data> SYnGTYX2dGFBwecMSWP/vg== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> SYnGTYX2dGFBwecJSWP/vg== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#12</string> <key>Disabled</key> <false/> <key>Find</key> <data> yAAAAEkp17gAEAAATYskJA== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> yAAAAEkp17gAAgAATYskJA== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#8</string> <key>Disabled</key> <false/> <key>Find</key> <data> SYHF/w8AAEnB7QxJiwQkSA== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> SYHF/w8AAEnB7QlJiwQkSA== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#9_10</string> <key>Disabled</key> <false/> <key>Find</key> <data> BgIAAEyNuAAQAABMiflIgeEA8P//SYmGGgEAAEmJjiIB AABBvAAQAABJKfQ= </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> BgIAAEyNuAACAABMiflIgeEA8P//SYmGGgEAAEmJjiIB AABBvAACAABJKfQ= </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#15</string> <key>Disabled</key> <false/> <key>Find</key> <data> Bf8PAABIwegMZvfB/w8PlQ== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> Bf8PAABIwegJZvfB/w8PlQ== </data> </dict> <dict> <key>Comment</key> <string>Change 15 Port Limit To 26 in XHCI 10.12</string> <key>Disabled</key> <false/> <key>Find</key> <data> g710////EA== </data> <key>MatchOS</key> <string>10.12.x</string> <key>Name</key> <string>AppleUSBXHCIPCI</string> <key>Replace</key> <data> g710////Gw== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#1</string> <key>Disabled</key> <false/> <key>Find</key> <data> ibPwAgAAweAMBQAQAACJgw== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> ibPwAgAAweAJBQAQAACJgw== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#5</string> <key>Disabled</key> <false/> <key>Find</key> <data> hv8PAABIwegMD7cPgeH/Dw== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> hv8PAABIwegJD7cPgeH/Dw== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#14</string> <key>Disabled</key> <false/> <key>Find</key> <data> iWTY+EmBxAAQAABJgccA8A== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> iWTY+EmBxAACAABJgccA8A== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#17</string> <key>Disabled</key> <false/> <key>Find</key> <data> RYTJD5XAD7bAweAMRAnYRA== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> RYTJD5XAD7bAweAJRAnYRA== </data> </dict> <dict> <key>Comment</key> <string>5960XPatch 10.12 by mano</string> <key>Disabled</key> <false/> <key>Find</key> <data> SIH7AAAAQA== </data> <key>MatchOS</key> <string>10.12.x</string> <key>Name</key> <string>IOPCIFamily</string> <key>Replace</key> <data> SIH7AAAAgA== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#16</string> <key>Disabled</key> <false/> <key>Find</key> <data> weIIQQ+2wcHgDEQJ0EQJwA== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> weIIQQ+2wcHgCUQJ0EQJwA== </data> </dict> <dict> <key>Comment</key> <string>IONVMeFamily Pike R. Alpha Patch#2</string> <key>Disabled</key> <false/> <key>Find</key> <data> D7aMiIIAAACD+QwPhTIBAA== </data> <key>Name</key> <string>IONVMeFamily</string> <key>Replace</key> <data> D7aMiIIAAACD+QkPhTIBAA== </data> </dict> <dict> <key>Comment</key> <string>TRIM Enabler</string> <key>Disabled</key> <false/> <key>Find</key> <data> AEFQUExFIFNTRAA= </data> <key>Name</key> <string>IOAHCIBlockStorage</string> <key>Replace</key> <data> AAAAAAAAAAAAAAA= </data> </dict> <dict> <key>Comment</key> <string>10.10-10.12+x99-ALC-Onboar-Audio</string> <key>Disabled</key> <false/> <key>Find</key> <data> oIw= </data> <key>Name</key> <string>AppleHDAController</string> <key>Replace</key> <data> II0= </data> </dict> </array> </dict>
- RT Variables section: BooterConfig set as 0x28 and CrsActiveConfig set as 0x67 (or 0x3). Check Tony's guide on this. For ROM and MLB fields I strongly recommend to read the iMessage Fix thread by jaymonkey or, at least, the brief version by P1LGRIM
- SMBIOS section: Use the magic wand to choose MacPro 6,1 and generate a valid serial number. Also recommended the iMessage fix guides. As you can see from the screenshot down here, I needed RAM injection
- System Parameters: Inject kext as Yes and select NvidiaWeb for 9 Series cards (Maxwell)
- Save File and quit
Kexts folder set up
Open EFI\EFI\CLOVER\kext\10.12 and copy the attached kexts
- FakeSMC.kext mandatory for any hackintosh
- IntelMausiEthernet.kext by Mieze for Intel® I218V, 1 x Gigabit LAN Controller
- NullCPUPowerManagement.kext unfortunately still mandatory in this case
- realtekALC.kext injected by toleda's script for Realtek Audio
- USBInjectAll.kext along XHCI-x99-injector.kext by RehabMan for USB 2.0 and 3.0
- VoodooTSCSync.kext for 6 or more cores CPUs. Please remember to check VoodooTSCSync.kext\Contents\Info.plist, that must be
Code:
<dict> <key>IOCPUNumber</key> <integer>15</integer> </dict>
- X99_Injector.kext to inject and activate AppleLPC
drivers64UEFI folder set up
- Open EFI\EFI\CLOVER\drivers64UEFI folder
- Download HFSPlus.efi from here and copy it in EFI/EFI/CLOVER/drivers64UEFI
- Remove VBoxHfs-64.efi from EFI/EFI/CLOVER/drivers64UEFI
- Download from here Test2-2016.efi by Nick Woodhams and put it into EFI\EFI\CLOVER\drivers64UEFI folder. Long story short: Clover seems to have some troubles with X99 systems allocating a lot of memory to PCIe devices. That results in random and quite disturbing hang on boot. More info here where Mr Woodhams found two solution: the first one is to delete from EFI\EFI\CLOVER\drivers64UEFI folder OsxAptioFix2Drv-64.efi (or OsxAptioFixDrv-64.efi) and replace it with his driver OsxAptioFix2Drv-free2000.efi. The second (good for me, it seems) is to add Test2-2016.efi to EFI\EFI\CLOVER\drivers64UEFI folder to work along the usual OsxAptioFixDrv-64.efi already installed by Clover itself. Please note that this is not the same problem I was talking about in Clover's config.plist file set up\Boot Section\Timeout 20, at least I guess they are not the same. Anyway: if you want to stay up to date, here's the Clover ticket still open.
ATTENTION! Due to possible issues with toleda's audio_CloverALC script for RealtekALC Audio that you'll need to run on post installation, I strongly recommend to delete from the Kext folder 10.12 attached, the realtekALC.kext file, plus, from config.plist attached, delete the three AppleHDA patch and the AppleHDAController one from Kernel and Kext Patches/KextToPatch. At first you won't have ALC Audio, but after run toleda's script, the realtekALC.kext file will be automatically put into EFI\EFI\CLOVER\Kext\10.12, the three AppleHDA patches will be in config.plist\Kernel and Kext Patches/KextToPatch as well, and the only thing you'll have left to do is to manually add the AppleHDAController patch you deleted before:
Name* AppleHDAController
Find* [HEX] A08C
Replace* [HEX] 208D
Comment 10.10-10.12+x99-ALC-Onboar-Audio
Here's the config for the USB drive without AppleHDA and AppleHDAController patches
The USB install drive is now ready to do the job. Jump to Step 4
Step 4 - macOS Sierra 10.12.X installation
- Power on and press F8 key to get Boot menu
- Boot from UEFI USB (Uefi name of your USB)
- Follow the install process until desktop. If you have nVidia Maxwell card (9xx series) your graphics acceleration will be disabled, don't worry, soon we'll take care about that!
- Copy on desktop the Clover installer package from Install macOS Sierra partition of the USB pen drive
- Open Clover package installer
- Install Clover on the main OS partition (from now on "Mac partition") with the same settings as above
- Mount USB EFI partition: open Applications/Terminal and type
Code:
diskutil list
Code:diskutil mount /dev/disk2s1
- Replace ACPI folder, kexts folder, drivers64UEFI folder and config.plist from USB EFI/EFI/CLOVER (usually White icon) to Mac EFI/EFI/CLOVER (usually internal icon or external orange one for some nvme drives)
- Download from here the latest nVidia Drivers for macOS Sierra, install them but DO NOT RESTART yet. Leave the nVidia installer open!
- Assuming that you have chosen Macpro6,1 System Definition, we need to take care about two mandatory things: Black Screen with MacPro 6,1 after reboot and MacPro 6,1 missing frequency vectors both thanks to the work of the usual PikeRAlpha (Thanks, man!). To fix the first one, there is a patch "on the fly" for Clover, but in my case that doesn't work, so the best solution is to inject directly /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist with shilohh's script. More info and other workarounds in his thread. So run the patch and DON'T REBOOT yet!
- For the second issue, proceed manually through these steps:
- Copy IOPlatformPluginFamily.kext from S/L/E to desktop, then copy it to another location (for backup)
- Delete IOPlatformPluginFamily.kext from S/L/E (password required)
- Empty trash
- Open from Desktop IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents and you'll find a lot of .plist files: frequency vectors instruction are stored in some of those files. Mac-F60DEB81FF30ACF6.plist (MacPro 6,1 board id) doesn't have. Mac-27ADBB7B4CEE8E61.plist (iMac 14,2 board id) does have!
- Copy Mac-27ADBB7B4CEE8E61.plist on desktop, rename it Mac-F60DEB81FF30ACF6.plist, then copy the new named file back into IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents replacing the original MacPro 6,1 file which doesn't have frequency vectors.
- Make sure no other kexts are on desktop besides our modified IOPlatformPluginFamily.kext
- Run KextBeast, run it and install in System/Library/Extentions
- Check in System/Library/Extentions: our modified IOPlatformPluginFamily.kext will be there!
- Place the attached CodecCommander.kext, unzip it, copy it on Desktop and run again KextBeast with the same location (System/Library/Extentions). This kext is necessary to avoid faulty Realtek ALC 1150 Audio after wake from sleep. In fact, it could be installed in EFI/EFI/CLOVER/kext/10.12, but that didn't work for me.
- EFI/EFI/CLOVER/config.plist with Clover Configurator and remove the nv_disable=1 flag: with nVidia Drivers, AppleGraphicsDevicePolicy.kext patched (PikeRAlpha patch --> shilohh script) we'll have full acceleration graphics after reboot.
- Reboot
Step 5 - Post installation
Last steps:
- Enable Realtek® ALC1150
- Enable HDMI Audio via nVidia Graphics Card
- Change nvme icon from external orange to internal
- Mount EFI partition of System disk: open Applications/Terminal and typeCode:
diskutil list
Code:diskutil mount /dev/disk0s1
- Connect the rig to internet, download from toleda's github repo audio_CloverALC-master, unzip audio_cloverALC-120.command.zip, run audio_cloverALC-120_v1.0f.command, a Terminal window will appear asking for password, type it (even if you don't see anything on Terminal), then type y for yes when the script asks you Confirm Realtek ALC1150 (y/n), again type y for Clover Audio ID Injection (y/n), once more type y for Use Audio ID: 1 (y/n). The result will be more or less like this
- Reboot and check System Preferences\Sound\Output
- No HDMI Audio via nVidia card? See next steps!
- Open IORegistryExplorer, in the upright corner search field type display0 and take a look at the results in the left column. As you can see from this picture, the NVDA device is in PCI0@0 > BR2A@2 > H000@0
- Download from toleda's github repo audio_hdmi_amd-nvidia-master, go to ssdt_hdmi-nvidia folder, unzip ssdt_hdmi-nvidia-BR3A.zip and open SSDT-HDMI-NVIDIA-BR3A.aml with MaciASL from the ssdt_hdmi-nvidia-BR3A unzipped folder.
- In MaciASL Find BR3A and Replace with BR2A (Replace All). Compile, Save and rename it SSDT.aml
- Put your custom SSDT.aml in EFI\EFI\CLOVER\ACPI\patched.
- Rebuild cache and repair pemission with my caches_rebuild.command attached to this post (password required)
- Reboot and check System Preferences\Sound\Output
- If your nvme drive shows up as external, toleda (based on PikeRAlpha's patch on nvme) found a workaround. Possible injection via Clover Patch on the fly (not working for me), add _DSM in DSDT.aml (don't have one) or the same injection via custom SSDT.aml. So if you're confortable with SSDT.aml, follow next steps.
- Open IORegistryExplorer, in the upright corner search field type nvme and take a look at the results in the left column. As you can see from this picture, the nvme device shows up in PCI0@0 > BR1B@1,1 > H000@0
- Note the values that are showing up for your device
- Now download my attached SSDT-1.aml.zip, unzip it and open SSDT-1.aml with MaciASL and customize the highlighted values as in the picture, based on what you found on IOReg
- Compile, Save and put your custom SSDT-1.aml in EFI\EFI\CLOVER\ACPI\patched folder
- Please note that if you have an SSDT.aml for Power Management (not necessary, unfortunately, here), you have to rename other SSDTs.aml in SSDT-1.aml, SSDT-2.aml, SSDT-3.aml etc...
- Rebuild cache and repair pemission with my caches_rebuild.command attached to this post (password required)
- Reboot and check nvme icon
CREDITS
- Tonymac - For gathering info on Clover installation, test thread on Thunderbolt Cards
- PikeRAlpha - Too many things to enumerate!
- Toleda - For great support, guides, and infos
- shilohh - For the very useful script
- jaymonkey - For iMessage solution and huge work
- Slice & co. - For the amazing Clover, what else?
- Mieze - For LAN kext and a lot of support
- Boomr - For useful info on Thunderbolth Cards
- Nick Woodhams - For the workaround AllocateRelocBlock Error
- Stinga11 - For useful info about X99 chipset
- Brumbaer - For his patch on Broadwell-E CPUs
- Silvia and Alan - For this opportunity
- Azimuth1 - For nothing. Just wanted to say hello! (useful man )
END
See next post for screenshots and updates
Attachments
-
CodecCommander.kext.zip23.9 KB · Views: 1,224
-
caches_rebuild.command.zip669.7 KB · Views: 1,254
-
SSDT-1.aml.zip297 bytes · Views: 1,209
-
UEFIPatch_0.3.9_osx.zip1.9 MB · Views: 1,073
-
config.plist.zip3.9 KB · Views: 1,265
-
X99A II kexts.zip142.1 KB · Views: 1,281
-
drivers64UEFI.zip79.8 KB · Views: 932
-
configUSB.zip3.9 KB · Views: 944
Last edited: