2

I got a laptop which has NVIDIA Optimus, as in a discrete NVIDIA GPU (GTX 1060) and the integrated Intel Graphics (Kaby Lake).

If I switch to the Intel graphics, my external monitor is not recognized. With the NVIDIA GPU it works fine. I am guessing the HDMI port is connected straight to the NVIDIA GPU. Obviously this all works fine in Windows, so I'm guessing it's a driver issue. I have tried both Nouveau and NVIDIA prop. 378.

This is the output of my xrandr when I use NVIDIA (with external monitor plugged in):

Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
HDMI-0 connected (normal left inverted right x axis y axis)
   2560x1080     60.00 +
   1920x1080     60.00    59.94    50.00    60.05    60.00    50.04  
   1680x1050     59.95  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93  
eDP-1-1 connected primary 1920x1080+0+0 309mm x 173mm
   1920x1080     60.05*+  59.93  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1280x1024     60.02  
   1440x900      59.89  
   1280x960      60.00  
   1360x768      59.80    59.96  
   1152x864      60.00  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   960x600       60.00  
   960x540       59.99  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   800x512       60.17  
   700x525       59.98  
   640x512       60.02  
   720x450       59.89  
   640x480       60.00    59.94  
   680x384       59.80    59.96  
   576x432       60.06  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
DP-1-1 disconnected
HDMI-1-1 disconnected
  1680x1050 (0x48) 146.250MHz -HSync +VSync
        h: width  1680 start 1784 end 1960 total 2240 skew    0 clock  65.29KHz
        v: height 1050 start 1053 end 1059 total 1089           clock  59.95Hz
  1280x1024 (0x4c) 108.000MHz +HSync +VSync
        h: width  1280 start 1328 end 1440 total 1688 skew    0 clock  63.98KHz
        v: height 1024 start 1025 end 1028 total 1066           clock  60.02Hz
  1024x768 (0x53) 65.000MHz -HSync -VSync
        h: width  1024 start 1048 end 1184 total 1344 skew    0 clock  48.36KHz
        v: height  768 start  771 end  777 total  806           clock  60.00Hz
  800x600 (0x5a) 40.000MHz +HSync +VSync
        h: width   800 start  840 end  968 total 1056 skew    0 clock  37.88KHz
        v: height  600 start  601 end  605 total  628           clock  60.32Hz
  640x480 (0x63) 25.175MHz -HSync -VSync
        h: width   640 start  656 end  752 total  800 skew    0 clock  31.47KHz
        v: height  480 start  490 end  492 total  525           clock  59.94Hz

This is the output when I am on the Intel Graphics (external monitor still connected):

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 173mm
   1920x1080     60.05*+  59.93  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1280x1024     60.02  
   1440x900      59.89  
   1280x960      60.00  
   1360x768      59.80    59.96  
   1152x864      60.00  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   960x600       60.00  
   960x540       59.99  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   800x512       60.17  
   700x525       59.98  
   640x512       60.02  
   720x450       59.89  
   640x480       60.00    59.94  
   680x384       59.80    59.96  
   576x432       60.06  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
3

After doing plenty of research for months, my conclusion is the following: The HDMI port is directly connected to the NVIDIA GPU (as suspected), and there is no way to forward that port to the Intel GPU with the current drivers (and the drivers will not get support for it anytime soon). If you are on the NVIDIA proprietary drivers, you can use NVIDIA PRIME to switch to the NVIDIA GPU. If you do, the HDMI port works. What happens in Windows (AFAIK) is that when you plugin the HDMI cable, it automatically switches the OS to the NVIDIA GPU.

My way of working around this limitation is to utilize the USB-C/Thunderbolt port on the laptop instead, through a USB-C -> HDMI adapter. That way, the monitor gets connected to the Intel DisplayPort instead, which works both when you are using the NVIDIA GPU and when you are using the Intel GPU (and with e.g. Bumblebee).

  • I searched around for a while and it appears that USB-C to HDMI with Ubuntu is quite problematic. Can you please paste the link to the device you're using? – TheNavigat Aug 18 '17 at 9:15
  • I am very surprised to hear that. This is the dock I bought, cheap and fully working so far: goo.gl/8sj83t . Worth noting is that it's Thunderbolt, not USB 3.1. – fgblomqvist Aug 18 '17 at 12:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.