Windows: Use Intel Onboard GPU for bootup, then switch to NVidia

I have a Desktop PC with an Intel H87 chipset, a CPU with integrated graphics and a dedicated NVidia GeForce 560Ti. Both are connected to the same display, because I only ever want to use one of them at a time. Please note that my monitor automatically switches inputs if the current input doesn't have a signal.

Drivers for both cards work perfectly. Until recently, I was using the NVidia card as a primary, while the integrated graphics were disabled.

I have a dual-boot setup with Windows 7 for gaming and Gentoo Linux for work. Since the proprietary Linux drivers from NVidia give me various problems, I would like to use the Intel graphics when I am in Linux and the NVidia card when I boot Windows.

What I tried

I got almost everything to work by doing this:

  1. In UEFI setup, turn on the integrated graphics and set them as primary
  2. Configure Gentoo to use Intel graphics (works perfectly during bootup and after X is loaded)
  3. Configure Windows to only use the "second" display.

What happens?

As I mentioned, the Gentoo setup works perfectly, because it is only using the primary GPU (Intel). Windows, on the other hand, boots up fine, displaying its bootup logo on the primary GPU. After bootup, the screen goes black, because the login screen is displayed on the NVidia GPU, but Windows does not disable the Intel GPU. I can manually switch my display to the second input, where the login screen shows.

What do I want?

What I actually want, is to have Windows completely switch off the Intel GPU after boot, so that my monitor auto-switches to the other input. When I log in blindly, then press Win+P, Left, Left, Enter, the Intel GPU is turned off and my monitor switches to the second input. I would like that to happen automatically, before I log in. Is there any way to do that?

Edit to clarify: After logging in, the Intel GPU is still active, showing a black screen. After I blindly use the above keyboard sequence to bring up the projector menu and disable the secondary monitor, the Intel GPU is switched off and my monitor switches to the correct input.


Solution 1:

Well, sounds like your display configuration is set to “Extended” on the log-on screen. Since you set your primary display to be on the NVIDIA card, the monitor just shows nothing. You can probably move your mouse there, too.

You could try simply disabling the unwanted GPU in Device Manager. I do not have a system with multiple GPUs, so I cannot verify what happens then. I also don’t know if this setting sticks.

I only know that with a single GPU: It switches to the Windows equivalent of Linux’ VESA Framebuffer. This is of course not what you want, but you have been warned. :D

You could also try the “nouveau” driver for Linux, an open-source NVIDIA display driver.