Mulle kybernetiK - Tech Info:
Building another Hackintosh
In 2009 I decided to dip my toes into the Hackintosh world and build my first Hackintosh. It was a resounding success and the machine has served me well since. So, in August 2012, with Intel's Ivy Bridge and Apple's Mountain Lion out, I decided to build another Hackintosh. This article describes my experience.
© 2012 Mulle kybernetiK - text by erik

Contents

  1. Why again
  2. The hardware
  3. The build
  4. The install
  5. Updates

1. Why again

The xMac gap still exists in the Apple product line. The reasons I had in 2009 not to buy another Apple tower are still valid. Even worse, in 2012 the Mac Pros are not only expensive but they are quite outdated, too, from a technical perspective; and the only response from Apple to widespread criticism after WWDC was a promise to release something in 2013.

At the same time the experience with my previous Hackintosh was great. When I built it I was a bit cautious because I didn't know whether a Hackintosh would work for me or whether it would be replaced by an Apple machine a few months later. This time round I was much more confident and I'm fully expecting to get three or more years out of my new Hackintosh again.

Having a longer term perspective meant that I considered high-end parts. The cost for the hardware was still only around €1500 in total.

2. The hardware

Most of the parts are high-end desktop parts. I did not get into workstation technology such as Intel Xeon processors or EEC RAM. This means the machine is not completely comparable to a Mac Pro, but from a performance perspective it clearly is.

Mainboard: Gigabyte GA-Z77X-UP5 TH

Rule #1 for building a Hackintosh: use an Intel CPU and Intel chipset. The chipset choice was easy, Intel's Z77 Express is the "performance" chipset for the new Ivy Bridge processors. Rule #2: use a Gigabyte board. The choice here wasn't obvious because Gigabyte offers so many boards. Playing into this was the expiry of the deal Apple and Intel had regarding Thunderbolt.

The Z77X-UP5 TH is one of the high-end boards, has very compatible sound, network, and USB3 hardware, and it has two Thunderbolt ports. So I went for that. Judging from the reports on the forums I'm not the only one, which is a plus, too, because it means that there are other people who can help. I learned that lesson with the more exotic board I chose for my first Hackintosh.

CPU: Intel Core i7-3770K

Even though the improvements in Intel's new Ivy Bridge processors are not as relevant in desktop use as they are in laptops it still makes sense to go for the latest processor generation. The 3770K is the high-end offering. It has 4 cores with 8 parallel execution threads, a clock frequency of 3.9GHz in turbo mode, and it can be overclocked; although overclocking an Ivy Bridge CPU seems to be a whole different story.

If you look closely at the picture on the right you can see that I got the tray version of the CPU. This is cheaper because it doesn't include a basic cooler and fancy packaging; I didn't need either.

CPU Cooler: Corsair Hydro Series H60, Noiseblocker BlackSilentPRO PL-PS

To leave me the option to experiment with overclocking while maintaining a relatively quiet machine I decided to try water cooling. I wasn't quite ready to build a proper water cooling system so I went for a closed-loop solution from Corsair. It ships fully assembled, doesn't need maintenance, never mind refilling, and is as easy to install as an air cooler. Even the price is similar.

The only change I made was to get a different, much more quiet, fan for the radiator. At that point I learned that not only volume but also static pressure is important when selecting fans for radiators.

Memory: Corsair Vengeance 8GB DDR3-1600 CL8 Kit

Corsair memory served me well in the past, and the 1600MHz CL8 modules support a faster XMP mode, which is also supported by the mainboard.

GPU: XFX Radeon HD6870 Dual-Fan 1GB

Actually, I had bought this graphics card in November 2011 and used it in my previous Hackintosh. At the time it was the best-performing GPU that worked well with OS X Lion. It's still a pretty good choice, and the XFX version with two fans is relatively quiet.

Case: Fractal Design Define R3 Black Pearl, Noiseblocker eLoop Bionic B12-1 (2x)

Simple, understated looks, and good build quality. Great internal design and good airflow even with a physically bigger graphics card. The two slow-running Noiseblocker fans serve as intake fans on the front of the case.

PSU: Seasonic X-560

This power supply is modular, so there are no excess cables needing to be hidden, and the cables are long enough to work well when the power supply is mounted at the bottom of the case. It is very energy efficient, 80PLUS Gold certification, and quiet; the fan only starts above 20% load, which the system does not reach when idle. Lastly, the power supply and mainboard support an ErP compliant mode. In standby the system draws less than 0.1W of power, the lowest my power meter can measure.

Storage: Corsair ForceGS 480GB, Seagate Barracuda 500GB

I definitely wanted an SSD, I didn't want to fiddle with boot and data disks, and I wanted both, OS X and Windows, on SSD. So 480GB was about the minimum capacity. When it came to models I decided that a Sandforce-based SSD probably matches my usage profile the best.

The spinning disk, taken from my previous machine, is for Time Machine backups.

Picture 1: The delivery spread out on our floor, an evening's worth of work ahead of me.

3. The build

The build was very straight-forward, and the Fractal Design case makes it possible to route cables in a space behind the mainboard tray, resulting in a much tidier look; not Apple-tidy but pretty okay if you ask me.

The water cooling solution comprises the pump, which sits on top of the CPU, and, connected by two sturdy tubes, a radiator with a 120mm fan on it. I basically replaced the rear exhaust fan with the radiator/fan combination.

The only slight issue with this build was the lack of a decent fan controller on the mainboard. The Gigabyte board only has two fan circuits, one for the CPU fan and one for all other fans. The water cooling system's pump is connected to a fan header and it must run at full speed at all times, which means that the other fans have to run at full speed all the time, too. Using the slow Noiseblocker fans as intake fans this wasn't a problem, though.

For the basic BIOS settings I started with the setting for a very similar Gigabyte UEFI board as described in this post. These settings were sufficient to get OS X installed as described below.

Given that the processor and board support overclocking I just had to experiment a bit. In the end I settled for raising the base clock to 103MHz and the turbo multiplier to x42 across the board. I had played with Gigabyte's EasyTune utility but found that that increases the CPU voltage slightly; mostly likely in an attempt to provide more stability. I found that the system was stable without increased CPU voltage and the increased voltage did increase processor temperature noticeably. In addition I turned on XMP Profile 1 for the RAM.

Even under the most extreme load, caused by the Prime95 torture test, the system is completely stable. After an hour of the test the average processor core temperature is around 72°C, which seems acceptable. If I run FurMark in parallel to stress the graphics card, and remove one worker thread in Prime95 so that FurMark isn't bottlenecked on the CPU, temperatures rise by another 10°C, obviously because the air that is blown over the radiator is from inside the case.

With this setup the system gets a GeekBench score of just over 15000 (32-bit version), which isn't bad at all looking at the results for real Macs. The 8 and 12 core machines in that list are dual-processor Xeon machines by the way.

Picture 2: Assembled system. Definitely getting closer to a tidy "Apple look". Click to enlarge.

4. The install

This time I decided to go the convenient route and used UniBeast/MultiBeast for the installation and post-install tuning.

The install was still not completely painless as I ran into two problems: booting from the USB stick that I had prepared with UniBeast resulted in a kernel panic early during the boot. It took me a while to figure out that this was caused by the USB stick itself, especially because I didn't suspect the stick, after all I had used it to install Lion on my previous Hackintosh. In the end it seems that for some reason Mountain Lion was confused by the U3 feature of the stick, which effectively makes the stick appear as a hub. The second problem was a hanging white screen later during the boot. This turned out to be a well-known problem with Radeon HD 6870 graphics cards, which only occurs during installation. An easy workaround was to install using the Intel HD Graphics 4000 provided by the CPU and chipset, and switch back to the discrete graphics card afterwards.

With the previous Hackintosh I had spent a fair bit of time creating a good DSDT for the system. The new mainboards with UEFI BIOS work without a DSDT so this wasn't an issue at all. In fact, Gigabyte seems to be lending a helping hand as alluded to in this post. Dual-booting with Windows 7 is now properly supported by the Chameleon boot-loader so nothing special required either.

Post-install tuning was mostly limited to running MultiBeast with the following settings:

  • User DSDT or DSDT-Free Installation
  • Drivers / Realtek ALC8xx / Without DSDT / ALC898
  • Drivers / Disk / 3rd Party SATA
  • Drivers / Disk / TRIM Enabler
  • Drivers / Network / hnak's AppleIntelE1000e Ethernet
  • Customization / System Definitions / iMac12,2

Most of the choices are obvious and they reflect the chips on the mainboard: Realtek ALC898 sound, Marvell 88SE912 SATA controller for the additional ports, and Intel 825xx ethernet. A patch to enable TRIM for non-Apple SSDs is needed even on real Macs. The reason for not using the MacPro3,1 definition, which is traditionally used for most Hackintoshes, is that the graphics card does not work properly after sleeping. It's not obvious in desktop use but the Cinebench score drops dramatically, proving that something is wrong. This is fixed with the iMac12,2 definition.

After running MultiBeast with these settings I noticed two issues. When the computer was waking up from sleep the keyboard and mouse were unresponsive for 20-30 seconds and subsequent system shutdowns would fail. One fix for this was to disable overclocking and the XMP memory setting in the BIOS. A better fix was to upgrade the BIOS to version F9 and disable CPU PLL Overvoltage as described in this post. The second issue was a 20 second delay towards the end of the boot process. I was able to fix this by completely disabling the internal graphics option in the BIOS.

With this setup the only issues that I am aware of are: no support for "Find My Mac" in iCloud and very low (too low) volume on the front-panel microphone port.

Picture 3: Success. The About This Mac screen shows Mountain Lion running on the Hackintosh.

5. Updates

10.8.1: Updated from the AppStore. No issues.

10.8.2: Updated from the AppStore. No issues.

10.8.3: Updated from the AppStore. Ran latest Multibeast. No immediate issues. There were a small number of occasions, though, where under extreme load OS X would completely freeze; no kernel panic, no reset, just completely unresponsive. I was never sure whether it was caused by my overclocking, whether it had to do with the network driver, or whether it was something yet different. Either way, I had also come to realise that by using the iMac12,2 definition I was running my shiny Ivy Bridge CPU with Sandy Bridge power management. Following the instructions from this thread I switched to native Ivy Bridge power management, using the iMac13,2 system definition and an SSDT created for my processor and overclock settings. By the way, I also went back to the standard 100MHz base clock. Haven't seen a freeze yet.

10.8.4: Updated from the AppStore. Ran latest Multibeast. No issues.

10.8.5: Updated from the AppStore. Ran latest Multibeast. No issues.


10.9.0 (Mavericks): Used Unibeast to create a USB stick, from which I upgraded the system. Everything looked okay at first but then I realised that GPU power management was broken, leaving the GPU stuck at about 1GHz under certain conditions. (Since the original build I had switched to an NVIDIA GTX 670 graphics card, which had worked fine on Mountain Lion.) Reverted back to 10.8.5 in the hope that this would be fixed in a later update.

10.9.1: In the meantime the problem had been understood and a workaround found. Reinstalled using Unibeast, applied the workaround, no issues since.

10.9.2: Updated from the AppStore. No new issues, added updated workaround for GPU issue.

10.9.3: Updated from the AppStore. Switching to NVIDIA's latest web drivers, released for 10.9.3, fixed the GPU issue. The iMac model my Hackintosh pretends to be supports autopoweroff. This didn't seem to work with the Hackintosh so I turned it off using the pmset command. No known issues remaining.

10.9.4: Updated from the AppStore. Updated NVIDIA driver and applied TRIM and HDA patches via Multibeast. No issues.

10.9.5: Updated from the AppStore. Updated NVIDIA driver and applied TRIM and HDA patches via Multibeast. No issues.

If you want to discuss this article, please use our forums.