Force using Internal graphic card with DisplayPort instead of external nVidia (Optimus)

intel graphicsnvidia-graphics-cardoptimus

I have a Lenovo T420 laptop (Windows 10) with:

  • integrated Intel HD Graphics 3000, latest drivers (9.17.10.4229)
  • nVidia NVS 4200M, latest nVidia drivers from Lenovo website (10.18.13.5445)

I also have LCD monitor that has maximum resolution of 1920 x 1200 px. I would like to force using the Intel graphic card while the monitor is connected through Display Port and no application is running. When a graphic demanding application starts it can switch to the discrete nVidia graphics based on Optimus application settings. (Essentially I want the reverse of Use Nvidia optimus card for HDMI output with DisplayPort)

From Intel hardware specification the internal Intel HD Graphics 3000 display adapter should be capable of a maximum resolution 2560 x 1600 px regardless the connector (DisplayPort, HDMI or VGA), so it should't be a problem.

But there is a problem as it always runs from external nVidia graphic card even when no applications are running while connected with Display Port cable. When I swap the DisplayPort cable for VGA cable it runs from internal graphic card as intended (on the same resolution).

If I disable the external graphic card in BIOS or Windows Device Manager so I force it to use the internal graphic card, it sends no signal to the monitor.

How can I enable DisplayPort for internal Intel graphics card?

Best Answer

At the moment, what you're requesting is literally impossible on Windows.

If the affected display is driven by the discrete GPU, then the discrete GPU must remain on and enabled for the duration of the connection.

You may confirm your system's display setup wiring by launching the Nvidia Control panel, navigating to the PhysX configuration page and noting how the displays are wired to what GPU on that tab.

On your system, its' likely that the DisplayPort connector is wired directly to the Nvidia GPU.

Moving on to Linux: The same caveat applies, with the exception of having to rely on xrandr or your desktop environment's configuration tools to set up the displays. A setup such as yours would also require the use of intel-virtual-output to drive the DislayPort off the Intel Integrated graphics if you're using the open source nouveau driver.

Related Question