Building a Hackintosh with OpenCore v0.5.5
Just buy an iMac
I’m a fan of MacOS; it looks nice and is generally easy to use. However, I’m not a fan of Apple’s desktop hardware. None of Apple’s desktop lineup, except for the Mac Pro perhaps, have GPUs suitable for gaming.
- Mac Mini: only has an iGPU
- iMac: rx580 (old)
- Mac Pro: too expensive
Apple suggests using an external GPU to boost graphics performance, but this requires buying a ~$300 GPU enclosure and suffering a 5% to 30% performance penalty. Nvidia makes the best gaming GPUs, but their latest cards are not supported by MacOS because Apple’s managers hate Nvidia’s managers.
Apple doesn’t sell a decent gaming machine, but a Hackintosh should support new AMD GPUs (and any Nvidia hardware if dualbooting Windows).
Hardware
- Motherboard: z390 Designare
- CPU: Intel i9 9900k
- GPU: 5700XT
- NVMe: Silicon Power A80
- Case: Cerberus X
- PSU: Corsair SF750
- Case fans: Noctua NF-A12x25
- CPU fan: Noctua NH-C14S
- DDR4: 32GB
The OpenCore experience
Some say building a Hackintosh is “easy” and suggest it to non-technical consumers interested in MacOS. Here are some of the tasks one is expected to do during an OpenCore install:
- Edit XML
- Manually mount a partition of a USB drive
- Select drivers, quirks, and other config appropriate for your hardware (e.g. does your motherboard require the AWAC patch)
- Compile and decompile binary config files
- Troubleshoot without error messages or stacktraces (blackscreens)
- Dump a memory map and perform various hexadecimal calculations
On the brightside, there is enough documentation and tools that success is reasonably likely provided you go slow, follow the OpenCore vanilla guide, refer to the OpenCore manual, and are ready for a lot of trial and error.
Miscellaneous tips:
- Start with DEBUG builds whenever possible.
- Try to understand every single line of
config.plist
. When in doubt, refer to both the Vanilla Guide and OpenCore manual (both contain info the other lacks). - Use ProperTree to edit
config.plist
if unsure of the proper syntax (although I mostly used a text editor) - Disable iGPU in BIOS and add
slide=0
to boot options inconfig.plist
if experiencing “Couldn’t allocate runtime area errors?" - Add
agdpmod=pikera
boot option toconfig.plist
if using a new AMD GPU and experiencing blackscreens after a specific point during boot - Use a MacOS machine to build your EFI. Windows also works, but I had a few problems with it mangling kexts.
Worth the trouble?
At this point, I’d say no. Getting OpenCore running was an interesting puzzle, but I find it hard to trust a computer built on a rootkit cobbled together from random binaries distributed anonymously over the Internet. But OpenCore is opensource, so going through the code and compiling locally should satisfy any security concerns. Ah…this might be the point where the time and effort is too great. I plan on digging deeper into OpenCore, but there are decent odds of a Mac Mini at the end of it.