If you recall from our 15-inch Core i5 MacBook Pro review, one of our only criticisms was the inability for users to manually change between lower-power integrated Intel HD graphics and the discrete NVIDIA GeForce GT 330M GPU. As it stands, within OS X users can only disable the Intel HD graphics in favor of using the discrete, but more power-hungry GT 330M full-time. Since being tipped in the comments section on one of our MacBook Pro articles, we've been keeping our eyes on a particular utility developed by independent OS X developer Cody Krieger called gfxCardStatus. Until now, this has been a useful tool exclusively for reporting at-a-glance which GPU was in use in the menu bar. But now, there's something more:

Dynamically change GPUs - Now whenever you feel like it

With verison 1.6 comes the ability to manually change GPUs on the fly, whenever users desire. That's right, you can manually change from the discrete GT 330M back to the more energy-efficient Intel HD graphics even from applications that otherwise cause an automatic switchover. This is a huge boon to mobile road warriors that want to wring every last minute out of their batteries if need be.

Grapher - Previously GT 330M only, now on integrated Intel HD graphics

In the application, you can see which process(es) were responsible for the change to discrete graphics, and optionally switch GPUs. The only exception to this (thus far) unrestricted ability to use Intel HD graphics in favor of the GT 330M is when an external display is connected. Use of an external display is only possible through the GT 330M due to physical connector restrictions. At the same time, if you're using a multiple monitor setup, you're also likely at a desk, and thus don't need the power savings.

We're still playing around with it, but thus far everything appears to work perfectly, and we're switching from the GT 330M back to Intel HD graphics dynamically without any major issue. Hit up the link and give it a shot if you're feeling adventuresome.

Update: The developer is fast, and has updated gfxCardStatus to 1.6.1 minutes after we posted the story. Nothing has really changed though aside from some tweaks mentioning that manual switching is obviously highly experimental, and removal of the dependent processes tab when Intel HD graphics is in use.

We haven't yet run into any drastic problems, but have only tested with basic things like Photoshop CS4 with GPU acceleration disabled (this previously caused a switch to the 330M), X11 under OS X, and a few other simple 3D programs that previously triggered a GPU switch, like Grapher. 

Update 2:Cody has updated gfxCardStatus to 1.7 which now includes support for locking the graphics subsystem to either the Intel Integrated HD or 330M full time, instead of requiring you to manually switch. This makes a lot more sense, and essentially now brings the 2010 MacBook Pro graphics subsystem back to parity with the level of control present before the refresh. Dynamic switching triggered by OS X is still allowed as well.

In addition, there's support for status detection on the pre-refresh 9400M/9600M GPUs, displaying an i for integrated and d for discrete in that case.

Comments Locked

14 Comments

View All Comments

  • solipsism - Saturday, May 8, 2010 - link

    Besides this working like Optimus when it should be much more intelligent, the fact that you couldn't turn off the dGPU to conserve power whilst on prolonged battery use was a head scratcher.
  • MySchizoBuddy - Saturday, May 8, 2010 - link

    do you really believe that consumer what to turn on off on off on off on off on off. As oppose to having it done for them.
  • icrf - Saturday, May 8, 2010 - link

    It's simpler than that. Automatic switching is hard. Manual switching is easy. If you can offer the former, why on earth wouldn't you also allow the latter, for those that want it?
  • solipsism - Saturday, May 8, 2010 - link

    Depends on the consumer. Note that Apple does let you TURN OFF the IGP, they just don't let you TURN OFF the GPU, the one thing that would give me great battery life when traveling.
  • kazuha vinland - Saturday, May 8, 2010 - link

    It would be great if you could set it to remember actions, sort off like ZoneAlarm's firewall back in the days when it was popular. Then after a while I imagine it would be pretty optimized. Although really, Optimus should be tweaked a lot so that we could avoid this hazzle and bring out the full potential of these units.
  • eddyg17 - Saturday, May 8, 2010 - link

    Baby steps first.

    Being able to switch between GPUs at all is huge on of itself. Later on, on future releases the author might add more functionality.
  • Alexstarfire - Saturday, May 8, 2010 - link

    Is there any program like this for Windows? I remember when you looked at battery life on the MacBook with Windows installed and it was horrible, though for the very obvious reason that both GPUs ran at all times. If you could turn one off I'd love to see the battery life revisited.
  • Brian Klug - Saturday, May 8, 2010 - link

    That's a very good point. I'm not sure how Cody's code works, but obviously having a Windows version is the important next step. I hadn't thought about that. I know the next thing on my list of things to try is to disable the GT 330M while using Parallels, which causes a pretty considerable reduction in battery life as it stands.

    -Brian
  • Kevin the Tech - Saturday, May 8, 2010 - link

    +1 to this idea.

    I've been wondering if anyone was ever going to be able to enable windows GFX switching since they started including it in mac os. It doesn't even have to be automatic, just any control at all.

    As someone who will soon be owning a mac, but most likely running windows, enabling windows GFX switching would be the last major negative to using windows on a macbook.
  • mianmian - Saturday, May 8, 2010 - link

    I remember a previous article said that OS X does not switch GPU properly. So does Macbook pro get better battery life with the manual switch?

Log in

Don't have an account? Sign up now