How to select GPU for apps using registry instead of Settings

Page 1 of 2 12 LastLast

  1. Posts : 11
    Windows 10
       #1

    How to select GPU for apps using registry instead of Settings


    Hello.

    I have a 1050 ti and a 2080 ti in my system to resolve a seperate issue with multi-monitors and DisplayLink.

    Now I have a different issue I am trying to solve.

    GPU 0 in my system is the 1050 ti
    GPU 1 in my system is the 2080 ti

    I want to be able to specify that all apps except the ones I tell to run on the 2080 ti run on the 1050 ti. However, Windows has a different idea.

    As you can see in the first attachment, things like Brave and Messages are running on GPU 1. I do not want them to run on the 2080 ti, I want them to run on the 1050 ti.

    How to select GPU for apps using registry instead of Settings-screenshot_1.png

    However, my dilemma is that as you can see in the second screenshot, my only GPU choice options are the 2080 ti for BOTH Power Saving and High Performance.

    How to select GPU for apps using registry instead of Settings-screenshot_2.png

    How can I change the registry to change the Power Saving GPU? I am able to succesfully switch apps over to being run by the 1050 ti by disabling the 2080 ti and then reenabling it, but god forbid i have to do that any time something just decides to open up on the 2080 ti afterwards by it's own volition.

    I'm on the latest version of Windows, Build 19041
      My Computer


  2. Posts : 1,310
    Windows 10
       #2

    Basically that setup is an abomination , I am surprised it works , the control panel of Nvidia does not even support running 2 Nvidia cards except in an SLI setup . And now we see that windows itself is having difficulties keeping up with with what you did .

    You actually have 2 problems not just 1 , is to first for windows to recognize both cards as gpu 1 and gpu 2 and for that I highly suggest you contact Nvidia themselves to have it sorted . the second one is much easier , you will just have to follow this guide to sort which app runs on which via registry : How to Set Graphics Performance Preference for Apps in Windows 10
      My Computer


  3. Posts : 11
    Windows 10
    Thread Starter
       #3

    It's a Threadripper rig and I run 5 monitiors, and there was an issue with streaming because other resources were being used on the 2080 ti. Both cards are running at PCIe x16 3.0.

    In relation to that, I already happened upon that article, and as far as I can tell, it's not a solution. The 0, 1, 2 options are referring to:

    0 = Let Windows Choose
    1 = Power Saving GPU
    2 = High Performance GPU

    Since both the Power Saving GPU and the High Performance GPU are the 2080 ti, this does not solve my problem.

    Also, your first comment about contacting nVidia is incorrect. Device IDs start a 0, not at 1. There's no issue with my setup, my issue is with Windows having both the Power Saving and the High Performance GPU as the same one.

    Also, I know why it's doing that, it's because the 20 series GPU is newer, and thereby more power efficient. However, I don't care about that, I just want to specify specific apps to run on the 10 series instead.

    Which is why I'm looking for a registry hack to do so.
      My Computer


  4. Posts : 1,310
    Windows 10
       #4

    There is no registry hack to do it , the technology of running multiple gpus at the same time is called Optimus , and is designed to switch between intel / amd and nvidia and not between 2 nvidias , Optimus is an extension to the driver actually and only present in the laptop versions of the Nvidia drivers , the desktop version supports single gpus only and SLI setups (Hence why I called your setup an abomination) .

    I did not suggest you switch to the laptop version of the driver and try because they are known to hinder performance of desktop gpus significantly , but still you can give that a try and remember to use DDU to fully uninstall both drivers on going back and forth .

    If all fail (Which I believe will happen) this is where you need to contact Nvidia (and cross your fingers you get a reply which I doubt) .
      My Computer


  5. Posts : 11
    Windows 10
    Thread Starter
       #5

    Surely the identifiers for the values 0, 1, 2 for GpuPreference are stored somewhere in the Registry? They don't just get pulled out of thin air.
      My Computer


  6. Posts : 1,310
    Windows 10
       #6

    emperornero said:
    Surely the values for the values 0, 1, 2 for GpuPreference are stored somewhere in the Registry? They don't just get pulled out of thin air.
    yes the values are present but they are to control Optimus not act on GPUs independently .
    Hence why in the absence of Optimus it can only detect 1 GPU .
      My Computer


  7. Posts : 1,310
    Windows 10
       #7

    There is still some light at the end of the tunnel , there might be a way to automate what you already do as a bypass , it is creating batch files to every program and a game you want to run which will disable the GPU you want to strict from running prior to running certain program then re-enable it again . the problem is if you have any other program running on that disabled gpu it might well crash .

    That solution was discussed here : Setting 2nd GPU as Power Saving in Graphics settings on Windows 10. - Graphics Cards - Linus Tech Tips
    So I have managed to achieve this through some brute force. I wanted to get Chrome's hardware accelerated GPU to be my second GPU so that my games weren't competing for resources whilst I am watching videos/live-streams etc on my second monitor.

    I used devcon.exe from the Windows Drive Kit to disable my 980 Ti, launch Chrome, then re-enable my 980 Ti. Chrome then uses the primary GPU whilst it was being launched (my 1050 Ti).

    Here is the bat script I use to launch Chrome now:
    "C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" disable "PCI\VEN_10DE&DEV_17C8*"
    start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
    timeout 5
    "C:\Program Files (x86)\Windows Kits\10\Tools\x64\devcon.exe" enable "PCI\VEN_10DE&DEV_17C8*"It's all very ugly, but it does work and once it's launched then I continue to use my PC as normal.
    of course you need to provide your own device ids etc .
      My Computer


  8. Posts : 11
    Windows 10
    Thread Starter
       #8

    I ran across this previously.

    What I'm finding is I might have to compile my own version of DirectX and identify the Guids for the devices directly in the file that provides the "GpuPreferences" option called "dxgi1_6.h"

    Referenced in
    https://docs.microsoft.com/en-us/win...ygpupreference

    Essentially, they are done in order, from iGPU to dGPU to XGPU, and I would have to identify the 1050ti as an iGPU so it gets detected as the power saving GPU.

    What a pain.
      My Computer


  9. Posts : 1,310
    Windows 10
       #9

    emperornero said:
    I ran across this previously.

    What I'm finding is I might have to compile my own version of DirectX and identify the Guids for the devices directly in the file that provides the "GpuPreferences" option called "dxgi1_6.h"

    Referenced in
    https://docs.microsoft.com/en-us/win...ygpupreference

    Essentially, they are done in order, from iGPU to dGPU to XGPU, and I would have to identify the 1050ti as an iGPU so it gets detected as the power saving GPU.

    What a pain.
    To be honest though I doubt this is all it takes , I mean you cant even run both Intel and Nvidia together on a desktop PC , the Intel needs to be disabled or it shows in device manager as offline device if not .

    But if it ever works would be nice to publish your work , would benefit the society greatly , try to compile without encryption so maybe later hex editing to device ids is possible .
      My Computer


  10. Posts : 848
    Windows 10 LTSC
       #10

    nIGHTmAYOR said:
    To be honest though I doubt this is all it takes , I mean you cant even run both Intel and Nvidia together on a desktop PC , the Intel needs to be disabled or it shows in device manager as offline device if not .

    But if it ever works would be nice to publish your work , would benefit the society greatly , try to compile without encryption so maybe later hex editing to device ids is possible .
    That, or both may be displayed in the device manager but plugging a monitor into Intel HD would bring the computer to BSOD:

    How to select GPU for apps using registry instead of Settings-capture.jpg

    This is on my PC, I just don't know how it was able to get both enabled when I clearly set the BIOS to only detect a graphics card in the system.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 10 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 10" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 06:13.
Find Us




Windows 10 Forums