External HDMI display on Ubuntu 16.04, NVIDIA GeForce GTX 960M
I had exactly the same problem with a Laptop HP Pavillion and a GEFORCE GTX 960M. I had problems with the HDMI with both a TV and a beamer.
I finally solved it by installing the latest version of the open source drivers (nvidia-390 at the time of this post).
These steps should do the job: first clean up any eventual mess that there might be by doing
apt-get purge nvidia*
and then you can do the actual installation
add-apt-repository ppa:graphics-drivers/pp
apt update
apt-get install nvidia-387
After rebooting in principle you should obtain a non empty output to
lsmod | grep nvidia
but in my case it was empty and that was why it wasn't working. At the boot Linux wasn't loading the relevant modules. This was UEFI secure boot's fault. Apparently the secure boot didn't like the open source drivers and blocked them from being loaded. This can be fixed by going to the BIOS and disabling it (see here for a more thorough explanation https://askubuntu.com/a/762255).
If it still doesn't work you can try to look for these two possible issues:
- Some other drivers are not blacklisted, e.g. nouveau (https://askubuntu.com/a/951892)
- The file
/etc/X11/xorg.conf
isn't there. If so generate it withnvidia-xconfig
Related videos on Youtube
marek
Updated on September 18, 2022Comments
-
marek over 1 year
My Dell Inspiron 7566 laptop with Ubuntu 16.04 can't detect external monitor Dell W2709 connected to HDMI port.
I tried:
- booting with the display connected,
- connecting display after login,
- disconnecting and connecting again
- System settings/Displays/Detect Displays
Nothing works, the display stays in power save mode, which is it's usual behavior when getting no signal. And the laptop doesn't realize the display is connected to HDMI.
On Windows partition the same display connected with the same HDMI cable connected to the same HDMI port got recognized right away, so the hardware is ok.
Graphic units on board: NVIDIA GeForce GTX 960M + Intel HD Graphics 530. NVIDIA X Server Settings claim both work fine. It doesn't detect any external display though.
I found several suggestions for similar problems, generally falling into two categories: update the kernel or/and try different graphic drivers.
I tried do both. As for kernel, I believe my initial one which came with Ubuntu 16.04 was 4.4.0 or so. I went up trying several versions, including 4.4.8, 4.8.1, 4.8.17 and I ended up on the fresh 4.9.9.
As for graphic drivers, I've bee trying several tutorials, and at some point I ended up with this collection:
I tried all of those drivers, and I believe those are the newest ones NVIDIA offers. Fortunatelly nothing got broken with all those attempts, but unfortunatelly the problem is still not resolved.
I've been trying to use xrandr too, I found that "HDMI-1-1 disconnected". Adding an new resolution 1920x1200 for my external display and trying to force it with arandr ended up with unusable unity on my primary laptop display, fortunatelly it recovered with a reboot.
I will appreciate any suggestions, yet other drivers to try, or maybe other more exotic step-by-step instructions. I got this laptop expecially for my work, and I need to have the external display for it badly. Thanks!
UPDATE: I found a way to get the external monitor DELL 2709W working with my Ubuntu. However peculiar and non-usable it is, it may be a hint to find a real solution:
- This method requires another laptop(!) connected to another port of the display. In my case it is a MacBookPro with an adapter, connected to one of DVI ports. This is to keep the display on - it has to actually display anything on screen.
- Using Dell monitor controls, I disabled the DDC/CI mode
- Using Dell monitor controls, I select the DVI port, so I can see the other system displayedr
- I boot up Ubuntu while it is connected with the Dell monitor with HDMI cable, and I log in to unity
- Now when I open System Settings/Displays, I can see the secondary display 'Dell Inc. 27"'
- Using the Dell monitor controls I switch to HDMI, and voila - I can see the extended desktop
- Only when I let the Ubuntu laptop fall asleep for a minute, or worse - turn it off, the extended desktop is gone and I have to do the whole procedure again to get it back. Hence - it's not a way to work.. but maybe it's a hint to any display/graphics hardware expert, how I could better deal with it?
This is the xrandr report with the HDMI cable plugged in to the laptop and HDMI port of the monitor, and the HDMI source selected for the monitor (and the monitor sleeps):
$ xrandr --verbose Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384 eDP-1 connected primary 1920x1080+0+0 (0x46) normal (normal) 344mm x 193mm Identifier: 0x42 Timestamp: 20511 Subpixel: unknown Gamma: 1.0:1.0:1.0 Brightness: 1.0 Clones: CRTC: 0 CRTCs: 0 1 2 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: EDID: 00ffffffffffff000daec41500000000 2b1901049522137802ef059054529329 25505400000001010101010101010101 0101010101015e358096703814402c1c 240058c11000001ab22a809670381440 2c1c240058c11000001a000000fe0038 4b563432003135364847450a00000000 0000413196000000000a010a20200021 scaling mode: Full aspect supported: None, Full, Center, Full aspect Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 audio: auto supported: force-dvi, off, auto, on 1920x1080 (0x46) 136.620MHz +HSync -VSync *current +preferred h: width 1920 start 1964 end 1992 total 2070 skew 0 clock 66.00KHz v: height 1080 start 1082 end 1086 total 1100 clock 60.00Hz 1920x1080 (0x47) 138.500MHz +HSync -VSync h: width 1920 start 1968 end 2000 total 2080 skew 0 clock 66.59KHz v: height 1080 start 1083 end 1088 total 1111 clock 59.93Hz 1920x1080 (0x48) 109.300MHz +HSync -VSync h: width 1920 start 1964 end 1992 total 2070 skew 0 clock 52.80KHz v: height 1080 start 1082 end 1086 total 1100 clock 48.00Hz 1680x1050 (0x49) 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 1680x1050 (0x4a) 119.000MHz +HSync -VSync h: width 1680 start 1728 end 1760 total 1840 skew 0 clock 64.67KHz v: height 1050 start 1053 end 1059 total 1080 clock 59.88Hz 1600x1024 (0x4b) 103.125MHz +HSync +VSync h: width 1600 start 1600 end 1656 total 1664 skew 0 clock 61.97KHz v: height 1024 start 1024 end 1029 total 1030 clock 60.17Hz 1400x1050 (0x4c) 122.000MHz +HSync +VSync h: width 1400 start 1488 end 1640 total 1880 skew 0 clock 64.89KHz v: height 1050 start 1052 end 1064 total 1082 clock 59.98Hz 1280x1024 (0x4d) 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 1440x900 (0x4e) 106.500MHz -HSync +VSync h: width 1440 start 1520 end 1672 total 1904 skew 0 clock 55.93KHz v: height 900 start 903 end 909 total 934 clock 59.89Hz 1280x960 (0x4f) 108.000MHz +HSync +VSync h: width 1280 start 1376 end 1488 total 1800 skew 0 clock 60.00KHz v: height 960 start 961 end 964 total 1000 clock 60.00Hz 1360x768 (0x50) 84.750MHz -HSync +VSync h: width 1360 start 1432 end 1568 total 1776 skew 0 clock 47.72KHz v: height 768 start 771 end 781 total 798 clock 59.80Hz 1360x768 (0x51) 72.000MHz +HSync -VSync h: width 1360 start 1408 end 1440 total 1520 skew 0 clock 47.37KHz v: height 768 start 771 end 781 total 790 clock 59.96Hz 1152x864 (0x52) 81.620MHz -HSync +VSync h: width 1152 start 1216 end 1336 total 1520 skew 0 clock 53.70KHz v: height 864 start 865 end 868 total 895 clock 60.00Hz 1024x768 (0x53) 133.475MHz -HSync +VSync DoubleScan h: width 1024 start 1100 end 1212 total 1400 skew 0 clock 95.34KHz v: height 768 start 768 end 770 total 794 clock 60.04Hz 1024x768 (0x54) 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 960x720 (0x55) 117.000MHz -HSync +VSync DoubleScan h: width 960 start 1024 end 1128 total 1300 skew 0 clock 90.00KHz v: height 720 start 720 end 722 total 750 clock 60.00Hz 928x696 (0x56) 109.150MHz -HSync +VSync DoubleScan h: width 928 start 976 end 1088 total 1264 skew 0 clock 86.35KHz v: height 696 start 696 end 698 total 719 clock 60.05Hz 896x672 (0x57) 102.400MHz -HSync +VSync DoubleScan h: width 896 start 960 end 1060 total 1224 skew 0 clock 83.66KHz v: height 672 start 672 end 674 total 697 clock 60.01Hz 960x600 (0x58) 77.000MHz +HSync -VSync DoubleScan h: width 960 start 984 end 1000 total 1040 skew 0 clock 74.04KHz v: height 600 start 601 end 604 total 617 clock 60.00Hz 960x540 (0x59) 69.250MHz +HSync -VSync DoubleScan h: width 960 start 984 end 1000 total 1040 skew 0 clock 66.59KHz v: height 540 start 541 end 544 total 555 clock 59.99Hz 800x600 (0x5a) 81.000MHz +HSync +VSync DoubleScan h: width 800 start 832 end 928 total 1080 skew 0 clock 75.00KHz v: height 600 start 600 end 602 total 625 clock 60.00Hz 800x600 (0x5b) 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 800x600 (0x5c) 36.000MHz +HSync +VSync h: width 800 start 824 end 896 total 1024 skew 0 clock 35.16KHz v: height 600 start 601 end 603 total 625 clock 56.25Hz 840x525 (0x5d) 73.125MHz -HSync +VSync DoubleScan h: width 840 start 892 end 980 total 1120 skew 0 clock 65.29KHz v: height 525 start 526 end 529 total 544 clock 60.01Hz 840x525 (0x5e) 59.500MHz +HSync -VSync DoubleScan h: width 840 start 864 end 880 total 920 skew 0 clock 64.67KHz v: height 525 start 526 end 529 total 540 clock 59.88Hz 800x512 (0x5f) 51.562MHz +HSync +VSync DoubleScan h: width 800 start 800 end 828 total 832 skew 0 clock 61.97KHz v: height 512 start 512 end 514 total 515 clock 60.17Hz 700x525 (0x60) 61.000MHz +HSync +VSync DoubleScan h: width 700 start 744 end 820 total 940 skew 0 clock 64.89KHz v: height 525 start 526 end 532 total 541 clock 59.98Hz 640x512 (0x61) 54.000MHz +HSync +VSync DoubleScan h: width 640 start 664 end 720 total 844 skew 0 clock 63.98KHz v: height 512 start 512 end 514 total 533 clock 60.02Hz 720x450 (0x62) 53.250MHz -HSync +VSync DoubleScan h: width 720 start 760 end 836 total 952 skew 0 clock 55.93KHz v: height 450 start 451 end 454 total 467 clock 59.89Hz 640x480 (0x63) 54.000MHz +HSync +VSync DoubleScan h: width 640 start 688 end 744 total 900 skew 0 clock 60.00KHz v: height 480 start 480 end 482 total 500 clock 60.00Hz 640x480 (0x64) 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 680x384 (0x65) 42.375MHz -HSync +VSync DoubleScan h: width 680 start 716 end 784 total 888 skew 0 clock 47.72KHz v: height 384 start 385 end 390 total 399 clock 59.80Hz 680x384 (0x66) 36.000MHz +HSync -VSync DoubleScan h: width 680 start 704 end 720 total 760 skew 0 clock 47.37KHz v: height 384 start 385 end 390 total 395 clock 59.96Hz 576x432 (0x67) 40.810MHz -HSync +VSync DoubleScan h: width 576 start 608 end 668 total 760 skew 0 clock 53.70KHz v: height 432 start 432 end 434 total 447 clock 60.06Hz 512x384 (0x68) 32.500MHz -HSync -VSync DoubleScan h: width 512 start 524 end 592 total 672 skew 0 clock 48.36KHz v: height 384 start 385 end 388 total 403 clock 60.00Hz 400x300 (0x69) 20.000MHz +HSync +VSync DoubleScan h: width 400 start 420 end 484 total 528 skew 0 clock 37.88KHz v: height 300 start 300 end 302 total 314 clock 60.32Hz 400x300 (0x6a) 18.000MHz +HSync +VSync DoubleScan h: width 400 start 412 end 448 total 512 skew 0 clock 35.16KHz v: height 300 start 300 end 301 total 312 clock 56.34Hz 320x240 (0x6b) 12.587MHz -HSync -VSync DoubleScan h: width 320 start 328 end 376 total 400 skew 0 clock 31.47KHz v: height 240 start 245 end 246 total 262 clock 60.05Hz DP-1 disconnected (normal) Identifier: 0x43 Timestamp: 20511 Subpixel: unknown Clones: HDMI-1 CRTCs: 0 1 2 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 audio: auto supported: force-dvi, off, auto, on HDMI-1 disconnected (normal) Identifier: 0x44 Timestamp: 20511 Subpixel: unknown Clones: DP-1 CRTCs: 0 1 2 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: aspect ratio: Automatic supported: Automatic, 4:3, 16:9 Broadcast RGB: Automatic supported: Automatic, Full, Limited 16:235 audio: auto supported: force-dvi, off, auto, on
-
ubfan1 about 7 yearsIn your BIOS/UEFI settings, did you try setting the video to discrete only instead of integrated or hybrid?
-
marek about 7 yearsUnfortunatelly I haven't found any option to choose the video in my BIOS. As for my UEFI - it is omited on boot... my laptop originally had Windows system with Windows bootup UEFI, and the only option to start Ubuntu that I managed was to start with legacy BIOS. When I reactivate UEFI, it tells me to recover WIndows. It all means I cannot choose or switch on/off my graphic units on boot. I can only choose it after logging in to Ubuntu, and then I don't really have any problem doing so - both the integrated Intel graphics and the NVIDIA unit works well after I restart.
-
marek about 7 yearsI'm not an expert, but IMO the experimeint I've put above as UPDATE suggests, that the Dell monitor is actually capable of working together with my laptop. Only once it goes into some nasty sleep mode, the laptop cannot wake it up or even detect it. What would be nice, is a low level terminal command, which would force a wakeup signal sent on the HDMI port, so that the monitor would wake up and could be communicated with. Do you know of any such low-level display commands / signals being available from Ubuntu terminal?
-
marek about 7 yearsWhen I switch to Windows, it is able to wake up the monitor and use it even during the start of the system. So I would say Windows is sending such wakeup / turn-on signal, which is missing on Ubuntu boot up, so I would love to be able to send it myself afterwards... if this diagnose would be correct by any chance.
-
marek about 7 yearsRecently I connected this Dell laptop to a ASUS PB328Q monitor HDMI port. I've been testing this setup both on Ubuntu 14.04 and Ubuntu 16.10. The symptoms were quite the same as in case of the Dell 2709W monitor described above: System Settings/Displays/Detect Displays didn't detect any external monitor, it only showed the Build-in Display.
-
marek about 7 yearsI am confident that hardware part is not an issue here - the HDMI cable I use, the HDMI laptop port and the monitor can communicate and the monitor got detected instantly by Windows 10. I need and want to use Ubuntu though - any help is appreciated.
-
marek almost 7 yearsThank you very much for your answer. You will find it hard to believe, but after a few months, many evenings spend trying, I still didn't get it working. As a result, I have quite a powerful machine which I cannot use for my work, instead I am using an old Mac, because that one can handle the secondary Screen. Quite resigned on this situation.
-
marek almost 7 yearsMy current version if kernel is 4.8.0. I use nvidia-375 driver. I tried to connect several HDMI newly bought 32" screens - one ASUS, one BENQ, and one AOC, with native resolutions of 2560x1440 - none detected on Ubuntu (no problem on Windows). I installed several other versions of nvidia driver, kernels, Ubuntu versions, clean installs, even tried Mint - all for nothing. I went trough hundreds of similar problems on this and other forums, tried all proposed solutions, nothing worked for me. I really cannot understand how it can be working for anybody else (sooner or later), just not for me.
-
marek almost 7 yearsI tried a hdmi to dvi dongle too, hoping that it will run on DVI which I am using currently with my Mac - it did not do the trick.
-
marek almost 7 yearsI am not sure about the sound support in my external monitor - it does not have any speakers, so it cannot generate any sound by itself, but it has some sound output, probably directing the sound received through HDMI/DP (if it worked).
-
ChanganAuto over 2 yearsVirtualization support has nothing to do with a monitor being detected or not.