X

OS X 10.8.3 forces discrete GPU use in 2010 MacBook Pros

The latest graphics-related problem in the mid-2010 MacBook Pro results in persistent use of the discrete graphics card and lower battery lives.

Topher Kessler MacFixIt Editor
Topher, an avid Mac user for the past 15 years, has been a contributing author to MacFixIt since the spring of 2008. One of his passions is troubleshooting Mac problems and making the best use of Macs and Apple hardware at home and in the workplace.
Topher Kessler
3 min read

A number of owners of Apple's mid-2010 MacBook Pro who have upgraded to OS X 10.8.3 are noticing that systems with dual graphics cards will automatically switch to using the more powerful discrete graphics chip regularly, even when using non-graphics intensive applications like Google Chrome, Dropbox, and Growl. This does not result in crashes or other interruptions in workflow, but it does increase the drain on the systems' battery and result in a shorter working time when not connected to AC power.

The 2010 MacBook Pro has had its fair share of graphics-related issues, including black-screen output when waking from sleep and graphics-related kernel panics, both related to the graphics-switching routines in the system. When problems with these systems began occurring I suspected they were hardware-based issues since they recurred on fresh OS installations and were only fixed with motherboard replacements; however, Apple took some measures to at least work around the issues with software patches.

The current issues follow a software upgrade from OS X 10.8.3, and appear to be a conflict with the drivers for these systems and new graphics handling requirements in the latest version of OS X. Starting with OS X 10.7, Apple implemented a change that has the system prefer the more powerful discrete GPU for some graphics processing routines unless developers specifically implement both optional routines that will run well on the integrated graphics and include a setting to inform the system of this capability.

This change has put a bit of the burden on developers, so if Apple updates its drivers to force some routines to use the dedicated GPU only, then developers will have to rework their code to contend with this change. In this case, the change results in routines that should run on the 2010 MacBook Pro's integrated graphics being forced to run on the discrete GPU, a situation that likely arose from Apple's workaround fix for prior graphics bugs in these systems.

Fixing this issue in full will require either waiting until the developers can update their programs to handle the changes Apple has made in OS X 10.8.3 (apparently not an easy task, according to the Dropbox developers), or waiting for Apple to address the issue.

Unfortunately though some developers foresee complex methods of working around this issue, others, such as the developers of Growl, note that it's practically impossible for their code, which has prompted them to lay the responsibility on Apple as a bug it needs to address.

One solution to address similar issues in the past was to use the tool gfxCardStatus to force the use of either the discrete or integrated GPU, but this may not work in some situations. If a program that forces the use of the discrete GPU is already running, gfxCardStatus will not be able to change the GPU. You can try quitting the application, followed by using gfxCardStatus to set the internal graphics card for use, and then relaunch your program to have it load with the internal graphics active. In many cases this approach should have the system continue to use the internal graphics card, though keep in mind that it may not work in all cases.

While frustrating, this issue will ultimately only drain battery life on the affected systems, resulting in an hour or two less of expected battery running time; it is not an issue that will lead to any data loss or crashes. If you are in need of maximizing your battery life on an affected system, for now your options are to revert your system to OS X 10.8.2 (best done by restoring from a Time Machine backup), or by using the gfxCardStatus utility to force the use of internal graphics before you launch programs that demand the discrete GPU.

Beyond these options, you could also consider keeping your power adapter with you for more extended periods of travel, just in case you need to plug in and recharge.



Questions? Comments? Have a fix? Post them below or e-mail us!
Be sure to check us out on Twitter and the CNET Mac forums.