Setting up a Hackintosh is an extremely frustrating process. I wanted to to document the steps I took to get a smooth running High Sierra build running. This post is completely fictional of course :).

Hackintosh Computer

My Hardware

I built this computer with no intentions of making it a Hackintosh. I got super lucky that the release High Sierra added support for Kaby Lake processors and NVMe drives. I also got lucky that Nvidia released alternate driver for GTX 10xx series graphics cards.

The only component that didn't work was my Asus network card. I ended up having to buy an $80 TP-Link Archer. Here's a list of the core components:

  • Motherboard: Asus Prime z270-ar
  • CPU: Intel Core i7-7700K
  • Graphics Card: Asus Turbo GeForce GTX 1060
  • Harddrive: Samsung SSD 960 EVO 250GB
  • Network card: TP-Link Archer T9E

If you're curious about the full components list, you can see that here.

Getting Started

The central hub for the hackintosh community is Tonymacx86. I found the solution to every problem I faced on their message boards. It's a grueling process finding solutions as they're generally buried inside old forum threads.

To kick things off I followed their famous installation guide and branched off whenever I faced a problem.

Hackintosh Computer

Step 1: Creating a bootable USB drive

Hackintosh Unibeast

The first step was to create a bootable USB drive using Unibeast from my Macbook Pro. I chose UEFI mode and High Sierra during the creation process. Creation was a breeze, once done I popped the USB in my PC and attempted to boot the installer.

Problem: The MacOS Installer wont boot

Setting the tone for the long process ahead, the USB install wouldn't boot. I tried again in verbose mode and discovered the boot was hanging on a line that contained AppleUSBLegacyRoot. After some googling I found the solution here, which was to edit my config.plist to enable Inject USB and FixOwnership.

<key>USB</key>
<dict>
    <key>FixOwnership</key>
    <true/>
    <key>Inject</key>
    <true/>
</dict>

With that quick change I was able to boot the installer (this took 7~ minutes).

Step 2: Installing High Sierra

The next step in the installation process was to prep the installation drive. I booted up disk utility and my drive was not being discovered.

Problem: No Drives Found

The solution to this problem was to format the drive using diskutil in terminal. Terminal can be found in the utilities drop down menu on the top bar of the MacOS installer. I ran:

diskutil list

To figure out the disk node id I want to format. In my case it was /dev/disk0. Then:

diskutil eraseDisk JHFS+ DiskName /dev/disk0

To format the drive. Afterwards I opened the installer disk utility again and the drive was discovered. Here I re-erased to Mac OS Extended (Journaled) for good measure.

Note: I used Mac OS Extended (Journaled) partition type. The new APFS type gave me problems and speed issues.

The installation process

I installed MacOS as according to the guide. MacOS will reboot several times during the installation. On the first reboot you have to run a special script to prevent APFS conversion.

On the first reboot I booted from the USB again instead of the newly created drive option. Once the installer booted I opened terminal and ran the following command.

/Volumes/Image\ Volume/No-Convert

This returns a confirmation message. I then shut down the system and booted from the drive option which continued the install.

The installer rebooted a couple more times and I stuck around to select the correct boot drive each time. Eventually I made it to the MacOS setup screen where I created my account and saw my desktop for the firs time.

Note: The graphics were very glitchy and audio did not work.

Step 3: Multibeast, Nvidia graphics driver, and booting without the USB

So at this point I successfully had MacOS installed but nothing works.

Installing Nvidea Graphics Web Driver

The next step was to install the correct Nvidia driver. To find the correct one I needed to find my build number which is located under About my mac. Note: You have to click the version number to reveal it.

About this mac

With this build number I googled Nvidia driver <build_number> and found a page where I could download the correct driver. I then installed it. When it asked to reboot I clicked later.

Running Multibeast

The next step is to run Multibeast. Multibeast is a tool to install the Clover boot loader on your system as well as various drivers.

Note: Copy the tool tool from your USB to desktop. Do not run it from the USB.

Hackintosh Multibeast

From Multibeast I selected the following:

  • Quick Start > UEFI Boot Mode (Installs Clover and basics)
  • Drivers > Audio > Realtek ALCXXX > ALC1220a (Audio)
  • Drivers > Audio > Realtek ALCXXX > 100 / 200 / 300 Series Audio (Audio)
  • Drivers > Network > IntelMausiEthernet v2.3.0 (Ethernet)
  • Bootloaders > Clover UEFI Boot Mode + Emulated NVRAM

Next I clicked build and install. Everything Installed fine.

At this point I should be able to reboot without the USB and have graphics working, but then I encountered the most frustrating problem yet.

Problem: gioscreenlockstate3

I removed the USB and attempted to reboot from my new High Sierra drive using the Nvidia web driver and verbose flags. The boot process got stuck on a line that started with gioscreenlockstate3.

I learned that this is a graphics issue and after tons of digging I found the solution contained within this post.

I could not boot from recovery mode, but I was about to boot from the new drive using the clover on my installer USB (default settings with verbose mode selected).

I skipped most of the instructions in the post. What I did was install the following two kexts using kextbeast.

Then opened my config.plist (on the SSD not USB) and changed CsrActiveConfig to 0x0. I then rebooted the same was as above, and changed the setting to 0x67.

Note: I don't think the 0x0 step was necessary but I don't want to start over and find out.

I rebooted again from the clover on SSD (not USB) with the Use Nvidia web driver and verbose flags. To my surprise It booted up using the proper graphics driver.

I then edited my config.plist again so I wouldnt have to toggle the use nvidia flag every time I booted.

<key>SystemParameters</key>
<dict>
    <key>InjectKexts</key>
    <string>YES</string>
    <key>InjectSystemID</key>
    <true/>
    <key>NvidiaWeb</key>
    <true/>
</dict>

Step 4: Fixing the audio

At this point I was able to boot into high sierra from my SSD using the proper graphics driver. The last major problem was fixing the audio.

Previously I installed a couple audio drivers with Multibeast, but those did not actually make my audio work. It just made the options show up in preferences.

MacOS Sound Options

Prior to the drivers install that list was empty. To get the audio working I followed solution #1 here, which involves installing the following two kexts.

After restarting my audio still did not work, but then I realized that my speakers were plugged into the port on my monitor, which is connected to my video card via a display port. I plugged the speakers directly into my motherboard and it started working!

What doesn't work

Here's a list of features that are not working.

Messages App

Apparently it is working, but Apple just blocked me from using it on this device. People say if you call support they can unlock it for you, but you have to make it up to "Senior Advisor". The lower level support lady started mentioning serial number verification before transferring me. I got spooked and decided not to mess with messages.

Hackintosh no messages app

Sleep mode

When I woke my PC from sleep mode the graphics driver went crazy. I disabled sleep mode and haven't had a problem since.

Shut down reboots

When I try to shut down from MacOS it reboots instead.

Benchmarks

Here's my hackintosh and Macbook Pro geekbench scores. Component for component the hackintosh is much cheaper, but when you factor in the time spent getting this to work its more like $5000 hackintosh.

Hackintosh benchmarks