MacBook Pro 2007 Graphics Freeze Workaround
What's the problem exactly?
When running Second Life on an affected MacBook Pro, your machine completely freezes up. The cursor doesn't move, pressing the Caps Lock key does not change the Caps Lock light and your machine is no longer reachable from any other machine on the network. The only means available to recover is to hold the power button down until the Mac powers off and then restart it.
Is my MacBook Pro affected?
If you have a GeForce 8600M GT graphics chip, then it probably is. Only the 2.2 and 2.4 GHz MacBook Pros have this model of video card at the current time. To see if you have this graphics card, go to Apple Menu -> About This Mac and then click the "More Info..." button, or open /Applications/Utilities/System Profiler.app. In the window that appears, select "Graphics/Displays" out of the "Hardware" category.
The problem appears to be the drivers for the Nvidia GeForce 8600M GT. The MacBook Pro in question is the 2007 2.2 and 2.4 GHz machine running Mac OS X 10.4.9 and 10.4.10. This issue may be fixed in a future software update from Apple, and so this material may become invalid in the somewhat near future.
Described problem still persists with Mac OS X 10.4.11 (released nov. 14, 2007) on MacBookPro3.1 with 2.4 GHz processor and Nvidia GeForce 8600M GT.
Described problem still persists with Mac OS 10.5.1 on MacBook Pro 3.1 with 2.2 or 2.6 GHz processor and Nvidia GeForce 8600M GT.
What's the workaround?
The workaround is to use OpenGL Profiler to run the Second Life application using the "Radeon X800 XT v1.5 ATI-1.4.0 (10.4)" renderer instead of the native one. If you don't know what that means or how to change your drivers, keep reading for instructions.
Install OpenGL Profiler
The OpenGL Profiler application is installed as part of the Xcode installation. You can download the latest Xcode installer from Apple's developer site ( http://developer.apple.com - on that page under "Software Downloads"). You will probably need to make an ADC Online account, which is free. The Xcode download is very large - about 1 GB. You can also find Xcode on the Mac OS X installation discs that came with your Macbook Pro.
Open the .dmg file and install the "XcodeTools" package.
Install the OpenGL Profiler Update
The OpenGL Profiler application installed by Xcode tools must be updated to work with the 8600 graphics card. You can download the OpenGL Profiler Update from Apple's developer site. You must already have OpenGL Profiler installed (from the Xcode tools) to use the updater. To get this, you need to use your ADC account and login to http://connect.apple.com and check under "Downloads" then "OpenGL".
Open the opengl_profiler_update.dmg file and install the "OpenGL Profiler" package.
Start the OpenGL Profiler
You can find "OpenGL Profiler" in /Developer/Applications/Graphics Tools after you've installed it as described above.
Go ahead and open it up. You should see a dialog like this:
Click the little plus button. It's circled in red here:
Navigate to /Applications/Second Life and then click the "Choose" button. Your window should now look like this:
If there are any other versions of the Second Life application on your hard disk that you're going to want to use, go ahead and click the plus button and add each one to the list.
Now click the little disclosure triangle circled in red here:
In the extended dialog that appears, do the following:
- Select the Second Life application you want to start by clicking it in the list at the top
- Click the pop up in the Launch Settings section and change the value from "Native Graphics Driver" to "Radeon X800 XT v1.5 ATI-1.4.0 (10.4)" (it's the last one in the list).
Your window should now look something like this:
Go ahead and click the "Launch" button that is circled in red here:
You should now be able to run Second Life without experiencing the total system freeze lockup crash badness. Please note that it is possible to pick other drivers from the list, but so far, picking other NVIDIA drivers does not avoid the crash and picking other ATI drivers gives undesirable performance.
- This problem also seems to occur for the standard Macbook 2007 with GMA x3100 chips see here
- OpenGL Profiler does not remember the driver setting once you quit it. You must always expand the Launch Settings section and make sure the "Radeon X800 XT v1.5 ATI-1.4.0 (10.4)" driver is selected before clicking the "Launch" button.
- This is not guaranteed to work. There have been a few Lindens testing this using pre-release software for a while now to make sure nothing horrible happens, but please do this at your own risk. Using drivers that are not designed for your hardware is generally not advised.
- Don't do this forever. Apple will likely have a system update which will make this workaround obsolete. Please check back here often for updates, or hit the "watch" button at the top of the wiki page to be notified when this page is changed.
- I found that, when using Bootcamp with Windows XP and the SL client on the XP side of the machine, Second Life works just fine with this video card.
- This problem seems to be gone with new MacBook Pro laptop(s), at least NVIDIA 9600 option was tested (on 9400 Second Life viewer was saying something like "unknown video card")
UPDATE - RC 184.108.40.206377 and Leopard 10.5.6
This problem has been resolved on a number of Macbook Pros (mid-late 2008, before the new model) (eg, a MBP41.00C1.B03 with the GeF 8600) by:
- Updating to OS X 10.5.6
- Using the RC 220.127.116.11377 viewer (and hopefully, ultimately, the next actual release by LL)
- Using the debug setting in the Advanced menu - selecting TextureMemory and entering 512 (workaround for unrelated graphics issue)
Early reports are that graphics and other settings can effectively be adjusted quite freely to achieve good in world experience, at least overcoming the GeF 8600 issue in terms of performance.