Specify GPU for external display connected through HDMI

Hello, I have a laptop with Intel iGPU+Nvidia dGPU hybrid setup. In general I keep the integrated one as the primary GPU and I want to keep it as it is. But whenever I make any external monitor as the primary one, screen refresh rate falls down and visual output seems too slow. After a bit of searching I found that I need to make Nvidia as the default GPU to make the HDMI connected monitor work properly. But I don’t have any desire to keep Nvidia as the default GPU all the time. So for now, I have to screen mirror as a work around. What I want is that X uses the dGPU to show output on the external monitor. Just like in Windows when you connect a display unit through HDMI and make it the primary output unit, system automatically switches to Nvidia.

lspci -k | grep VGA output -

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile)
01:00.0 VGA compatible controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile] (rev a1)

Nvidia Driver Version: 455.45.01

1 Like