I don't know how many people already know this. If this already is a common knowledge please let me know.
You know, many people want their 15' Macbook Pro to use integrated intel GPU only when on battery for obvious reason (mainly because there are so many poorly-coded apps unnecessarily switch to discrete GPU), but automatic graphic switch when on AC power.
Years ago there been a solution called gfxcardstatus which allowed you to do exactly that. But not anymore since the developer removed the very function.
But I still wanted to achieve this.
So I tried this:
type
sudo pmset -b gpuswitch 0
and
sudo pmset -c gpuswitch 2
(source: https://discussions.apple.com/thread/2777617)
in Terminal.
And it works.
I tried these two commands, then restart the mac, pull of AC cord, open Photoshop, iMovie, Final cut pro (those who definitely suck gpu power). The gpu stays at Intel UHD Graphics 630 1536 MB (you can tell it from system report or About this Mac).
Then type pmset -g, the gpuswitch status is 0.
Then connect AC power, the gpu immediately switched to radeon pro 560X (gpuswitch turned to 2).
Close all those apps, the gpu automatically turned back to Intel UHD.
--------------------------------------------------------------------
For those who don't know, pmset refers to power management settings. Typing [pmset -g] could get you all the information related to power settings.
Usually 1 refers ON and 0 is OFF. But for some settings with multiple status other numbers could be seen.
Typing pmset -b, followed by settings name, means making whatever you want it to be takes effect only when on battery.
Typing pmset -c, followed by settings name, means making whatever you want it to be only take effect only when charging (AC is on).
Typing pmset -a followed by settings name, means making whatever you want it to be always work no matter what power status it is.
Apple didn't say what number stands for, but now I'm pretty sure
gpuswitch 0 = integrated GPU;
gpuswitch 1 = discrete GPU;
gpuswitch 2 = auto switch.
--------------------------------------------------------------------
So it works as should be. This shouldn't be a surprise. What surprises me is there are still so many people asking for this specific question and no one even mentioned this simple solution.
BTW if you want automatic graphic switch when on battery, and always discrete on AC power, try
sudo pmset -b gpuswitch 2
and
sudo pmset -c gpuswitch 1
You know, many people want their 15' Macbook Pro to use integrated intel GPU only when on battery for obvious reason (mainly because there are so many poorly-coded apps unnecessarily switch to discrete GPU), but automatic graphic switch when on AC power.
Years ago there been a solution called gfxcardstatus which allowed you to do exactly that. But not anymore since the developer removed the very function.
But I still wanted to achieve this.
So I tried this:
type
sudo pmset -b gpuswitch 0
and
sudo pmset -c gpuswitch 2
(source: https://discussions.apple.com/thread/2777617)
in Terminal.
And it works.
I tried these two commands, then restart the mac, pull of AC cord, open Photoshop, iMovie, Final cut pro (those who definitely suck gpu power). The gpu stays at Intel UHD Graphics 630 1536 MB (you can tell it from system report or About this Mac).
Then type pmset -g, the gpuswitch status is 0.
Then connect AC power, the gpu immediately switched to radeon pro 560X (gpuswitch turned to 2).
Close all those apps, the gpu automatically turned back to Intel UHD.
--------------------------------------------------------------------
For those who don't know, pmset refers to power management settings. Typing [pmset -g] could get you all the information related to power settings.
Usually 1 refers ON and 0 is OFF. But for some settings with multiple status other numbers could be seen.
Typing pmset -b, followed by settings name, means making whatever you want it to be takes effect only when on battery.
Typing pmset -c, followed by settings name, means making whatever you want it to be only take effect only when charging (AC is on).
Typing pmset -a followed by settings name, means making whatever you want it to be always work no matter what power status it is.
Apple didn't say what number stands for, but now I'm pretty sure
gpuswitch 0 = integrated GPU;
gpuswitch 1 = discrete GPU;
gpuswitch 2 = auto switch.
--------------------------------------------------------------------
So it works as should be. This shouldn't be a surprise. What surprises me is there are still so many people asking for this specific question and no one even mentioned this simple solution.
BTW if you want automatic graphic switch when on battery, and always discrete on AC power, try
sudo pmset -b gpuswitch 2
and
sudo pmset -c gpuswitch 1
Last edited: