Reverse Hackintosh Pro

Well it’s been awhile, but I’m back to doing my own projects again.

 Prelude

So lately I’ve been feeling left out of the gaming world and thought to myself: “Hey why not build a sweet new gaming rig and jump right back into all of the fun?”. Well, knowing myself I knew that after playing a couple of games, I would get bored and this rig won’t see much use after that.

To counteract that I need to be able to do work on it. But I’m an iOS developer and practically there’s only one platform that I can do my work on - macOS.

Alright, so it’s a Hackintosh then!

Apple hasn’t released significantly improved hardware for “pros” in years now, so this might actually be good timing to build one.

But let’s not make things too simple. Remember those older Mac Pros? The cheese graters? Those cases look awesome and sleek, wouldn’t it be awesome to build a pc in one of them? There’s other people doing it also? SIGN ME UP!

cheese-grater.JPG

 Table of Contents

 Build

After doing some research I found a guy in Berlin who sold me his broken 2016 Mac Pro for 50€. After taking it home I immediately stripped most of the parts from it and started looking for suitable components.

 BOM

I had simple requirements for the motherboard:

  1. It had to be Micro ATX form factor. So I wouldn’t have to cut the case to make room for a full ATX motherboard.
  2. It had to have Thunderbolt compatibility, preferably Thunderbolt 2, so I could use my Thunderbolt display with it.

This is what I ended up with:

Part Brand Name Quantity
Motherboard GIGABYTE GA-Z170MX-Gaming 5 1
CPU Intel Core™ i7-6700K 1
GPU EVGA GeForce GTX 980 Ti HYBRID GAMING 1
RAM Corsair Vengeance® LPX 32GB (4 x 8GB) DDR4 DRAM 2400MHz 1
M2 Samsung 950 PRO M.2 256GB 1
SATA Samsung 850-EVO 500GB 4
PCIE AsRock Thunderbolt™ 2 AIC 1
PCIE Wdxxfu Studio Design BCM943602CS (WIFI+BT) 1
PSU EVGA 850 GQ Power Supply 1
CPU Cooler Alpenföhn Ben Nevis 1
Case Fan Noctua NF-S12B redux-700 1
Case Fan Noctua NF-S12B redux-1200 1
MISC NewerTech AdaptaDrive 4

bom.jpg

 Hardware

 mATX Motherboard Tray

I went and got the mATX kit from the laser hive (plastic grill version). They provide pretty comprehensive instructions with the kit, so inserting and fastening the tray was a breeze. Cutting out and the back and attaching the back panel wasn’t too hard either.

empty-case.jpg
back-stripped.jpg

 Power Supply

The PSU was probably one of the components that I had to do the most work on in order to get it inside the case.

At first I thought I could stick in the internals of a standard power supply into the case of the original Mac Pro PSU. However, that didn’t work out because the PSU would overheat after a few minutes under intense load. I had to scrap the original PSU I had bought and get another one.

psu-oem.jpg

 Cable

I wanted to reuse the original AC port, so I had to make a little low profile adapter to solve the different placement of the cable port.

psu-cable-front.jpg
psu-cable-back.jpg
psu-connection-closeup.jpg

 Case

I had to cut off one end of the original PSU case in order for it to house the new longer PSU. I also had to remove the PSU fan assembly from the case to fit the new PSU.

psu-case.jpg
psu-tray-cutoff.jpgpsu-connection.jpgpsu-assembled.jpg

 Front Panel

I wanted to reuse the Mac Pros front panel interface. To do that neatly I had to make a couple PCBs.

12pin-adapter-pcb.jpgusb-adapter-pcb.jpg

The designs for these PCBs are free and available on GitHub, you can use any PCB manufacturing service to make these, but I personally prefer OSH Park for prototypes.

Here are the adapters in action:

usb-adapter-in-action.jpg
12pin-adapter-pcb-in-action.jpg
front-panel-pcb.jpg

One important note: the original 8 pin Micro-FIT cable that caries power for the panel from the original motherboard has it’s pins mirrored on both ends. The pcb is designed for that cable, so you should be good if you use it. However, if you’re making your own adapter, please check which pin on one end corresponds to what pin on the other end.

 SATA

The SATA slots in the mac pro are pretty frigging cool, I wanted to make them functional with the new motherboard. Fortunately this was pretty easy (but pricey). I had to buy this adapter. Making one doesn’t make sense as the parts themselves cost almost as much as this fully build adapter.

scsi-adapter.jpg
scsi-adapter-with-sata.jpg
scsi-adapter-in-action.jpg

The drawers obviously also need SATA power, so I had to make a little adapter from the PSU to the custom apple connector. Sadly, I did not take a picture of it, and it’s pretty deep in the case to remove it.

As there’s not too many reasons to go with a mechanical hard drive and SATA SSDs only come in 2.5" I had to buy a few 3.5" to 2.5" adapters. There are plenty of these available to buy on Amazon.

 Front Fan Assembly

Because of a very nice deal, I got an air-cooled, water-cooled hybrid GPU. One problem is that it comes with a gigantic radiator that needs to go somewhere in the case. Fortunately the original fan assembly was ideal for this. Just after a few modifications to (with a handy dremel) it I could easily hold the radiator and fan on top of it.

fan-assembly-back.jpg
fan-assembly-front.jpg
gpu-fan-assembly.jpg

 Wifi

After some research, it became obvious that the best WIFI adapter for macOS is an original one. Fortunately for me, China if full of them. I got mine from TaoBao. No additional steps needed to get WI-FI working. Although iMessage is another story…

wifi.jpg

 Thunderbolt

I wanted to use my Apple Thunderbolt Display with this machine, so thunderbolt support was imperative.

thunderbolt.jpg

However macOS support for third party controllers is very… very… flaky. I had different levels of success, but nothing came close to being truly stable. Either the displays USB hub wouldn’t work, or daisy chaining a hard drive wouldn’t work, or the display wouldn’t turn on in general. You can get it to work though and that’s good enough for now.

The controller itself wouldn’t ever get recognized by System Information, although it’s children peripherals would show up as if they’re hooked in directly in the system.

 Back Fan

I had to cut off sides of the original backside fan grill in order to make it fit with the ATX motherboard backplate. But the amount of flat plastic surface left is enough to drill holes into the other side of the grill and attach the actual new fan to itself.

back-fan-back.jpg
back-fan-front.jpg

 Other Pictures

finished.jpg
drawer-out.jpg
case-backside.jpg
items.jpg
case-backside-front.jpg

 Software

 BIOS Options

Before installing macOS it’s important to change a few BIOS settings from their default values:

 Installation, Clover

I used UniBeast to install macOS and MultiBeast to configure all the options, injected kexts and etc. There are a number of guides on the web that cover this hardware, and some of the options depends on taste, so I won’t cover them here.

It’s generally a good idea to have the latest version of Clover installed. Multibeast usually comes with a version that’s stable, but pretty outdated.

A very helpful tool if you don’t want to deal with plists all the time when tweaking your Clover settings is the Clover Configurator.

 iMessage, iCloud, App Store

This is probably what gives people the most headaches in getting their hackintoshes fully working. I used a couple techniques to get this finally working.

I had success in following this guide. But before I got everything working, I had my Apple ID account locked multiple times, so beware! It’s no big deal of course, you just need to come up with a new password every time, but it’s SEVERELY ANNOYING.

 NVMe Storage

To get the NVMe storage drive to work (including installing macOS on that drive) I just used RehabMan’s wonderful kext patches. He has very comprehensive instructions on what needs to be done.

 GPU

Getting the GPU to work is pretty straightforward. All I had to do is install the latest NVIDIA Web Drivers. And making sure that the clover flag to use them is set “nvda_drv=1”.

 Other Stuff

Like any project, this one has it’s share of notes and fails. Here’s a few of them.

 Original Build

This is what I had planned to use initially:

Part Brand Name
Motherboard AsRock Fatal1ty X99M Killer/3.1
CPU Intel Core™ i7-6800K
GPU EVGA GeForce GTX 980 Ti HYBRID GAMING
RAM Corsair Vengeance® LPX 32GB (4 x 8GB) DDR4 DRAM 2400MHz
Drive Samsung 950 PRO M.2 256GB
PCIE AsRock Thunderbolt™ 2 AIC
PSU EVGA 850 GQ Power Supply
CPU Cooler Alpenföhn Ben Nevis
Case Fans Noctua 2x NF-S12B redux-700 + 1x NF-S12B redux-1200

 Chipset & Thunderbolt

Now I know what you’re thinking. X99? That’s going to be a pain to install macOS on, if possible at all. And, well you’re right, but the reason I picked the Fatal1ty X99M Killer was because that was the only Micro ATX board with thunderbolt a capability and AsRock had it’s AIC card for sale. In comparison Gigabyte had a Z170 Micro ATX motherboard with a Thunderbolt header, but Gigabytes AIC card wasn’t being sold ANYWHERE. Only later did I find out that most of these thunderbolt cards are intercompatible between different brands…

X99 support proved to be to difficult, and the interchangeability of the thunderbolt cards pushed me to use Z170 instead.

 Standoffs

In order to stuff some components in and connect others I had to make some modifications to the case. The first of these modifications was to remove the existing motherboard standoffs. This was fairly simple, you can remove the standoffs with pliers or a hammer. The next step was to to glue my own standoffs with epoxy, I did it by screwing in all of the standoffs to the motherboard and then covering their bottom ends with a small layer of epoxy, I put the motherboard into the case and aligned it, waited for some time and then undid the screws and took out the motherboard, I covered the base of the standoffs with more epoxy around them to secure them in place. You need to be careful when screwing your motherboard back in, because even though the epoxy has a pretty firm grip on the standoffs you can still break them off with enough force when screwing in the screws.

After breaking a few of them, and ultimately needing the back facing IO ports more than I expected I got a ATX conversion kit from lazer hive.

 The Perfect Build

Before doing this project I did some research on already existing builds. One build I found was absolutely amazing.

Skin008 - a Chinese electrical engineer and serial mac pro modder, made a one of a kind mac pro retrofit kit that reuses the same ports on the original 2008 and 2010 macs.

skin008-board.jpg
skin008-case.jpg

I reached out to him, but found out that he only did 10 of these boards, sold them and was too busy with his personal stuff to make new ones this year. He did mention however that he may do another batch next year. I hope that’s true and I’ll try to keep in touch with him. You can find more pictures of his boards showcased here.

 
23
Kudos
 
23
Kudos

Now read this

Xcode 9 and Carthage - That pesky Coverage data

Like any other year the new Xcode GM came out and everybody started rushing to submit their apps. This year, I was also one of these early adopters. Things were going relatively smoothly, except for a weird issue with xattr when trying... Continue →