OK, I must admit I foolishly upgraded to 10.8.2 with no backup whatsoever.
What can I say? I like taking risks I suppose.
Of course, since my system didn't even boot after that I was pissed.
But after a bit of reading I learned that I just needed to restore an older version of AppleACPIPlatform.kext and everything would be honky dory once again.
Was it though?
Not in the slightest, because as some of you here noticed there was no way of installing nvidia's 10.8.1 drivers without experiencing the infamous login loop upon reboot. Which of course is just loginwindow.app segfaulting.
But were you to log to a console in those conditions, you would notice that nvidia's kexts are indeed loaded. What's more since the login animation was being so jerky it also probably meant that something was preventing QE or OpenGL from working.
Right now you might be worrying that I'm just venting and wasting your time, but fear not because in fact I have a solution that will enable you to use nvidia's kexts on a 10.8.2 system.
As usual just copy and paste what's between code tags in your favorite terminal, preferably one line at a time.
So the first step of course is to backup everything (by default to your home folder, if you want it somewhere else just replace the tilde sign (~) in the command by a folder of your choosing):
Code:
sudo cp -R /System/Library/{Extensions/{GeForce*,NVDA*},Frameworks/OpenGL.framework,PrivateFrameworks/GPUSupport.framework} ~
Then you'll have to install nvidia's pkg as usual, DO NOT reboot once it's done.
Next download the zip archive attached at the end of the post, unzip it somewhere (it will expand to a folder named nvidia_10.8.2), open a terminal, run these commands (don't forget to replace /folder_where_I_unzipped_the_archive by the name of the folder in which you extracted the archive):
Code:
cd /folder_where_I_unzipped_the_archive/nvidia_10.8.2
sudo rm -r /System/Library/{Frameworks/OpenGL.framework,PrivateFrameworks/GPUSupport.framework}
sudo ditto --hfsCompression OpenGL.framework /System/Library/Frameworks/OpenGL.framework
sudo ditto --hfsCompression GPUSupport.framework /System/Library/PrivateFrameworks/GPUSupport.framework
sudo chown -R root:wheel /System/Library/{Frameworks/OpenGL.framework,PrivateFrameworks/GPUSupport.framework}
And that's it. No need to rebuild your kernel cache since the nvidia's installer took care of that.
Now what all this does is reinstall some frameworks (OpenGL.framework and GPUSupport.framework) from the 10.8.1 release because they are a dependency of /System/Library/Extensions/GeForceGLDriver.bundle/Contents/MacOS/GeForceGLDriver which is the OpenGL driver.
If you want some OpenCL goodness, you'll have to apply this patch (for more info about this, read my earlier post on the subject):
Code:
sudo perl -p -i.old -e '$c+=s/\x8b\x81\x1c\x0c\x00\x00\xeb\x06\x8b\x81\x20\x0c\x00\x00/\xb8\x02\x00\x00\x00\x90\xeb\x06\xb8\x00\x00\x00\x00\x90/; END { printf "%s: %d substitution%s made.\n",($c==1 ? "Success" : "Error"),$c,(!$c || $c>1 ? "s" : ""); $?=($c!=1); } ' /System/Library/Extensions/GeForceGLDriver.bundle/Contents/MacOS/libclh.dylib
Reboot and enjoy!
On my hackintosh the 10.8.2 update is now as functional as the 10.8.1 was.
I can change resolutions without triggering a blue screen, sleep without a garbled display upon waking up, launch Unigine Heaven without triggering a black screen.
I do have the occasional freeze and/or "NVDA(OpenGL): Channel exception!" message in my logs but on the whole everything is usable (I had an uptime of 5 days before updating to 10.8.2).
But of course your mileage may vary.