My main computer at home has been running OS X 10.5.6 for some time now, and I’m very happy with it. So happy, actually, that my current laptop actually is a MacBook Pro, so yeah, who says users breaking the EULA is a bad thing for your business?
So, what about the Hackintosh?
It’s an old Pentium 4 HT based IBM Thinkcentre, Model/Type 8138-K7G. The upgrades from stock state are an nVidia 9500 graphics board, 2 GB of extra RAM, a 1 TB hard disk drive, and an additional USB controller, since OS X doesn’t recognize the onboard USB as a USB 2 host.
Software wise, I chose the iPC distribution, and it’s been working very well for me. I had to “trick it” into recognizing my network card and my graphics chipset, but other than that, most things seem to work just fine, with almost no visible bugs, except of course for not being able to update the system. The only actual problem I have, is that the network adapter doesn’t receive a MAC address (it’s defined by software on these chips), and so I have to avoid any routing/firewall/network security rules based around my computer having a MAC address. It’s not a problem for me, but I can see how it could be a dealbreaker for some. Update: Well, it became a problem once I had more than one computer running OS X. It seems transferring files between the Hackintosh and the MBP is impossible; they simply won’t authenticate properly against eachother. Perhaps somebody with deeper insights than what I can offer has some clue about how that works?
The “tricking” part consists of finding “drivers” (kernel extensions) for similar hardware, and hacking the PnP information in the .kext directory to also include the hardware ID of the device you want support for. Sound chips are notorious for this, as the “AC’97” or SoundMax sound systems consist of dozens of different solutions. The same is true for graphics adapters, especially in laptops, where the difference between two models in the same family (say ATI X1600 vs X1400, just to take something I’m familiar with), can mean the difference between working completely flawlessly and barely working. The screenshot above contains the additional files and programs I used to make iPC work on my computer.
Basically, getting OS X to run on non-apple hardware is a bit like running GNU/Linux in the mid-nineties: You need to know a bit about how computers work, you need some patience, and you need to accept the fact that some stuff might not work at all (especially if you try it on a laptop, where WiFi and power saving functions are most commonly out of order). It definitely is a great way to get to know the operating system from a viewpoint that most regular users won’t ever see (that is: from under the hood), but at the same time, at times, it’s pretty frustrating. I “had to” re-install my system a few times before I got everything as I wanted it to be. Of course, like with all Unix-derived systems, this probably wasn’t necessary, but I guess I’m getting lazier as I grow older – it’s simply quicker that way than to manually troubleshoot boot-loader and kernel extension problems further than what is needed anyway to get stuff to work.
If you just want to run OS X with as little hassle as possible, buy yourself a Mac. They work, and they work well. But if you’ve got a spare machine which you’re planning to try other operating systems on anyway, give Mac OS a chance before installing a Linux or another BSD flavor on it.