I like the challenge of a good hack, even if all the hard work has been done by others.
Such is the way of "Hackintosh", putting together an Intel based CPU computer and making Mac OS run on it. Tony Mac x86 has everything you need, there is so much information there it is overwhelming. "What's the point JAW" you say, "you aren't an Apple fanboi?"
At my kids school Garageband, an Apple product, is taught. My eldest got top marks for it, the boy is just starting out on in and I'm sure the youngest will be doing it too. But they don't get to practise at home. Initially I looked for a windows equivalent, got them to try some stuff, basically there is no substitute for Garageband in Windows land. Then I set up a Virtual Machine that ran up Mac OS, but it was too laggy.
Now at work they regularly dispose of old computers, I asked my mate in IT to save a couple for me, I got my hands on some Dell Optiplex 790s, Intel i5-2400 3.1GHz, filled with RAM, no HDD, AMD graphics card. There was enough talk on the internet that you could make Mac OS work on the bare metal box.
The legalities of this project are flakey. Mac OS is free, Garageband is free, having an Apple ID to download these is free, but you are supposed to run it on Apple hardware and you aren't supposed to modify the operating system. I didn't dig any deeper than that- the only reason I am building this was so my kids can practise Garageband at home, certainly not to make any money. "Is this a slippery slope JAW?" Probably. But in the last month or two of it being up and running I have heard plenty of cool Garageband music being made and no other activity - they all have Windows boxes for everything else.
So they way Hackintoshes work is you get the PC to boot into Mac OS, you apply some hacks to the standard OS that fools it into believing it is running on a real Mac and you load up some "drivers" so the Mac OS knows what to do with hardware in your box that the OS wasn't built for.
It was an interesting adventure, and like any hack when it is going well it's easy but when some part doesn't work you have to learn and research a lot in order to overcome the hurdle. I got there in the end but not without some frustration and many hours over many days lost - but in the pursuit of understanding so they aren't really "lost".
Now there might be a few people who are attempting to do exactly the same thing and have come across this story via search so I will offer my advice on the pitfalls of Hackintoshing a Dell Optiplex 790. Use the Tony Mac x86 Multibeast and Unibeast guides - they work - but here are some additional notes:
- At the time I did this Mac OS Mojave was the latest version, so you download a copy of the OS via the app store. But to download a copy you need to have a Mac to start with. So my first attempt at a Hackintosh as a Virtual Machine Mac OS came in handy for that, you can create the Mac OS installer boot disk straight from it! As to creating the Virtual Machine Mac OS, well that's a different story which contains the even more flakey legality of downloading a pre-hacked version of Mac OS and then hacking VM player to accept loading up an Apple OS.
- The Dells I had to play with had both nVidia and AMD cards in them, it would seem that Apple use AMD graphics cards so any AMD card will basically do, I ended up using an AMD Radeon hd6450.
- I popped in an old SATA SSD HD I had laying around. They are so cheap these days I wouldn't use an old mechanical spinning drive anymore. This worked nicely.
- Apple do not use olde school PC BIOS, they use the newer UEFI as the boot. Although the latest BIOS for the Dell Optiplex 790 supports UEFI, I couldn't get it to work. That was even trying non-MacOS booting too. You can specify an EFI device, and attempt to boot from it, the screen would simply go black but if you pressed up/down it was actually still on the boot selection page the text would reappear as you cursored over it. This reeked of BIOS programming error, so I gave up and stuck with legacy BIOS booting. 790's must have been at the very start of EFI - a little flakey. So where in the Tony Mac x86 install guide step 15.2 it talks about "further bootloader customisation with clover", yikes, I had to. Suffice to say if you run clover, set the boot sector to "Install boot0af in MBR" but don't let clover overwrite any of the UniBeast files this works.
- Building the Unibeast failed twice, possibly due to the USB sticks I was using. I didn't dig that hard; but after a long time of copying files it simply came up with a "failed to write" error. With Clover I attempted to make it work, and that's when I realised the genius of UniBeast. There is too much to know about Hackintosh'ng for even a street smart hacker like myself who just wants to have an operational Garageband box for his kids to deal with the intricacies of Clover. I kept trying Unibeast, different USB sticks, using different fingers on my mouse, and eventually it worked. So, "keep trying".
- MultiBeast, also genius; the onboard audio worked a charm with AppleALC, the onboard Intel Ethernet worked on AppleIntelE1000e v3.3.6, the Clover Legacy Boot Mode is just fine - I'm no purist, I don't care if it is jumping loaders before we arrive. USB is set for 3rd Party USB 3.0 for the high speed ports. The graphics configuration of "Core Graphics Fixup AKA WhateverGreen" did the trick for the Radeon HD6450, however out of the DisplayPort I could only get it to run at 1280x768, the DVI port fared better at 1600x1200 but my monitor can do better. Will continue to read up about that. The CPU is Sandy Bridge Core i5 which must still be supported on Mojave, very convenient, system definition iMac 14,2 was fine.
- The onboard Ethernet worked straight up but the computer isn't close to an Ethernet socket in my house so I switched to USB Wifi. I had a $3 wifi USB laying around but could not get it to work. You install the Mac OS version software for the device and apply a hackintosh kext(driver) but no-one had written a suitable kext for this particular device. I instead bought a $15 TP-Link device that had a known working kext, plugged it in, installed the software that came with it, downloaded and installed a multi pack kext set for USB Wifi dongles that supported it, installed that kext with KextBeast, and it began working - just needed to setup the Access Point details as per standard Mac operation.
- MIDI keyboard is important for Garageband, so I bought a secondhand Roland A49 for around $100, crossing my fingers that it would work. It did, complete plug and play. Because Multibeast gets the USB ports working, and MIDI is a standard protocol that Garageband understands, and the Roland is compatible with MAC, all good.
I have to admit now I have a new found respect for Apple. It is Unix at it's heart, I had to do a lot of terminal bash commands and it was nice to be in the land of Unix again. Although I spend my life on Windows based computers, whenever I have a hack on Android, or Raspberry Pi and all the other multitudes of Linux based equipment I come across, it puts a smile on my face.