3

In my past experience I had only one laptop running on Windows 7. It had quite old switchable mechanism which applies system wide: when laptop is on battery it switches to thr integral Intel GPU and makes all applications run on it. When the power cable is plugged, it switches to the Radeon GPU and again all applications run on it (so it doesn't have a possibility to switch GPU on per-application basis). Recently I got another laptop with GeForce discrete GPU (RTX 2000 series), running on Windows 10, 21H1 and feel really confused. It also has integrated Intel GPU and I thought it would be consistent to keep similar logic, allowing laptop to switch between GPUs when on battery or plugged. However there is no such option in Windows power plan (it has setting to make Intel GPU run with low power consumption, but doesn't provide me with an option to switch graphics card).

In GeForce Control Panel it says that now it's Windows OS who decides which GPU an application should run on, so I suppose it just overrides GeForce Control Panel settings. When testing different combination of these settings with an application (in my case Witcher 3 game) automatically it always chose discrete GPU, no matter if laptop is on battery or not. So my understanding is that auto-select settings never opts for integrated GPU if an application is considered resource-demanding. In both Windows Settings and GeForce Control Panel I can "hardcode" some particular GPU for an application but i can't see how I can enforce it to switch between GPUs for an application based on laptop power source (plugged vs battery).

P.S. I know that GeForce Experience app has the Battery Boost feature, but that is not quite what I'm looking for, as the GPU an app is running on is still the same, but I need it to switch dynamically

6
  • Yes you can, take a look into the power settings.
    – paladin
    Commented Jun 7, 2021 at 13:51
  • AFAIK, it depends on the BIOS/UEFI firmware and how the OEM has implemented the feature. An unlocked BIOS often has the option under the CPU settings, however there must be an unlocked BIOS image someone has cracked. UEFI firmware is impossible to flash once cracked (it'll fail step 1 of the firmware update process - checking the digital signature - and won't flash), so this option will likely never exist in the UEFI firmware settings since it requires also enabling access to CPU options that can fry the motherboard and/or CPU if improperly changed.
    – JW0914
    Commented Jun 7, 2021 at 13:55
  • Some possible directions: (1) Binding specific programs to a specific GPU, (2) In NVIDIA Control Panel > Manage 3D settings, set "Power management mode" to Adaptive, (3) Use TrayPwrD3 to keep the discrete GPU on but idle until needed.
    – harrymc
    Commented Jun 7, 2021 at 17:39
  • @harrymc so you guys are telling me that what I considered a basic feature just doesn't exist OOTB nowadays? Commented Jun 8, 2021 at 9:04
  • I have outlined some possible directions. If one is interesting for you, I can put up answer with details.
    – harrymc
    Commented Jun 8, 2021 at 9:11

3 Answers 3

1
+50

Unfortunately, the requested configuration is unsupported.

The only company that allows such setup options would be AMD's Enduro implementation which allows GPU selection based on power supply.

1
  • 1
    It would have been best to add some links to your bare statement.
    – harrymc
    Commented Jun 13, 2021 at 13:16
2

The solution is to unlock the advanced power settings via the registry. Once you do that, in the GeForce control panel it will no longer say the Windows OS decides which GPU an application should run.

Don't forget to set GeForce GPU to max performance.

The short backstory is: Windows ships with a setting which laptops can use called 'modern standby' or 'connected standby'. Essentially this allows the OS to automatically handle the advanced power management according to the manufacturers specification. So for instance, it will manage background activity while the laptop is 'off', among other things.

One thing to be aware of is that the system may still show the integrated card as the one in use however, if you check resource manager, you should see that the GeForce GPU is handling the bulk work.

Do the following then restart your computer and check the GeForce control panel again:

In 'regedit' go to - "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power“

Double click on “CsEnabled”

Change Value data from “1″ to “0″

Exit and restart.

Source: done this myself on a Surface Book 4

2

Similar problem here. My laptop has no way to shut the dGPU off. I decided to take this into my own hands and made my own app that allows you to configure whether apps use the iGPU or dGPU depending on whether you're plugged in or on battery. I also added the ability to have two sets of settings (mostly for games) via file swapping.

Here: https://github.com/sharpjd/GPUPrefSwitcher

Was a cool first fully fledged app project for me to do.

1
  • Welcome to Super User! Please do not post the same answer to multiple questions. If the same information really answers both questions, then one question (usually the newer one) should be closed as a duplicate of the other. You can indicate this by voting to close it as a duplicate or, if you don't have enough reputation for that, raise a flag to indicate that it's a duplicate. Otherwise tailor your answer to this question and don't just paste the same answer in multiple places.
    – DavidPostill
    Commented May 13 at 14:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .