My Hacintosh Experiment

Previous: Hardware Selection

BIOS Settings:

Although plenty of discussion exists on successfully installing OS X on Gigabyte GA-G31-Series motherboards, I preferred the GA-41M-Combo motherboard: It supports a faster bus and memory speed (1333MHz) than the Mac Mini (1066MHz). The downside is limited overclocking capability when used with the Q9300 CPU. Unfortunately, my online research uncovered almost no discussion on a Hackintosh based on this motherboard, and I resigned myself to waiting until more information became available. Fortunately, a user at the tonymacx86 website claimed success with this motherboard literally days before I planned to purchase my hardware, but provided few specifics on the exact method (perhaps because (s)he assumed there were no "newbies" in the audience).

Based on some further research, and a little trial-by-error while installing OS X, here are the exact BIOS settings I eventually used:
Hackintosh GA-41M-Combo Motherboard: BIOS Settings
BIOS Menu Item ...set Menu Option to: Notes
Load Optimized Defaults Y (ie: Yes)
This option must be set first, otherwise it may reset any previously-changed settings.
MB Intelligent Tweaker CPU Clock Ratio = 7X
Fine CPU Clock Ratio = +0.5
The Intel Q9300 CPU uses a 7.5X clock ratio. Board autodetected 7X.
Advanced BIOS Features First Boot Device = CDROM
Second Boot Device = Hard Disk
Third Boot device = Disabled
HDD SMART Capability = Disabled
SMART Capability is handled by OS X, as reported by Apple's Disk Utility.
Advanced Chipset Features Init Display First = PEG PEG = PCI Express Graphics
Integrated Peripherals On-Chip Primary PCI IDE = Disabled
On-Chip SATA Mode = Enhanced
USB Keyboard Function = Enable
USB Mouse Function = Enable
On-Chip options enable ACHI.
USB options allow the keyboard to function during OS X install.
Power Management Setup HPET Mode = 64-bit mode
ACPI Suspend Type = S1(POS)
Power On By Ring = Disabled
ACPI setting enables Sleep in OS X. NOTE: If ACPI = S3(STR) the hackintosh will not wake from sleep.
 

Software Installation:

Initial OS X Install: tonymacx86 Method (iBoot 2.5.3 and Multibeast)

Installing the software was actually a lot easier than I thought, thanks to those smart people at tonymacx86 who've written an install process and the software packages "iBoot 2.5.3" and "Multibeast", all of which can be downloaded from their site. For Multibeast I selected the Easybeast option: I didn't find a custom DSDT file designed for the Gigabyte GA-G41M-Combo motherboard and did not want to risk using a DSDT file written for another Gigabyte board.

NOTE: As of March 7, 2011, a DSDT file has been created for this motherboard (available here). I've not tried this; If you've had success using this file with your Hackintosh I would appreciate any feedback.

Despite reading the well-documented tonymacx86 process and available forums I still encountered a few problems, nearly all of my own making. These tips made the install process proceed a little more smoothly:
  • iBoot.iso CD: The iBoot.iso file needed to be burned as an ISO Image, not as a Data Disk. (One method: Using an existing OSX computer, open Disk Utility, select Image -- > Burn, then select the iBoot.iso image and burn. After the disk is burned, verify ISO Image format by mounting the disk and using Get Info. When verified, unmount the iBoot.iso image from Disk Utility by dragging it out of the sidebar.)
  • Enabling USB Keyboard: While the OSX Retail Disk was loading, pressing <F5> as instructed had no effect. Problem was traced to the keyboard not being recognized. Solution was to Enable USB Keyboard Function in the BIOS.
  • Installing OS X: <F5> needed to be pressed while the disk was loading (ie: the activity light is lit on the optical drive) allowed installation. Pressing it after the activity light stopped blinking did nothing.
  • Expansion Cards: Per tonymacx86's instructions, only the video card was installed.
    (In my build I installed a known 100% Mac compatible Firewire card. During OS X installation a Kernel Panic occurred, even when booting up in Safe Mode (ie: invoking "-x" option prior to booting). Booting up in Verbose Mode (ie: "-v" option) revealed the Firewire card as the cause. Removing the card allowed installation to proceed.)
  • Tools:  "OSX86 Tools" were installed while running Multibeast to make it easier to install any needed kexts after installing OS X.
  • Custom Installs: Custom installs were performed before updating to OS X 10.6.5, to prevent losing any functionality. (I performed mine after upgrading to OS X 10.6.5, causing the Sleep option to freeze the computer: Sleep was restored only by erasing the hard drive and repeating the tonymacx86 process from scratch.)
  • Custom Install "Warning": After the Custom Install was finished, OS X reported that some of the installed files were older than those already installed on the computer and recommend re-installing the latest OS X update. I ignored this warning; otherwise, see: Custom Installs,
During initial startup of OS X it requested a User Name: Having purchased all the components at my local Microcenter, I chose the name "MicroMini Hackintosh".

Post Install: OSX86 Tools + kexts

The only method for installing OS X on a PC that's guaranteed to provide 100% functionality is to install OSX on an Apple computer: On non-Apple approved PC hardware (ie: "Hackintoshes"), additional software always needs to be installed to enable various functions, and even then some functions may still not be available or function flawlessly.

In my case almost everything appeared to work, including Sleep, Restart, and Shutdown. Restoring the missing functions required the installation of only three kernel extensions (aka: "kexts"). To install the kexts, I used the program "Kext Helper b7", part of the "OSX86 Tools" package installed earlier when running Multibeast. (Alternately, I could have installed the "OSX86 Tools" package at this point by simply re-running Multibeast.)

Here's a summary of the missing or sub-standard features after installing OS X, how they were restored, and remaining problems:
  • Audio In/Out: Installed "VoodooHDA ver. 0.2.1.kext" to enable the backplane audio ports.
    Remaining Audio Problems:
    • Sound is either fully on or fully off (although the slider can be adjusted).
    • Case's front audio ports (AC'97 spec) are not working.
  • LAN: Installed "Atheros1cEthernet.kext" to enable it.
  • Firewire: Installed an OHCI-compliant Firewire PCI card. Fully functional.
  • Graphics: System Profiler reported OSX recognized only 32MB of the 512MB Video RAM. Installed "NVEnabler.kext" to correct.
  • Display: When using the VGA port, System Preferences --> Displays lists all available screen resolutions, but changing the resolution results in a blue screen.
    VGA Display Resolution Solutions:
    • Bad Solution: Shut down the computer by pressing and holding the power button for four seconds. Restart, and the selected resolution will appear. While this works, the computer doesn't like being shut down this way.
    • Better Solution:  Use the keyboard to put the computer to Sleep (Option + Control + Eject). Wait a second or two, then wake up the computer using the keyboard: The new resolution should now appear.
    • Best Solution: Connect the VGA monitor to DVI using a DVI-to-VGA video adapter.
The installation is complete!

Next: Performance Benchmarking...