Saturday, October 4, 2014

Almost Flawless OSX 10.9 Mavericks Install

     The last time I updated my Hackintosh system, it was Lion 10.7.3.  Back then, there was no Unibeast and I had to utilize a different bootloader instead of Chameleon due to some of the "unrecommended" or non-OSX86-tested hardware I have.  Also, instead of the popular iBoot boot disk, I had to do extra research to discover Hackboot.  It took many weekends and numerous hours to perform the install, and most of the hours I recall were devoted to injecting kexts (hardware driver scripts that are used by Mac OSX to recognize and run, you guessed it, hardware) into standard drivers, specifically for the GPU, WiFi and LAN functionality.  While I maintained the same kernel flags in (GraphicsEnabler=Yes, npci=0x2000), I had to add hex data to enable QE/CI with my specific GPU using EFIStudio.  

     It was substantial work, but ultimately, I did get almost full functionality with my system. I say almost, because there were two things that still had kinks:  sleep/wake using the Magic Mouse via Bluetooth (using a DIY Bluetooth chip I got from an old Macbook and soldering the wires to an internal USB header) would allow for manually putting the system to sleep or using hotkeys but it never would power down on its own, and whenever the system wakes from sleep, the CPU temps would go up from 39 degrees Celsius at idle to 45-51 degrees Celsius.  I tried to fix these by looking up scripts to repair Intel Speedstep which I read was the root of the sleep problems.  All my efforts were to no avail, so I decided to just let these issues be and still use the system.  Due to this rigorous process, I felt no desire to iterate my efforts when another update was available from Apple.  I did not even bother when Mountain Lion came out.  I always keep in mind that an actual Applestore-bought Mac Pro with equal specifications as this machine would have set me back around $2800 whereas this one cost a fifth of that amount to build.  As long as I can use my image editing software on this system and benefit from the power of its Xeon processor, I still get my money's worth no matter what.

     Fast forward two years.  Steve Jobs has already moved on to the Great Beyond.  Apple has a new captain steering the ship.  With these changes, a multitude of unexpected developments occurred - a 7-inch iPad Mini that Jobs was so resistive in producing while he was still around, aesthetic changes to iOS and Mac OSX, and the production of the first "low-cost" Apple product ("Gasp!" reacted the Apple fanboys) which became the iPhone 5c.  And for the first time in company history (as far as I know, although I could be wrong), Apple released a free Mac OSX version - 10.9 Mavericks.

     Free, posted Apple all over their website and on the App store.  Free, posted all the forums and groups online.  And so, having gotten over my arduous experience of two years ago (and dammit, did I mention it is free?), I decided to don my computer glasses once again to subject myself to another hair-pulling, head-banging, eye-reddening, all-nighter exploit - one abundant with cursing, sighing, groaning and ultimately, screaming at this inanimate yet animate object that is the cause of both joy and sorrow and delight and disdain (but the new software is, again, FREE, so...).

     After downloading the approximately 5 GB file from the App store, I logged in to my favorite forum -, so I can apprise myself of the latest software tools and most importantly, the most recent experiences of other Hackintosh hobbyists from all over the world with this newest incarnation of OSX.  I immediately noticed several developments after spending a few minutes reading the forum posts and administrators' guides:  

- the installation process has become so much more streamlined since I last performed one and this is certainly good news as far as convenience and time are concerned.  Gone are the days when I had to switch between loader disks and OSX installers and installing the installer on an installer partition and etc, etc.  Gone are the days when I had to run Kext Utility numerous times to install kexts of different OSX versions to get functionality from different pieces of hardware.  And gone are the days when I had to run so many different pieces of other support software so other background functions work as they should.  Nowadays, there are only two things one will need: UniBeast and MultiBeast.  Everything else is icing.

- the Hackintosh community has gotten so much bigger, and so much more popular.  This is good.  And this is bad.  When something becomes too popular, it invites idiots and half-assed, mine-is-bigger-than-yours jerks.  One thing I can relate to this is I have a cousin who was always into cycling even when we were barely teenagers.  His dad, my uncle, has always been into road bikes as far as I can remember.  From then until now, they still clock hundreds of miles a week every single week.  They tell me that in those pre-Armstrong days,  not a lot of people really enjoyed bikes as much as some claim now.  Back then, when you hear somebody is into cycling, it was usually the newspaper delivery guy who races on weekends, a real hobbyist and fan, or the local bike shop owner.  Then Li(v)e Strong happened.  Suddenly, every person going through a midlife crisis is pedaling along the sidewalk, bedecked in cycling jerseys screaming brand names I can barely read let alone pronounce.  Now every other rich person in the community belongs to a "cycling club" but sometimes all they really do is assemble at a local park or shopping mall parking lot, their fat, guts, butts and balls squished into their hypertight custom-made outfits (they remind me of tubes of toothpaste) standing next to their hyper-expensive, hyper-high-end, custom-made bikes.  They would probably pedal a few laps around their cars just to go through the motions, and I would see some falling down doing the boogie woogie trying to disengage their shoe clips from the pedals.  You will see the same phenomenon happen to any fad.  Counter-strike.  Photography (or rather, the obsession with DLSRs - does not matter if one really knew how to satisfactorily use them or understand what DoF or Circle of Confusion mean).  Marathons.  Badminton.  Cars (especially after the first "The Fast and the Furious" movie came out).  Breakdancing.  Even DoTA.  So while growth is good, a good thing can attract a substantial number of witless wonders, too.  But as with all things, no one can really do anything about it.  One can rant like I just did, and it feels good.  Time to return to the main topic.  I entered the motherboard BIOS and removed all overclocked settings on the CPU and RAM.

    While the process is so easy now, it actually felt anti-climactic that all I had to to do this time was install UniBeast on an 8 GB USB drive and copy Multibeast into the same drive, plugged it in and booted into Chameleon, typed in the usual kernel flags (in this case, -x, PCIRootUID=1, and GraphicsEnabler=Yes), and let Mavericks install.  It almost felt uneventful.  Like listening to microwave popcorn pop.  For some reason, I miss the pursuit that was involved in my last install - the pursuit of functionality and perfection through problem-solving, planning, logic and research.  Or maybe I am just a masochist.  I have older hardware than most hobbyists have on the forum, plus a not-so-popular motherboard to boot.  I always had to extract EFI strings using EFIStudio and OSX86Tools into XML files and produce hex codes I can use to run my GPU and ethernet - versions of hardware that were never fully supported by popular tools out there, and as both are end-of-life, almost obsolete models, I do not think anyone would bother taking the time to perform legacy fixes.  I miss the thrill of hunting down solutions and sharing ideas in the forums, instead of downloading automated bootloaders and driver/fix all-in-one installers.

     Once Mavericks finished installing, I ran MultiBeast (before rebooting) with the following options:

Drivers -> Disk -> 3rd Party SATA
Drivers -> Misc -> ElliottForceLegacyRTC
Drivers -> Misc -> EvOreboot
Drivers -> Misc -> FakeSMC v5.3.820
Drivers -> Misc -> NullCPUPowerManagement
Drivers -> System -> AppleRTC Patch for CMOS Reset
Bootloaders -> Chimera v2.2.1
Customize -> Boot Options -> Basic Boot Options
Customize -> Boot Options -> Use KernelCache
Customize -> System Definition -> Mac Pro -> Mac Pro 3,1
Customize -> Themes -> tonymacx86 Black

Realtek ALCxxx Without DSDT ALC887/888b Current v100302
Realtek Lnx2Mac's RealtekRTL81xx v0.0.90

Boot Options: Generate CPU States
                     PCI Root ID Fix (or PCIRootUID=1)
                     Use KernelCache
                     1080p Display Mode

System Definition : Mac 3,1 (Mac Pro)

     When MultiBeast declared success in installing the above options, I removed the Unibeast drive and rebooted the system.  I accessed the BIOS again so I can reset the overclocked values (the Xeon processor runs 2.53 GHz at stock but I have it running at 3.40 GHz with a Hyper 212 Coolermaster fan, and the 8 GB of 1333 MHz RAM is running at 1432 MHz), then proceeded to booting into OSX.

     The boot process went without incident and the usual setup question screens popped up before I can access the desktop.  There were no requirements for additional boot flags such as -v or -x, and certainly no diving into the /Extra folder to fix resolution or sound.  

     The first feature I wanted to evaluate is QE/CI of the GPU.  In other words, I found a good excuse to play Starcraft II and DoTA 2, and both played wonderfully as I enjoyed the next hour.  From time to time, I would check the temperatures on the 8 cores of the CPU, and what do you know, they all stayed between 34-36 degrees Celsius.  

     I could not believe the temps at first so I decided to let the system power itself down.  This provides me the opportunity to test wake-sleep cycles and as I have shared above, increase in temperatures after wake.  After 5 minutes, the monitor dimmed.  Then another miracle happened.  After 10 minutes, the CPU slept by itself.  I could never get that to work before - I had to manually click sleep or hold Command-Option-Eject together for sleep.  I let another 10 minutes pass by before I woke the system then assessed everything - Bluetooth, mouse, keyboard and WiFI all work.  And most notably, the core temperatures stayed where they were pre-sleep.  Finally, after all those long hours of trying to repair Speedstep, Apple decided to fix the damn thing themselves.

     One last small problem I discovered was logging in to iMessage.  Every other account worked - iBooks, iCloud, iTunes, Appstore.  I could not get my messages to sync via iCloud but in no time I found this fix courtesy of [jaymonkey] at the tonymacx86 forums:

<a><font color=#339999>How to Fix iMessage</font></a>

     Subsequently, everything was smooth sailing.  I returned my files from my Time Machine backups and from the NAS drives and this took another 45 minutes due to the large NEFs from various jobs.  I also reinstalled important software involved in monitoring and benchmarking, support apps for image editing and, of course, more games.  Overall, the whole process took two hours tops, not counting the extra hour playing DoTA 2 and Starcraft II.  I actually had more problems making the Unibeast drive (due to older USB drive issues fixed with the easiest fix of all - buying a new drive now that they are all a third of the price at same capacity) than performing the OSX installation.

     Overall, I rate my Mavericks installation experience as excellent.  Although I tried to find more information about this and I do not think Apple will ever admit it publicly, I believe they have relaxed some restrictions on their beloved OSX when it comes to supporting third-party hardware as evidenced by the ease of the install. That, plus due to the excellent work of Hackintoshers everywhere we can finally install OSX on third-party hardware without a ton of the previous headaches. I gratefully applaud the work and dedication of this amazing community.