Force ALL apps to use dGPU or iGPU (NOT eGPU)?
I'm using an eGPU primarily to work-around the problem where connecting ANY external display to a 16" MBP will cause the dGPU to be active and consuming ~20W at idle. This generates a lot of unnecessary heat, causes the fans to spin unnecessarily fast, and if I actually do anything that uses GPU (e.g. video conference) it can sometimes start throttling the CPU even though it's the GPU generating heat and CPU is 90% idle already.
Using an eGPU allows the dGPU to work as if no external display was connected, and consume only ~5W at idle. This works great, and my CPU can run faster in general, and the MBP is basically silent 95% of the time now, and no throttling.
BUT, I really hate that any apps that are using the eGPU must quit and re-launch when I disconnect the eGPU. Since I don't actually need increased GPU performance, I only want the eGPU to drive the display and NOT to render the apps.
I know I can force or encourage individual apps to use the eGPU via `Prefer External GPU` in the `Get Info` window. And I can make the eGPU the default for newly launched apps by making my external display the default (by dragging the menu bar to the external display in the preferences > displays > arrangement tab). And I can use a script to set `Prefer External GPU` for ALL apps. And I can completely disable the dGPU via `sudo pmset -a 0`, forcing apps to use either iGPU or eGPU.
But, I can't find ANY way to PREVENT apps from using the eGPU. I want all apps to use the iGPU or dGPU ONLY, and I want to use the eGPU ONLY for driving the external display and preventing ~20W power draw for the dGPU. This would make the MBP work with an external display just like it does with the internal display only.