codykrieger / gfxCardStatus

gfxCardStatus is an open-source menu bar application that keeps track of which graphics card your unibody, dual-GPU MacBook Pro is using at any given time, and allows you to switch between them on demand.
https://gfx.io
Other
1.68k stars 321 forks source link

Integrated Only switches to Dynamic Switching #360

Closed html-hack closed 3 years ago

html-hack commented 3 years ago

I have an issue running the latest gfxCardStatus 2.5, setting is changed to "Dynamic Switching" after restarts, after setting to "Integrated Only" before restarts. The icon in the top menu bar is i now, not d as it was when I first opened the app and set to "Integrated Only" before restart. I can't find any documentation, is this normal? Seems it should be "Integrated Only" if I disable the discrete GPU, not "Dynamic Switching" which implies both integrated and discrete are running. Also, after playing with it for some time, I opened an app that uses High Perf graphics (discrete), Affinity Photo, and the icon changed from i to d, and Activity Monitor says the discrete GPU is running. When I quit the program, the status goes back to i and the graphics card status is Intel integrated. Is there a way to force Integrated Only for all time instead of switches to Dynamic Switching, and what happens if a program is opened that uses the High Perf (discrete) under these conditions? Appreciate insight into how this code works, I couldn't find documentation. My specs are below.

Case for use: I recently started having GPU (NVIDIA GeForce GT 330M) issues on my Macbook Pro 17" (Retina, mid-2010). Black screen with constant restarts. Only worked in Safe Mode (Discrete GPU disabled). Found gfxCardStatus and installed it, set to Integrated Only. At first it still would not boot into Normal or Recovery Modes, only Safe. Then I booted into Verbose Mode (Power-CMD-V) and it worked. That is when I noticed the indicator was i and the status changed from "Integrated Only" to "Dynamic Switching". I'm hopeful this will fix the random black screen-restart "kernel panic" issues I was having but I've read more than a few cases where this app works for awhile and then issues start again because some other app crashes after a call to discrete GPU functionality is blocked. I don't know how this app works, is it really disabling the discrete GPU, etc. Perhaps the best soln long-term is to disable the GPU in firmware permanently but I'd like to use this app and see if it works for awhile with no crashes. Appreciate feedback on the above issue.

Many Thanks.

codykrieger commented 3 years ago

@html-hack gfxCardStatus always starts up in Dynamic Switching mode. There's a feature request to allow starting up in Integrated Only mode (#150), but last I checked, that caused issues with a number of apps, so I haven't implemented it.

If you want a more permanent fix, you may have to do as you suggest and disable the GPU in the firmware.