As 2018 opens before us, it’s worth noting the parlous state of the Mac desktop. Yes, we’ve just been introduced to the iMac Pro, but elsewhere things are grim.

The Mac Pro is a lame duck computer, un-updated for years while Apple has at least promised its replacement, albeit with no timeline.

The Mac mini is a farce. Last updated in October of 2014, even that update was a disappointment at the time. While Apple has said “it remains a product in our lineup”, I’m not holding my breath for an update in the near future.

The iMac, at least, is an active and loved product at Apple, last updated in June, 2017. But let’s face it, the iMac isn’t a great Mac to act as a home server, which brings me to the topic of this post.

My home server needs were being met by a mid-2010 Mac mini: a 2.4GHz Intel Core 2 Duo chip, 4 GB of RAM, and a later-upgraded 250GB SSD. It’s actually a pretty great little machine; plugged into a 2nd Generation Drobo via FireWire 800, it served up 7TB of video for my Plex server, in addition to working as a data cold store and backup destination.

But it’s been showing its age of late: I have family remotely hooking into my Plex server, and the CPU can’t keep up with three simultaneous transcoding jobs. It was definitely time to upgrade the machine.

Given the state of affairs that I’ve opened with, the idea of building a Hackintosh — a commodity PC running macOS — became very appealing. And now that it’s assembled and installed, here’s a little story on how it came together.

Picking the parts

I’ll just say right off the top that, thanks to tonymacx86.com, this whole process is dramatically easier than it’s been in years past. They offer everything you need to ensure a successful install, and that starts with the right parts. A Mac uses all the same parts that any PC uses, of course. But you have to choose the right ones that are either compatible with the drivers in macOS, or that can be supported by third-party drivers. My needs were pretty simple, since I was building a headless server. I wanted a fast CPU, a big RAM upgrade, gigabit Ethernet, and USB-C for my new Drobo 5C.

Using the Buyer’s Guide — updated monthly — I picked out the parts that met my needs. Here’s a #protip: use PC Part Picker to find the best pricing for your rig. I put together this parts list, which you can use as a starting point. As you can see, spending $730 (🇨🇦) for a brand-spanking-new Mac is a pretty sweet deal!

I ended up ordering no two parts from the same vendor, but they arrived within a couple weeks. Putting it all together was the work of 1-2 hours; I wish I’d taken pictures to show the snarl of cables in there, but it was pretty straight-forward. Once the power cables and data inputs were connected to all the components, and everything was mounted inside the case, it was time to plug it into my TV using the HDMI connector, dust off an old USB mouse and keyboard, and get it setup.

Installation

This was easily the most difficult and worrisome part of the process. The guide on TonyMacX86 is thorough, but I wasn’t immediately successful. Here’s a quick overview of how that went…

  1. First, you need to create a boot disk. Download macOS from the App Store, and then use it to create a bootable USB key (a USB drive won’t do!) using Unibeast.
  2. While that’s happening, setup the BIOS on the Hackintosh so it supports the features that macOS needs. They’re listed in the article, but can be difficult to find in the BIOS with its many layers of UI. I found this article helpful because it referred to the same BIOS as my Gigabyte motherboard.
  3. Once Unibeast has made your bootable install USB key, plug it in and startup from it. You have to pick it as the boot disk, but once you’re past that it looks and works like a real Mac! Go to Disk Utility, format the SSD, and then run the installer. I found that the machine would reboot more than twice, but it will ultimately finish the OS install.
  4. Here’s where it gets “fun”. While your SSD has macOS on it, you can’t boot into it because you need an operational EFI (Extensible Firmware Interface); this allows the disk to boot the OS. So you initially boot the hard disk from the USB key, and then, once on the Mac desktop, you run an app called MultiBeast to install the EFI and drivers that will allow you Mac to boot by itself.

Unfortunately, this final step never worked for me: the EFI was simply refusing to work, leaving the Mac stuck in a kernel-panic-reboot cycle. Ultimately, I ended up booting into the install key’s OS, opening Terminal, and copying the EFI partition from the USB key to the one on my SSD. In your face.

But now. Now, my friends, witness the firepower of this full armed and operational Hackintosh!

Meh, it’s just an ugly black box that sits in my basement by the router. But it works really, really well.

How well? Let’s finish with a benchmark. I used SunSpider, a WebKit benchmark that I ran on my current 5K iMac from 2015, my iPad Pro 12, and my new Hackintosh. Here are the results:

5K iMac: 125.6ms iPad Pro 12: 144.3ms Hackintosh: 102.1ms

Hot damn. I wish I’d thought to run this on my old Mac mini server, but I suspect the number would be quite a bit higher.