- Joined
- Jan 19, 2015
- Messages
- 92
- Motherboard
- Asus X99A-USB3
- CPU
- Intel Core i7-6850K
- Graphics
- Asus Strix 970
[SUCCESS] 12-core X99 Hackintosh Pro build
Concept
I need a new machine to do compilation and rendering jobs. But my 2014 rMBP is slow as a junk. I love the design of the Mac Pro, but it's too expensive and out-dated. So why not build a Hackintosh Pro with 12 cores myself?
This guide is written after 2 months I finished my build and I can confirm it's golden enough to use in production.
Warnings
Build
Installation
Making installation USB stick
Preparations:
Running installer
Bootloader
OS X should be correctly installed on your system volume, but it cannot be loaded yet. A EFI boot loader , such as Clover, is required.
Make a bootable EFI USB loader
Install EFI to local disk
Run the same process above, but do choose your local disk as target. The config.plist will be edited later.
Post-installation
After installation, what is working:
The final config.plist is in the attachment, but it cannot be directly applied to your system. You have to patch and edit config.plist step by step.
Graphics
GFX970 is easily handled by nVidia Web Driver. Just remember to remove nv_disable=1 and add nvda_drv=1 in bootflags.
Boot flag now, shoud be -v -f npci=0x2000 kext-dev-mode=1 PCIRootUID=1 nvda_drv=1 dart=0 debug=0x14e.
Audio
X99 audio can be enabled by the patch provided by toleda. Detailed documents:
My steps:
Trim support
Trim support can be enabled by kext patch. Edit config.plist in Clover Configurator, in KextPatch, adding:
Performance Tuning
With no doubt, buyers of X99 platform want extreme performance. However, lack of native power management makes it hard for Haswell-E CPUs to show its best performance.
I've done a lot of reading and experimentation and finally settled done using NullPowerManagement.kext and disabling steepstep in BIOS.
And I noticed a lot logs about xhci and VMware is so slow that it's not usable anymore. Fixed by using using GenericUSBXHC.kext.
Geekbench in Yosemite 10.10.5 shows slight higher scores than in Windows 8.1. Overall performance is about 95% of the current 12-core MacPro.
If you are building something like Hackintosh Pro, I think Z97 platform is already powerful enough and much more compatible with Mac OS.
Some optimistic opinions:
Other fixes
Backup
Concept
I need a new machine to do compilation and rendering jobs. But my 2014 rMBP is slow as a junk. I love the design of the Mac Pro, but it's too expensive and out-dated. So why not build a Hackintosh Pro with 12 cores myself?
This guide is written after 2 months I finished my build and I can confirm it's golden enough to use in production.
Warnings
- I take no responsibilities for the consequences or outcomes of instructions and advice in this article. Take any actions at your own risks.
- Try not to overclock your CPU by boosting base frequencies, which may leads to damages on your PCI devices like SSDs.
- NVMe SSD like SM951, Intel 750 are not currently supported by OS X.
- Disable auto system update in App Store, or it may break your X99 build.
- Backup the whole volume before doing anything risky or you will cost hours to re-install.
- If you are not so eager for multi-core performance, just stick to 5920K or 5930K, for it's much, much easier to install with these CPUs.
- If you are confident about your overclocking skills, choose 5960X for better single-core benchmarks and real world performance.
- If it's your first hack, don't try X99. Z97 is already good enough, and runs much better in Mac OS.
Build
- Xeon E5-2676 v3, OEM version, similar to E5-2670 v3. Don't ask me how to get it.
- Asus X99-A-USB31, cheapest X99 from Asus?
- Samsung SM951 256GB ACHI, cheapest PCI-E 3.0 SSD on the market?
- SanDisk Extreme Pro 960GB, project workspace, legacy item
- Seagate ST3000DM001 3TB, archive disk, legacy item
- Intel 520 SSD 120GB, for Windows 8.1, legacy item
- Asus Strix 970, used item from a local dealer
- BCM94360 AC wifi + BT4.0, PCI-E card, newly purchased
- Corsair Air 540D, newly purchased
- Corsair AX860, newly purchased
- Corsair HX110, used item, from a local dealer
- LG 31MU97-B Cinema 4K, newly purchased
Installation
Making installation USB stick
Preparations:
- Yosemite 10.10.5
- USB stick x2
- UniBeast
- Kext Wizard
- Clover
- Clover Configurator
- Format your first USB stick, choosing MBR and MacOS Extended Jorunaled format, with partition name USB.
- Use UniBeast to make installation USB
- Copy all files in attachment to the installer USB
- Remove all kexts files in /Volumes/USB/Extra/Extensions
Code:sudo rm -rf /Volumes/USB/Extra/Extensions/*
- Replace stock kexts and install new kexts to /Volumes/USB/System/Library/Extensions using Kext Wizard
- AppleACPIPlatform.kext, from Maverick
- IOPCIFamily.kext, from Maverick
- fakesmc.kext
- VoodooTSCSync.kext
- Should change the value of IOCPUNumber to Number of CPU cores - 1
- Change bootflags in /Volumes/USB/Extra/org.chameleon.Boot.plist to kext-dev-mode=1 -v -f npci=0x2000 PCIRootUID=1 nv_disable=1 dart=0 debug=0x14e
- Kernel patch by Stinga11 is no valid and Yosemeti 10.10.3+ requires no kernel patch at all
Running installer
- Boot to USB installer we made. It should enter Mac OS installer.
- Complete installation, with all default settings.
- After first restart, boot into USB installer again, instead of newly installed system.
- We have to replace kexts again:
- Choose Utilities, Terminal in menu bar to show command line interface
- (Supposing volume label of newly installed system is Hackintosh) remove two kexts in /Volumes/Hackintosh/System/Library/Extensions: IOPCIFamily.kext and AppleACPIPlatform.kext
Code:rm -rf /Volumes/Hackintosh/System/Library/Extensions/IOPCIFamily.kext rm -rf /Volumes/Hackintosh/System/Library/Extensions/AppleACPIPlatform.kext
- Install new kexts
Code:cp -R /Volumes/USB/replaced_kexts/* /Volumes/Hackintosh/System/Library/Extensions/
- Exit console by choosing Terminal, Quit Terminal in menu bar
- Lastly , permissions repair is required * Choose Utilities, Disk Utility. Select the system volume and click Repair Permissions.
- Wait for the repairing job, and then exit
- We have to replace kexts again:
Bootloader
OS X should be correctly installed on your system volume, but it cannot be loaded yet. A EFI boot loader , such as Clover, is required.
Make a bootable EFI USB loader
- Format your second USB stick, choosing GUID and Mac OS Extended, Journaled
- Run Clover installer to install clover boot loader to this USB
- Customized setup according the screenshots below
- Replace config.plist with the config_bootloader.plist in my attachment.
- Copy FakeSMC.kext to /Volumes/EFI/EFI/CLOVER/kexts/10.10
- Copy HFSPlus-64.efi to /Volumes/EFI/EFI/CLOVER/drivers64UEFI
- Delete VBoxHfs-64.efi in /Volumes/EFI/EFI/CLOVER/drivers64UEFI
Install EFI to local disk
Run the same process above, but do choose your local disk as target. The config.plist will be edited later.
Post-installation
After installation, what is working:
- 12 cores and 24 threads
- Restart, suspend
- BT + Wifi
- SSDs and HDD
The final config.plist is in the attachment, but it cannot be directly applied to your system. You have to patch and edit config.plist step by step.
Graphics
GFX970 is easily handled by nVidia Web Driver. Just remember to remove nv_disable=1 and add nvda_drv=1 in bootflags.
Boot flag now, shoud be -v -f npci=0x2000 kext-dev-mode=1 PCIRootUID=1 nvda_drv=1 dart=0 debug=0x14e.
Audio
X99 audio can be enabled by the patch provided by toleda. Detailed documents:
- http://www.tonymacx86.com/yosemite-...mporary-guide-os-x-10-10-a-23.html#post909616
- https://github.com/toleda/audio_CloverALC
My steps:
- audio id injection using plist, and restart to verify audio id
- apply kext patch using plist
- patch codec using audio_cloverALC-110.command, and restart
- Onboard audio should be okay
Trim support
Trim support can be enabled by kext patch. Edit config.plist in Clover Configurator, in KextPatch, adding:
- Name: IOAHCIBlockStorage
- Find: 4150504C452053534400
- Replace: 00000000000000000000
- Comment: Trim support
Performance Tuning
With no doubt, buyers of X99 platform want extreme performance. However, lack of native power management makes it hard for Haswell-E CPUs to show its best performance.
I've done a lot of reading and experimentation and finally settled done using NullPowerManagement.kext and disabling steepstep in BIOS.
And I noticed a lot logs about xhci and VMware is so slow that it's not usable anymore. Fixed by using using GenericUSBXHC.kext.
Geekbench in Yosemite 10.10.5 shows slight higher scores than in Windows 8.1. Overall performance is about 95% of the current 12-core MacPro.
If you are building something like Hackintosh Pro, I think Z97 platform is already powerful enough and much more compatible with Mac OS.
Some optimistic opinions:
- With future support of X99 platform, it should perform better the today and easily excell the current 12-core MacPro, which is the case in terms of raw CPU power.
- X99 build is much more upgradable than MacPro. Think about graphic cards, RAID card, 10GBe, memory and SSDs.
Other fixes
- Ethernet is enabled by AppleIntelE1000e.kext
- My Wifi+BT card is working out-of-box with Hand-off, Airdrop enabled
- I don't like iMessage on my workstation, so iMessage fix is not done
Backup
- One backup is not always sufficient. My advice is to do regularly TimeMachine backup once a week and do a volume backup using Ghost or Partition Manager once a month and before any system update.
- Use both offline and online backup
- TimeMachine backup on a NAS or TimeCapsule is a good solution for online backup. But like any other system, TimeCapsule and NAS (even in RAID0) may fail and lose all backup data. This happened to more than once.
- Do a whole disk dump to your archive disks and put these disks in a safe box in appropriate environment. These archive disks should not connected to any other systems unless it's doing a backup or restore operation.