Why Hackintosh?

I was getting fed up with Windows’ spying tactics and Linux’s lack of proprietary pro creative software. When I first started on this endeavour macOS seemed like it would be able to give me a Unix development environment and pro creative software all in one. While it certainly did, there’s many small gripes that have made me want to move on from the OS as a whole. Not to mention the recent announcement that Apple is going to ditch Intel for its own proprietary ARM CPUs. I’m also planning on upgrading to Ryzen at some point in the future and from what I’ve heard on the Hackintosh Discord server, macOS does not play nice with AMD CPUs.

Disclaimer: I’ve had a Macbook Pro since 2012 that I use on a regular basis so I’m already familiar with macOS. Some of this information may be wrong or out of date as I’ve not interacted with my Hackintosh install or the community as of late, but this is my conclusion as of a few months ago.

Installing macOS

If you want to do a Hackintosh, be sure to do a lot of research or you may be in for a bad time. Originally I was going to try UniBeast from tonymacx86.com but after doing a bit of searching around I found a much better guide that would let me use native Apple drivers with a few patches. I’ll save you some time and link CorpNewt’s excellent guide on doing a ‘Vanilla’ install:

https://www.reddit.com/r/hackintosh/comments/68p1e2/ramblings_of_a_hackintosher_a_sorta_brief_vanilla/

https://github.com/corpnewt/Hackintosh-Tips-And-Tricks

There’s also the Hackintosh Discord which has been invaluable when running into issues on new versions of High Sierra, such as having up to date version of apfs.efi (filesystem drivers) or knowing when new versions of kexts (third party driver packages for macOS) are available. I’d recommend them as a last resort if you’re having a problem you can’t solve and no one else seems to be having it.

https://discord.gg/p7CtuQc

While I didn’t use it as much, the Hackintosh subreddit might be useful as well.

https://www.reddit.com/r/hackintosh

Here’s my specs for reference:

Gigabyte B75M-D3H

Sapphire RX 480 4GB

i5–4690 @ 3.5Ghz

16GB DDR3 RAM

512GB Crucial SSD

My experience installing macOS was fairly painless using the guide I linked above, at least compared to when I installed Arch (for the first time) or Gentoo. I got the macOS High Sierra installer from my Macbook Pro and proceeded to put it on a flash drive loaded with Clover (third party macOS bootloader) and all the kexts I needed. Using a combination of Lilu and WhateverGreen I was able to use Apple’s AMD Pro graphics drivers which worked flawlessly with my RX 480 for the most part (aside from sleep mode, which I’ll explain later.) For ethernet I used RealtekRTL8111 kext which gave me acceptable bandwidth speeds. For audio I used AppleALC which gave me native macOS HD audio for unsupported codecs like the one on my motherboard (ran into an issue there with a simple but possibly annoying workaround, more details below) I really lucked out in that all my hardware was supported and I didn’t have to purchase anything else.

General Use

Finder, multiple desktop support with workspaces, the built-in screenshot utility, Pages, and Preview are all fantastic for the most part. Paid app selection is amazing, with high quality apps such as Fantastical, Pixelmator and Sketch, but things start to fall apart as soon as you try to use any open source apps such as OBS, Krita, RetroArch, or DeaDBeeF; in other words, anything not designed specifically for macOS. This is understandable considering macOS is a closed platform and most open source apps are cross platform. Since more open source developers use Linux, those apps usually work much better on Linux.

Terminal

On my Macbook Pro I was used to using iTerm2 but after hearing about iTerm2 having some glaring security flaws and not being keen on the idea of using an Electron terminal (Hyper.js) I decided to give Terminal.app (the default macOS terminal) a try. I was pleasantly surprised by how usable it is. I didn’t find myself missing any of the extra features offered by iTerm2. After setting up my colour scheme and font I was pretty much good to go. Served my needs perfectly. I’ve heard lots of people on reddit saying how much better iTerm2 is, but if you don’t need any of iTerm2’s functionality at least give Terminal.app a try before you dismiss it as inferior.

Terminal.app: Looking pretty good, especially with the custom patches I installed to get rid of the titlebar 👍

Coding and Development

Coding on macOS was surprisingly painless, largely thanks in part to Homebrew. Not as good as pacman (My favourite Linux package manager) by any stretch, but it installed all the terminal apps I’m used to using on Linux such as neovim and htop. Also being able to install macOS applications from CLI using Homebrew Cask is awesome. For IDEs I’ve hopped around from Atom to Sublime Text before finally settling on VSCode, which gave me the best of both worlds, which is Sublime Text’s performance (not as good but it’s acceptable) and Atom’s configurability and customization. The included Java extensions and built-in terminal in VSCode are fantastic and I had no problems getting up and running within minutes.

VSCode: My IDE of choice, shown with the One Monokai theme and the Fira Code font.

Music

There’s a noticeable lack of lightweight music players available for macOS outside of mpd and I sorely miss foobar2000, which is Windows only and closed source. Since my library largely consists of FLACs and I didn’t want to convert all my FLACs to ALACs just for the sake of iTunes, I set out to find a new music player. Eventually I settled on DeaDBeeF which I was familiar with from using it on Linux but the macOS version is very unstable and nowhere near as fully featured as the Linux version. Recently I considered doing mpd + Cantata since I’ve had a good experience with that on Linux, but I’ve already stopped using macOS for the most part.

DeaDBeeF may not be very nice looking but at least it plays my FLACs no problem.

Gaming

Most games are developed for Windows, then ported to Linux or macOS as an afterthought because of the comparatively small userbase. In addition, since macOS is a closed platform, the environment is not conducive for gaming. But I do like to play games so it’d be a bonus if I could at least get some light gaming in on my Hackintosh. The Steam, Battle.net, and GOG Galaxy clients work as well as you’d expect, but even my formidable RX 480 was struggling to run simpler titles like Rocket League at a decent framerate because the AMD Pro drivers for macOS are just not up to snuff compared to the Windows/Linux drivers. In Terraria macOS kept freezing my keys, locking up my character and preventing him from moving. If you mostly play some light indies here and there (Shadowrun: Dragonfall ran just fine) then macOS should be able to meet your gaming needs. Just don’t expect anything even moderately heavy to run at a decent framerate unless you have a GPU even more powerful than my 480.

For emulators OpenEmu has you covered. It’s one of the nicest looking frontends I’ve ever used and it’s extremely user friendly to boot. OpenEmu picked up my Wiimotes and Dualshock 3 controllers out of the box no problem, even detecting what type of controllers they were and using the appropriate symbols when mapping them using the controller GUI. OpenEmu uses it’s own custom emulator plugins which means the emulator selection isn’t as extensive as RetroArch’s. Definitely a tad disappointing, but it covers all the major bases. All of my games imported correctly and about 80–90% of them were given nice looking cover art. One downside is that it doesn’t come with a ‘big picture mode’ but RetroArch is also available on macOS if you’d prefer that and I’m more accustomed to desktop frontends anyhow.

The games without coverart are English fan translations so I’m not really surprised it didn’t pick those up. Very impressive coverage overall.

As a sidenote, Boxer is also available if you want a nice looking frontend for DOSBox. Installing games was a breeze and it was just a very nice way to interact with DOSBox. During this time I was still dualbooting into Windows to play games, so having a flawless gaming experience wasn’t a huge deal for me. I was just curious to see the general state of gaming on macOS.

Music production

For creative professionals macOS is a dream as expected. CoreAudio is probably the easiest audio backend I’ve ever worked with on any operating system and I’ve never had any issues as far as low latency audio goes. Ableton Live picked up my MIDI controller and recognized it immediately, no skips or glitches, everything worked out of the box. That’s all I really have to say about audio, it was a great experience.

I tried to get 0CC-Famitracker working under Wine since I also like to experiment with tracker music but the higher audio latency makes it really jarring for entering notes. I’d much prefer to find an alternative NES tracker like Deflemask or just use Famitracker under Windows for the time being.

Recording

This is one of the things I expected to be a breeze. Unfortunately, it was not. Recording desktop audio is a complete and total nightmare on macOS if you’re using OBS, my preferred recording software of choice on Windows and Linux. To record desktop audio you have to install third party software such as Soundflower or what I eventually got working, iShowU Audio Capture. It was very buggy and it took multiple tries to get working. Outside of that, OBS works largely as expected, though I’d argue that it’s the weakest version of the bunch thanks to not having the ability to record desktop audio out of the box.

If you plan on spending a lot of time recording and/or streaming on macOS, it may be worth looking into purchasing Screenium though the asking price is quite steep, as is most software worth getting on macOS that isn’t open source.

Stability

Despite all the fantastic things I’ve said about macOS on my Hackintosh so far, it hasn’t been that stable in my experience which is really unfortunate. One of the more notable issues I had was the green audio jack (one for the front speakers) on my motherboard’s onboard audio giving me really annoying skips periodically. The only fix I found was to change to the black audio jack and map it to the front speakers using the Audio MIDI Setup panel. Not great, but it’s workable if you’re living with a Hackintosh full time on my motherboard, a Gigabyte B75M-D3H; other configurations may not have this issue. The second issue I had was Chrome failing to open hyperlinks from anywhere, instead seemingly opening a new Chrome instance before quitting and giving me a blank Chrome window. I fixed that by just ditching Chrome and installing Firefox Nightly instead 👌

The biggest issue I’ve had by far was the sleep issue. My Hackintosh would go to sleep (or attempt at least) and then it would kernel panic. Every single time.

Kernel panic! I saw this screen upon bootup more times than I’d care to admit. 😒

I spent quite a bit of time on the Hackintosh Discord trying to get my problem fixed, but eventually I just settled on disabling sleep mode entirely, since it’s not a necessary function for me personally. I then discovered my Hackintosh would still kernel panic every few days for seemingly no reason which is very annoying as I have my computer turned on 24/7. I have no idea what would be causing this and since the issue is so intermittent, it is very frustrating to troubleshoot and I still haven’t figured out how to fix it. Outside of that many other minor problems were cropping up that I’ve fixed and forgotten about, but I’ve dealt with most of them as they’ve come.

Conclusion

After I publish this article it’s likely that I’ll be formatting my SSD to make more room for Arch Linux. I’m just done with Hackintoshes as a whole. As I mentioned above, open source software tends to work better on Linux, and the AMD Pro drivers give me terrible performance for games on the Hackintosh. I want to like it, but Apple is making it incredibly hostile for users like me by forcing stuff like the Metal graphics API on everyone who uses macOS. It’s their ecosystem and they can do what they want, but I’ve concluded that it’s not the OS for me, at least not on PC hardware. If I was really invested in the ecosystem I’d probably get an actual desktop Mac, but this was more of an experiment than anything. Outside of Arch and Gentoo this is probably one of the operating systems that’s survived the longest on my computer, so that’s something.

If you’ve read this and decide you still want to go the Hackintosh route, I’ve heard people say that El Capitan is a much more stable experience so it may be worth trying that instead if you can grab the installer for it. I’ve also found a number of helpful resources in deciding what apps to install and some neat screensavers, they’re listed here for your viewing pleasure:

If you have any questions, feel free to ask me in the comments.