This time it's final! (At least I hope).
I don't know where to start. OK, let me make a quick recap for people joining in on the fun. Apple released a 10.8.2 update to OS X which (re-)screws everything in regard to system stability for us fermi owners.
The just released nvidia driver doesn't install out of the box. I provided a somewhat incomplete solution to force it to work earlier in this forum
but for some reason I didn't think of checking that OpenCL worked besides launching OceanWave.
And indeed it soon became apparent that LuxMark didn't work and just rendered a white screen.
As I surmised earlier it was probably because OpenCL.framework had been also updated by the 10.8.2 update and needed a rollback.
For your convenience I'm gonna re-post the entire solution corrected for that problem. Sorry to those who already applied the fix, but read on there's a fix for the fix at the end. The next part is an almost verbatim copy and paste of my previous post save for two added lines to take care of that pesky OpenCL problem. If you already applied the previous fix just skip to the part after the ### mark.
Also I originally didn't notice this but when the 'sudo ditto ...' command is run it prints 'sudo: unable to initialize PAM: No such file or directory'. Don't pay any attention to it, the file was copied just fine.
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,OpenCL.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 named nvidia_10.8.2.zip 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,OpenCL.framework},PrivateFrameworks/GPUSupport.framework}
sudo ditto --hfsCompression OpenGL.framework /System/Library/Frameworks/OpenGL.framework
sudo ditto --hfsCompression OpenCL.framework /System/Library/Frameworks/OpenCL.framework
sudo ditto --hfsCompression GPUSupport.framework /System/Library/PrivateFrameworks/GPUSupport.framework
sudo chown -R root:wheel /System/Library/{Frameworks/{OpenGL.framework,OpenCL.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 (OpenCL.framework, 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
###
For people who applied the partial fix posted earlier. Download the attachment named opencl_fix.zip at the end of this post.
Then make a backup of your original OpenCL.framework, as earlier this command save the framework to your home folder, just change the tilde to where you want it to be saved:
Code:
sudo cp -R /System/Library/Frameworks/OpenCL.framework ~
And finally unzip the archive somewhere, and 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/opencl_fix
sudo rm -r /System/Library/Frameworks/OpenCL.framework
sudo ditto --hfsCompression OpenCL.framework /System/Library/Frameworks/OpenCL.framework
sudo chown -R root:wheel /System/Library/Frameworks/OpenCL.framework
And that's it for now. I hope I didn't forget something (again). Also as noted earlier this is not a perfect solution, there are still problems with WebGL and Safari (or Opera Next and hardware acceleration if you swing that way).