Enter Hackintosh

Given Apple’s obvious lack of Mac updates, it’s no surprise a lot of professionals (developers in particular) are looking into building their own Hackintosh. I’m one of them.

In fact, I’m writing this post on my several-week-old Hackintosh, which has become my primary workstation for my home office. On it, I do all my software development and anything else I normally do at my desk. My previous primary computer is a mid-2014, 15” Retina MacBook Pro with 16GB of RAM (the maximum amount of RAM it and its brand new replacements can hold). The MacBook Pro rarely left my desk, so I had been considering going back to a desktop for awhile. I’m not alone. In this Ars Technica article titled Modern “Hackintoshes” show that Apple should probably just build a Mac tower, many professional Mac users (yours truly included) are quoted on their reasons and experiences with building and using Hackintoshes.

What’s a Hackintosh?

A Hackintosh is just a custom-built PC running macOS. The devil is in the details, of course. Much research is needed to make sure the components you select are compatible with Apple’s drivers (or there are kernel extension patches or alternative drivers available). Some technical expertise is most definitely needed for this.

Not only should you know your way around building custom PCs, but you should also be good at editing configuraiton files, troubleshooting system crashes and boot failures, as well as BIOS configuration (and possibly firmware updating) and a host of other things. In short, you should be an experienced computer technician with specific knowledge in macOS.

One last caveat: You shouldn’t apply system updates from Apple without first checking with your favorite Hackintosh community full of brave individuals who test the updates so you don’t have to. Why? Because system updates can completely break compatibility with your carefully crafted set of hacks. The wise updater waits at least a few days, reading the forums looking out for reported issues with the hardware and software you use (such as your boot loader, a kernel extension - or kext - patch for your specific hardware, NVIDIA GPU driver issues, etc.). Unless it’s a critical security patch you likley don’t need to update so immediately. Wait. Read. Make an informed decision. Or, you know, back up the hell out of your entire system (including EFI boot partition).

My Hackintosh

So why’d I build one? That one’s easy (and cited in the article I linked above): I was considering a desktop. I didn’t want to wait (and pay premium prices) for Apple’s promised “sometime in a year or so” modular Mac Pro. I also didn’t want to spend a shit-ton of money on a still-highly-valued used Mac Pro from 2013 with specs easily outdone by a modern PC for half the price. So I “innovated” (by copying instructions read by more enterprising individuals.

More interesting is what I built.

I wanted what most professionals want: an upgradable investment in the future. Pros are willing to pay top dollar for quality tools they can use hard for a long time. Developers in particular (the ones I know or follow on Twitter, anyway) want a computer that is reasonably future-proof for at least a few years if they’re to lay out a few thousand dollars. It’s not an unreasonable expectation. Xcode, VMWare Fusion, and associated development tools are memory hogs. Compiling large projects with many source files benefit from more cores and reasonably fast read/write storage speed. With that in mind, I built the following:

  • ASUS Z170-WS Motherboard
  • Intel Core i7 6700 4.0Ghz Quad Core
  • 64 GB DDR4 RAM
  • EVGA (NVIDIA) GeForce GTX 1050 Ti SSC 4GB GPU
  • 2 250GB SATA III solid state drives (system drive arrayed in RAID0)
  • 1 16GB SATA II solid state drive (cheap, needed for EFI boot of a RAID system volume)
  • 1 1TB SATA II HDD (Time Machine and long-term storage volumes)
  • Fenvi Wifi (802.11 A/B/G/N/AC) / Bluetooth (4.0 / BLE) Card
  • A liquid cooler for the CPU
  • A “Snow/Silent” 750 Watt modular power supply
  • Thermaltake open-air modular (wall-mountable, will do in the future) case

I chose the motherboard because it’s 7th-generation-CPU-ready (for when Hackintoshes finally support them) so I can grow a bit even in CPU terms. It also has plenty of PCIe slots and even a few M.2 NVMe slots I plan to use in the future when they’re better supported on Hackintoshes. It’s got plenty of SATA and USB ports, too. It did turn out to have some unfortunate bandwidth sharing issues between SATA ports, which I discovered only by reading the manual (despite a week of debating boards while poring over the published specifications).

The RAID 0 choice is apparently controversial due to there being no protection (it’s striped, but not mirrored) - if you lose one SSD, you lose the array. This doesn’t bother me since the same thing can happen to a single-drive volume and I have three levels of backups (one off-site). The benefit is that the striped configuration doubles both the read/write speed and the storage capacity since both drives are exactly the same model. This gives me a system volume with 12GB read/write speed and 500GB of space. I’m fine with that.

I originally intended to go with M.2 NVMe SSDs to take advantage of the speed boost of the 2 onboard motherboard ports but the bandwidth limitations I mentioned above prevented this from being an effective solution for a RAID0 volume. These are chipset limitations so no future firmware updates from ASUS will address this. I suppose when NVMe storage prices come down I can buy a single 500GB or 1TB unit and use the port that doesn’t share bandwidth as my system volume and shuffle things around for faster backups. For now, I’m happy enough with what I’ve got.

I used tonymacx86.com extensively for my research and subsequent troubleshooting. The majority of the process was easy as hell for me. I had some issues with the GPU that turned out to be the old display I was using until my nice new one showed up. That was days of fun practicing my curse words.

So what did it all cost me? Ignoring the display, Apple Magic Keyboard 2, Magic Trackpad 2, and Magic Mouse 2 (I like options), just over $2100. Picture time? Oh, yes.

The Build

The open-air Thermaltake case is very modular with many mounting options (additional parts for these options are in its box in storage). I love that the parts I wanted most all fit with the white/black/chrome motif. I also wanted all the lights to be blue. So of course I had to buy LED-bedecked RAM. I also bought a blue LED light strip for the inside. A few on-board LEDs on the motherboard are blue but the status and power buttons onboard are bright red and orange (eww), so I placed a cut piece of white plastic wire conduit over them (visible above the power supply). It just hangs there so it can be easily removed for diagnostics.

The cooler head pulses a lazy white (not easily seen in the picture above) as it circulates, pulsing longer as it works harder, giving the illusion of breathing. The cooler’s radiator fans, when they do slightly increase in RPM, are still barely audible, like a soft sigh.

I also added some high-quality aluminum fan covers and replaced Thermaltake’s acrylic faceplate with a smoked tempered glass aftermarket replacement. It looks quite a bit nicer, in my opinion. Hey, some guys spend money making their automobile hotrods look pretty; I spent money making my computer hotrod pretty. Don’t judge me.

I’m very happy with this build and use it every day. Xcode and VMWare Fusion haven’t even made it break a sweat yet. Highly recommended!