MacBook – Will forcing integrated GPU mode prevent GPU panics? If so, how to do that

gpukernel-panicmacbook pro

Context: My mid-2010 MBP 15" has started to get random GPU panics:

Anonymous UUID:       84FEDF51-A1D6-EDC2-CC8C-6B53B7959874
Thu Feb  5 09:29:06 2015
*** Panic Report ***
panic(cpu 2 caller 0xffffff7f9bbb0f63): "GPU Panic: [<None>] 3 3 7f 0 0 0 0 3: NVRM[0/1:0:0]: Read Error 0x00000100: CFG 0xffffffff 0xffffffff 0xffffffff, BAR0 0xd2000000 0xffffff8134a1d000 0x0a5480a2, D0, P3/4\n"@/SourceCache/AppleGraphicsControl/AppleGraphicsControl3.8.6/src/AppleMuxControl/kext/GPUPanic.cpp:127
Backtrace (CPU 2), Frame : Return Address
0xffffff8137c5b590 : 0xffffff8018f2fe41

My system has two graphics subsystems: the built-in Intel HD Graphics and the NVIDIA GeForce GT 330M. I've heard anecdotally that the NVIDIA 330M is problematic. (I also heard that I just missed the deadline for an Apple warranty repair for that very problem…sigh.)

So I'd like to try forcing the system to always use the Intel HD Graphics and see if that makes the problem go away.

My questions:

  • Will forcing the system to use the Intel HD Graphics will cure the panics?
  • If so, is the gfxCardStatus app the recommended approach?

Best Answer

I was having trouble on startup because gfxCardStatus would load after other applications which used the Discrete graphics card already started (eg Chrome).

To force the MBP to use the integrated graphics card from startup, I did the following:

  1. made sure that gfxCardStatus is not in my list of login items

go to: System Preferences > Users & Groups > Current User > Login Items

  1. used LaunchControl: http://www.soma-zone.com/LaunchControl/ to create a launch configuration for gfxCardStatus to start it before my login items, and to make sure to start it in graphics mode
    • select "User Agents" from Drop Down List
    • click on + to add new launch configuration
    • entered the following

Program To Run: /Users/username/Applications/gfxCardStatus.app/Contents/MacOS/gfxCardStatus --integrated

Run At Load: True

Note: I used v2.4.3i version of steveschow's fork (steveschow/gfxCardStatus) which handles integrated mode a bit better than the original (codykrieger/gfxCardStatus)

you can download it here: https://github.com/steveschow/gfxCardStatus/releases

Related Question