Jump to content

Win10 Multi-GPU Workaround

Hey. Little bit of background: I have a GTX 1080 and GTX 950.

 

Windows 10 (version 1803) has option to have certain applications use a certain GPU.

 

Problem: Power Saving GPU and High Performance GPU are both set to GTX 1080 (i mean, they aren't wrong...)

 

image.png.72068a9a4dec2427f708146a30e2cb59.png

 

I have found a workaround. I don't like it, but it works.

 

Primary monitor plugged into GTX 1080

Secondary monitor plugged into GTX 950

 

1. Run first application

2. Change primary monitor to the one plugged into weaker GPU

3. Run second application

4. Have fun

5. Close applications

6. Change primary to original

 

What did I use to test this stuff? win 10, 2 monitors (2560x1080 and 1440x9hundo), my morning, ROTR, NVIDIA Share (doesn't work with win 10 game bar)

 

Like I said, I don't like it.

 

Is there a way to trick Win10 to thinking that the GTX 950 is the power saving GPU so that things can *ahem* "just work" semi-natively?

 

Thanks a ton.

 

tldr::Can I trick Win10 to thinking weaker, power hungry GPU is power saving GPU?

 

UPDATE - I did make a post of this same thing on /r/PCMasterRace so if you would like to see what other people have to say there, go check out the post. https://www.reddit.com/r/pcmasterrace/comments/978xtz/windows_10_dual_gpu_trickery/ (MODS, if there is an issue, please leave a comment, and I will get back to you as soon as I can to fix the issue without reposting)

 

Edited by FIUSHerson
Link to comment
Share on other sites

Link to post
Share on other sites

Nani? Since when is this a thing? Does this require the application to use DX12 or be UWP or what since I don't see this option on any application that I have installed.

 

Sorry if I'm not helpful.

 

 

If you find any grammar or spelling errors please fill out entry permit A38, thanks.

Greetings from germany

Profilepicture by Chibiterasu-chan

Link to comment
Share on other sites

Link to post
Share on other sites

I'd love to know as well. I battled with this a lot when I was running these on Windows 7 and early Windows 10:

 

Radeon HD 6990 = Heavy Duty games

8500GT = Web browsing, Runescape, etc.

 

Used to switch between the screens, HDMI/DVI connected to each, depending on which GPU I wanted to use.

 

It works as you mention, but darn it's a hassle...

 

Trouble is, on laptops, Intel HD & Nvidia have the same output, right?

So I'm not sure if it's even possible to have the Secondary GPU used without having to switch monitor input anyway, and have a cable run to it.

 

So in some way, you're only saving the switching of input channel on your monitor, by having windows do this for you, which isn't a lot? - But would be nice too.

AMD Ryzen R9 5900X  | Arctic Liquid Freezer II 360  |  GIGABYTE X570S AERO G  |  2x32GB G'skill TridentZ 4000MHz  | MSI RX 6900 XT Gaming Z Trio 16GB Dark Base Pro 900 (Orange)  | TOSHIBA 4TB 3.5" Drive - Game Drive | Crucial MX200 250GB 2.5" SSD - Boot Drive | Cooler Master V750 PSU |

 

Living Room PC: AMD Ryzen 2400G | MSI RX VEGA 56 8GB AERO | 2x8 GB Crucial Ballistix 2400MHz | Intenso 250GB SSD | Seagate 500 GB HDD | Node 202 + 850W PSU |

Link to comment
Share on other sites

Link to post
Share on other sites

On 8/14/2018 at 12:41 PM, crosstiger said:

Nani? Since when is this a thing? Does this require the application to use DX12 or be UWP or what since I don't see this option on any application that I have installed.

 

Sorry if I'm not helpful.

This was added in Windows 10 update 1803. You can find this in System --> Display --> Graphics Settings. This is mainly used for switching between integrated graphics and an actual Graphics card, but as you can see, it can do more than just that.

 

On 8/14/2018 at 12:50 PM, Edgar R. Zakarian said:

I'd love to know as well. I battled with this a lot when I was running these on Windows 7 and early Windows 10:

 

Radeon HD 6990 = Heavy Duty games

8500GT = Web browsing, Runescape, etc.

 

Used to switch between the screens, HDMI/DVI connected to each, depending on which GPU I wanted to use.

 

It works as you mention, but darn it's a hassle...

 

Trouble is, on laptops, Intel HD & Nvidia have the same output, right?

So I'm not sure if it's even possible to have the Secondary GPU used without having to switch monitor input anyway, and have a cable run to it.

 

So in some way, you're only saving the switching of input channel on your monitor, by having windows do this for you, which isn't a lot? - But would be nice too.

The same applies to you. Windows 10 just saved us all and added this feature natively. Even the NVIDIA Control Panel doesn't (unless you have a mobile NVIDIA GPU) let you do this. And yes, the iGPU and GPU have the same output if you are on a laptop. If on desktop, some motherboards have HDMI or VGA (not VGA anymore since that is old school by now) going directly to the board. I don't think you can find those that often though.

 

On 8/14/2018 at 12:41 PM, crosstiger said:

Nani? Since when is this a thing? Does this require the application to use DX12 or be UWP or what since I don't see this option on any application that I have installed.

 

Sorry if I'm not helpful.

My apologies. I didn't answer your question fully. I am very confident that you don't need DX12. All you need is the most recent version of Windows. You can add any application you want, even if it isn't UWP, but be ready to browse for the file. As you can see in the photo above, I was able to get Fortnite and SLOBS up there.

 

So I had an idea.

 

@echo off

set /p idea=

IF %idea%=="What if I plugged both monitors into the weaker GPU and set the GPU settings in Win10 to the 1080" goto RESULT

::RESULT

echo "Both High Performance GPU and Power Saving GPU are set to the 950."

PAUSE

 

sorry. just a little bit of cmd humor.

here it is again if you can't read and understand that.

 

What if I plugged both monitors into the weaker GPU and set the GPU settings in Win10 to the 1080?

Apparently, both High Performance GPU and Power Saving GPU are set to the 950.

 

image.png.7e9d67a6c5f578b41168adcd0e0e7064.png

 

Now, when I put monitor 1 and monitor 2 on different GPUs, what happens?

Back to both being the 1080.

 

Another update.
What I did was have the game on the 1080 and NVIDIA Share on the 950 using the method in the original post, and here were the results. No bueno.
Link to comment
Share on other sites

Link to post
Share on other sites

18 hours ago, FIUSHerson said:

This was added in Windows 10 update 1803. You can find this in System --> Display --> Graphics Settings. This is mainly used for switching between integrated graphics and an actual Graphics card, but as you can see, it can do more than just that.

 

How interesting. This actually is pretty neat I must say.

 

I've done a bit of digging at it seems like the choice is based on what the application is capable of. Which means that some apps just can't be forced into using a different gpu for power saving. I don't know if this is just a bug or intended but even is your 1080 is set as power saving, the application should use less resources if power saving is enabled compared to high performance.

If you find any grammar or spelling errors please fill out entry permit A38, thanks.

Greetings from germany

Profilepicture by Chibiterasu-chan

Link to comment
Share on other sites

Link to post
Share on other sites

Found this funny thing here. (in the comments of the video below)
Maybe you can make sense of it?

 

image.png.16dd6118a8d128f0d0506b3d45a0021c.png

 

 

AMD Ryzen R9 5900X  | Arctic Liquid Freezer II 360  |  GIGABYTE X570S AERO G  |  2x32GB G'skill TridentZ 4000MHz  | MSI RX 6900 XT Gaming Z Trio 16GB Dark Base Pro 900 (Orange)  | TOSHIBA 4TB 3.5" Drive - Game Drive | Crucial MX200 250GB 2.5" SSD - Boot Drive | Cooler Master V750 PSU |

 

Living Room PC: AMD Ryzen 2400G | MSI RX VEGA 56 8GB AERO | 2x8 GB Crucial Ballistix 2400MHz | Intenso 250GB SSD | Seagate 500 GB HDD | Node 202 + 850W PSU |

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, crosstiger said:

How interesting. This actually is pretty neat I must say.

 

I've done a bit of digging at it seems like the choice is based on what the application is capable of. Which means that some apps just can't be forced into using a different gpu for power saving. I don't know if this is just a bug or intended but even is your 1080 is set as power saving, the application should use less resources if power saving is enabled compared to high performance.

Even if the app supports it, Win10 won't let it. It says the 1080 is the more power efficient and more powerful GPU. The thing is, it is correct. The 10-series was aimed towards VR and power efficiency. They did such a good job, even the 950 wants more power than the 1080.

 

9 hours ago, Edgar R. Zakarian said:

Found this funny thing here. (in the comments of the video below)
Maybe you can make sense of it?

 

image.png.16dd6118a8d128f0d0506b3d45a0021c.png

 

 

To Jared who is never going to read this - ditto.

To murtisoft - yes, the 3d applications by default run on the main display adapter which is defined by the default monitor plugged into a certain GPU.

To you, Edgar - The comments are relatable. Very. So much, it hurts. But that is why I am here. Because things aren't working right, unfortunately. Thank you for your input!

Link to comment
Share on other sites

Link to post
Share on other sites

  • 5 years later...

Sorry for the necro of this old thread, but this is still not fixed in windows 10, years later... however, I have found a working solution to force windows 10 to show specific GPU's for power-saving and power options in it's horrible settings menu.

 

For those not wanting to go off-site, here is a copy of the above linked post.

 

Quote

For Windows 10 it seems to be possible to force GPUs to be the power-saving and performance GPU respectively via a registry hack:

 

1. Navigate Regedit to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\ {4d36e968-e325-11ce-bfc1-08002be10318}

 

2. Identify the four digit subfolders that contain your desired GPUs (e.g. by the key DriverDesc inside)

 

3. Create a new DWORD key inside both four digit folders, name it EnableMsHybrid

Set it to a value of 1 for the performance GPU, Set it to a value of 2 for the power-save GPU

 

4. Reboot.

 

The settings app should then offer the set GPUs for per app graphics settings.

 

Caveats of this method:

  • It only works with 2 GPUs, any additional GPUs are still wasted
  • The setting is only applied to DirectX and Vulkan, not OpenGL At least for Nvidia Cards, the OpenGL GPU can be selected through their control panel app
  • The default GPU cannot be selected via the Settings app, it's still the performance GPU

 

Untitled.jpg.1b74596b55877b2b80dbae18c0ae06c7.jpg

 

All credits for this fix should go to the original author, I am just reposting as it took me weeks to find a fix for this dumb windows 10 functionality.

 

I hope this is useful for all those trying to make windows 10 just work right with multiple GPU's... years later...

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×