CodySchrank / gSwitch

macOS menu bar app that allows control over the gpu on dual gpu macbooks
MIT License
886 stars 46 forks source link

Do not revert to dynamic switching with external display via eGPU #61

Closed mrmachine closed 4 years ago

mrmachine commented 4 years ago

I have an eGPU to work around MacBook Pro CPU performance issues with external displays. But gSwitch still tells me an external display is connected, and forces me back to dynamic switching mode.

I do not want ANYTHING to use the dGPU. The eGPU is running the external monitor. I want all apps to use either the iGPU or eGPU. Ideally, the dGPU should draw 0W power.

With the internal display as primary, newly launched apps still default to the dGPU unless I explicitly set them to "Prefer External GPU" (via "Get Info" on the app icon). Even when I force all apps to prefer eGPU, _windowserver still runs on the dGPU (and eGPU, but not iGPU), and it still draws ~5W.

The docs say:

Why does the app go back to dynamic switching when a display is plugged in?

Unfortunately your mac is designed such that in order to use an external display, it has to use the discrete graphics card. And since you plugged in the cable I’m assuming you want to use the display.

Could you update gSwitch to not make that assumption when an eGPU is connected?

CodySchrank commented 4 years ago

No, unfortunately this is an artificial limitation by apple done at the hardware level, there is nothing I can do about it.

mrmachine commented 4 years ago

Even though the display is connected to the eGPU, and not connected to the MBP? Bummer. I knew it was not possible when connected to the MBP, but the whole point of the eGPU is to bypass the dGPU.