Why and how I went Hackintosh

I've been going through what you could call a transitional stage with my home setup this past half-year. From acquiring a few servers, to setting up my main home work machine as a Hackintosh, it's certainly been an interesting period. Most of these choices and projects come from the same place; I'm in need of certain functionality that I currently can either not afford, or is simply not available.
I went with the Hackintosh route because the current Mac offering is less ideal for my current needs, and while the now newly launched Mac Mini comes closer to what I would find usable, its lack of upgradability would require me to make a larger up-front investment, to avoid needing to upgrade down the line. It, too, is simply less ideal that you lose the ability to get some extra life out of your hardware by being able to upgrading its CPU or SSD, for example.

Hardware origin
I've had a PC at home for a while that was originally from where I work. This particular machine was used in the earliest of days as a test/dev box, and after we had moved on to not needing this and other machines any longer, I held on to this particular box for nostalgic reasons. I just had a hard time letting it be sold off for parts.
I originally had Windows 10 Home installed on the machine, and wasn't really using it for anything. I thought I'd be able to connect it up for some casual Windows gaming, but I rarely game these days and if I do, I prefer the convenience consoles offer in being able to just jump in for a quick game or two. So it mostly sat not doing anything, until earlier this year I needed a machine to develop personal projects on, and with it update my tech skillset, as I had been out of the proverbial loop for a while.

In this day and age, there are a multitude of powerful editors (and IDEs) available across different platforms, which is fantastic. This allows you to use the tool that works best for you, on the platform that works best for you. Unfortunately for me, Windows is not that platform. I used it for several months like this, and while I could get work done, I would constantly run into uncomfortable moments that mostly stem from my preference with using macOS more than Windows itself.
The Windows Subsystem for Linux (WSL) helps quite a lot in closing the gap actually, as it allowed me to run more tools in the environment native to them whilst still using Windows. I am pretty sure if it wasn't for WSL, I would've given up using Windows a lot longer ago.
But, Windows isn't the only option. So I tried Ubuntu. The funny thing is, as much as I love using Ubuntu for servers, it just never feels complete or right to me in a desktop environment. It was, impressively enough, more uncomfortable for me than using Windows 10. Yikes.
So then, I wondered, would macOS work?

Part 1: Could it even work?
I had built a Hackintosh once before, but this was about 9 years ago. I remember it being particularly challenging to find hardware that would work, and so I was curious to see if the hardware I had available would be compatible.
Original hardware configuration:
Hardware | Specs |
---|---|
Motherboard | Gigabyte GA-B75M-D3H (rev 1.1) |
CPU | Intel Core i5-3570 @ 3.4Ghz |
RAM | 16GB DDR3 @ 1600Mhz (4x4GB) |
GPU | NVidia GeForce GTX660 Ti 2GB |
SSD | 64GB mSATA (in SATA enclosure) Win boot |
HDD | Several old spinning disks (storage, etc.) |
To my surprise, preliminary search results suggested my hardware would basically be fully compatible. Neat! So I went ahead and installed an additional old hard drive in to use as a test drive without affecting my Windows installation. Installation went surprisingly easy, it's clear people have spent much effort over the years improving the flow.
I first tried High Sierra, as Mojave at the time was only just released. I had been running the beta on a MacBook but didn't want to risk diving into a Hackintosh setup with a beta version of macOS. I had downloaded the installer from the Mac App Store, and used it to create a bootable USB stick. I then used Clover Configurator to mount USB stick's EFI partition so I could put the right files in place.
As I first wanted to just try to see if it would even work, I relied on a more heavy-handed "throw bunch of typical kexts in, see if it works" approach. I planned to do it right after first confirming if it would even work in the first place.
Setup was really smooth and quick, and before I knew it, I was looking at a fresh install of macOS High Sierra that seemed to be working absolutely fantastically. No slowdowns, no crashes, nothing. I wasn't expecting it to be as challenging as it was 9 or so years ago, but was it really this simple now?
Well, yes and no. Mostly yes, but there was one small caveat; Nvidia.
As it turns out, the only hardware part in my Hack-to-be that wasn't 100% compatible was the old NVidia GTX660 TI. The issue was more problematic; at some point in time, this particular card started having issues when running macOS. This started with a certan later update to High Sierra, and hasn't really been fixed since. As I didn't want to try to install an older version of High Sierra and avoid updating it, I had to find a solution.
I first thought I'd try Mojave anyway, which only just came out at the time (the official launch, not the beta). Perhaps this odd sudden broken support thing would be fixed in the update, I thought. Unfortunately, that wasn't the case. And with Mojave came an additional challenge of NVidia (still to this day) not having released their web drivers, so screen artifacts popped up again.
Well shuck.

Part 2: Making it work.
After my initial attempt had mostly succeeded, I decided to invest a little in making the Hack-to-be work fully and as well as can be. As a Hackintosh is inherently, well, hacky, there's always a risk of things not working as they should, but because only the GPU seemed to be the issue, I decided to give it a try. The potential results would be worth it.
So I looked for an affordable GPU that, crucially, has full compatibility with macOS out of the box. This meant I had to look at the AMD Radeon series. As I wasn't planning to ever use this machine for anything gaming-related, I only needed something stable and powerful enough to handle day-to-day tasks, and a little bit of video editing (though that's more of a burden on the CPU if anything). I settled on the AMD Radeon RX560 2GB model, which is basically the most budget model of the current gen. At about $70 at the time of my purchase, it felt like a good choice. More importantly, macOS support should be excellent.

As I had been testing the installation on a traditional spinning disk I too went ahead and ordered an SSD. I had recently ordered two Samsung EVO 500GB drives for my servers, so I wanted to try something smaller and more budget-oriented, also so I could compare them to the slightly fancier options. I settled on the Kingston A400 120GB SSD, which costs around $28 at the time of purchase. If this drive ends up working adequately, I was planning to use it in one of my servers, so I could later swap the Kingston and Samsung out, but that's for later.

With the now —hopefully— right hardware, I set out and installed a fresh copy of Mojave. Installation was, once again, smooth sailing, and before I knew it, I was looking at another fresh instalation of Mojave. I tried to encourage the screen artifacts to show up by booting up a bunch of apps, frantically throwing screens around, and even running GPU benchmarks and the like, but it really did seem like the RX560 just works. Awesome!
Part 3: Making it work great.
Being very pleased with the results, and by being able to use my familiar (development) environment even for home projects, I wanted to fix just one more part of the setup; the peripherals.
A while ago I had purchased a Matias Laptop Pro keyboard, which I've been enjoying a lot. I actually used it while I was still running on Windows too, as I enjoyed using it so much. For mouse input I had been using a crummy cheap bluetooth mouse that was just plain awful. It keeps switching to "power saving" mode after mere seconds, so whenever you reach for your mouse it won't respond for a second or two. Infuriating. Since I don't normally use mice anymore due to RSI-related issues with my right wrist, I wanted to get a Magic Trackpad, as they work so well in combination with macOS. They are, unfortunately, quite expensive, so I set out to find a second hand one and, fortunately, did. It's still the most expensive upgrade part of this whole Hack setup, but I guess that's either a good or a bad thing, depending on how you look at it.

I had been using a small USB Bluetooth dongle thingamajig, which works fine but lacks certain functionality such as having the keyboard work from boot, and things like iMessage support. While I don't really need iMessage support as I rarely use it, being able to access things like BIOS setup and controlling the Clover boot screen with the Matias is certainly nice, so I also ended up getting the final hardware part to the Hack setup; a Broadcom BCM94360CD PCIe card, which provides both Wifi and Bluetooth functionality. As I prefer wired networks in most cases I don't really need the Wifi part, but it's nice to have.
I actually have a video made of the installation of this card, which I have posted a while ago.
Part 4: Making it work consistently.
While in day to day use I kind of forget this is even a Hackintosh setup, it of course still is. This means that it's generally a good thing to take certain precautions. macOS updates are notorious for throwing a potential wrench and breaking people's Hackintoshes, but this is more often than not more due to misconfiguration, or not having a safety layer in place.
The most common recommendation you'll run into (often virtually shouted at you) is to not rely on solutions like MultiBeast, and instead go with the "vanilla install" That's what I did and recommend you do too, at least for the setup you want to keep using. For a test run to see if things work to your liking, I think using a tool like MultiBeast or pre-made EFI folder can be fine.
Second, I highly recommend you spec out your Hackintosh to have two physical (SSD or spinning) drives for your macOS portion. The two physical drives are so that you can clone your entire macOS drive (and, importantly, its EFI partition) over to the secondary drive. This way if you ever end up getting caught off-guard with a rogue macOS, Clover or Kext update that breaks your boot drive, you have a way to boot from your backup drive and fix whatever happened. This doesn't have to be an internal drive either, a USB drive works fine too.

You can use a tool like Carbon Copy Cloner or Super Duper to clone your drive. These tools don't copy over your EFI partitions, so make sure to do this manually whenever you have made any (successful) changes to the partition. The EFI partition shouldn't change too often, though usually around the time of a macOS update you'll probably want to check for updates to the Kexts you're using, as-well as Clover itself.
I would also recommend you avoid trying to boot both Windows and macOS from the same drive. While it's certainly possible, I just think it's not worth the possible (down the road) headaches.
Lastly, I recommend not updating macOS right away whenever a new update is out. This is generally good advice I think —even on official Apple hardware— as there's always the possibility of something going wrong or otherwise causing an issue with an update. Whenever an update is up, I'd recommend waiting just a day or two, possibly checking the usual forums and/or reddits to see if anyone ran into issues.
However, with a properly set up configuration, only having loaded the Kexts you really need, and a solid backup/restore option in place, there's virtually no harm in just going for it anyway.

The Hardware
I would love to replace the case with something decent, but in my current standing-desk setup it really is unneeded. Perhaps in my next home if I end up with a fixed office space I'll be able to do this. As it stands right now, these is the complete hardware list of the Hackintosh, for those interested.
Hardware | Specs |
---|---|
Motherboard | Gigabyte GA-B75M-D3H (rev 1.1) |
CPU | Intel Core i5-3570 @ 3.4Ghz |
RAM | 16GB DDR3 @ 1600Mhz (4x4GB) |
GPU | Sapphire Radeon RX560 2GB |
WiFi & BT | Broadcom BCM94360CD PCIe card |
SSD | Samsung 860 EVO 500GB macOS boot |
SSD | Kingston A400 480GB macOS Backup boot |
Case | Generic Micronics case |
Keyboard | Matias Laptop Pro |
Trackpad | Apple Magic Trackpad 2 (space gray) |
Monitor | Dell U2312HM 23" 1080p |
Monitor | Wasabi Mango 24" 1200p |
Conclusion
Updated August 24th, 2019
I've been running this setup for well over a year now, and have not had a single issue with it, it's been fantastic. Updating all the way through to 10.14.6 (the latest as of this writing) has gone without a hitch.
Since writing this post originally I have used pretty much the exact same setup, although I have completely removed Windows-related drives, as I was never using Windows on this computer since getting macOS to run on it. I have also replaced the hard drive I was originally using as a backup drive with a Kingston A400 480GB SSD, as these drives are very affordable these days and much faster than spinning drives.
I also finally got a desk and home office setup, as standing all day every day was starting to make my ankles very annoyed (and by annoyed, I mean decidedly swollen. Whoops).
This setup has allowed me to continue to be productive in an environment I am most comfortable with. While I don't know how long I'll be using this specific setup, it certainly helps me bridge the gap between where I am right now and the day I can purchase a brand new computer that meets my requirements and will last me for years to come. The Mac hardware currently available is, unfortunately, not suitable for my current needs. Although the Mac Mini comes close, it completely lacks in the graphics department, and the eGPU situation is decidedly not ideal.
I hope this journey I've been through may help you in your considerations to try something like this out. You may already have (most) hardware ready for a Hackintosh setup and, while it's never as good as the real deal, it can certainly help you get by for a period of time. Perhaps you'll be able to use it to build up the capital to buy a real one. That's certainly my hope with this setup.
Thank you.