During my work on the Colorcast app, I was testing ProRes decoding into 16 bit Metal textures instead of the usual 8 bit Core Image workflow. After all if you have an expensive camera that can record ProRes in 10 or 12 bit, you don't want your color correction app to downgrade your footage to 8 bit and thus loose a lot of color information. From a development perspective, getting this to work with Apple APIs is not easy and involves developing custom Metal shaders.
Aside from that, the performance I was getting on my iMac 5k (late 2014) and on my MacBook Pro (mid 2015) was not great. Playback didn't come any close to realtime. I first attributed that to the slow graphics chips Apple is integrating into their lineup traditionally, but more testing revealed that the actual bottleneck is I/O bandwidth and RAM speed. It was clear to me that my iMac was simply not suited for 4k color editing. It was time for a new beefy machine. After some research later I narrowed it down to 2 options, either get the new 2017 iMac 5K or the new iMac Pro. I don't know anybody that owns a 2017 iMac 5k and the iMac Pro isn't out yet. So I wasn't able to test performance on an actual machine and get a better understanding of what is really needed here.
After comparing hardware specs and configuring it out in the Apple Online Store, it really came down to the price. A new iMac 5K would have cost me 3600 EUR. The new iMac Pro with a 1TB SSD option would likely have cost me 5800 EUR. After seeing these prices, I also configured a true high-end PC that contains a mix of both models. This machine came down to 2300 EUR excluding the display. If you add a really high-end 10bit HDR display you end up with 3700 EUR for the PC, however the PC contains an RX Vega 64 graphics card (11 tflops) and the iMac comes with a Radeon Pro 580 (6 tflops).
Very quickly I ruled out the new iMac Pro. It is way too expensive and really overkill for my purposes aside from the fact that it's a new design and who knows what's wrong with it and its thermal footprint. So the decision came down to a new iMac or the PC. I did a lot of research into the Hackintosh thing and it seemed to me that it's possible to build a really great PC and run macOS on it and get a GPU performance that is unheard of in Macs (said but true). So I figured the risk was worth it.
Here's a complete list of all components I used for the build:
- Gigabyte GA-Z270X-UD3 motherboard
- Intel Core i7 7700K 4.20GHz processor
- Gigabyte Radeon RX Vega 64 graphics card
- Samsung SSD 960 PRO Series NVMe 1TB
- Corsair AX Series AX760 power supply
- 32GB Crucial Ballistix Sport LT DDR4-2400 DIMM RAM
- Noctua NH-D15 Tower cpu fan
- TP-LINK Archer T9E AC1900 WLAN Dual Band PCI-E Adapter
- IOGEAR gbu521 W6 Bluetooth 4.0 USB
- Corsair Carbide Quiet 400Q case
That's a lot of stuff and you have to assemble everything youself. In my case I must say that my last PC build was over 20 years ago and I really didn't have any idea what I was doing. However after reading through the manuals and watching a couple of YouTube videos, I managed to assemble the thing in about 3 hours (PC guys are now rolling their eyes). Turning it on for the first time and not starting a fire was a really great feeling. The system installation process is fairly simple, at least with the hardware configuration above.
Here's quick rundown of the installation process:
- Download macOS 10.13.2 from the App Store.
- Copy the installer onto a USB thumb drive using a special tool inside the installer package.
- Download the latest Unibeast from the tonymacx86.com website.
- Use Unibeast to add the EFI bootloader to the USB thumb drive.
- Setup your BIOS correctly.
- Start the macOS Installer from the bootable USB thumb drive.
- Format your hard drive using Disk Utility.
- Continue installing macOS High Sierra.
And that's pretty much it. There are a couple of details you need to know for troubleshooting (like preventing APFS conversion, FakeSMC, EFI mounting, etc.), but writing all this down is too much for this blog post and shouldn't be necessary anyway with this build. The Hackintosh booted without any problems.
The graphics card is working out-of-the-box with caveats. Apple is adding support for the RX Vega 64 right now and the driver is improving with every macOS release. Prior to 10.13.2 it head some OpenGL bugs, which are fixed now. However the GPU fans are still spinning at full speed and the PC is restarting occasionally when using the GPU extensively like with the Unigine Valley benchmark. 9to5mac had similar issues with the Vega 64 mounted inside an external Thunderbold enclosure.
I also could not get the on-board audio to work unfortunately. Sound preferences is displaying audio ports, but neither input nor output audio works. I managed to get it working through a simple USB thumb audio interface. Wifi using the TP-Link PCI card also works flawlessly. There is really no need to install any additional kexts.
I am quite happy with it so far and I hope the remaining GPU issues get fixed with the next macOS updates. I have yet to test bluetooth, but from what I read it shouldn't be a problem to get Handover and AirDrop to work (at least as bad as on the Mac). I also still have to test Colorcast, my color correction app on the new hardware. If you like to get updated on my hackintosh build, you can subscribe to my updates on Twitter.