2

I have an ASUS NT7000 laptop, which only has an HDMI output. I managed to install Ubuntu 16.10 last year (after a lot of trouble) because of my graphics card (NVIDIA GeForce 950 M). I used an HDMI to VGA adapter a couple of times to plug in an external monitor and it always worked fine (the same as using an HDMI monitor and an HDMI-HDMI cable).

Then I updated to 17.04, and the trouble started. Using the HDMI port to connect a standard HDMI monitor still worked fine, but if I tried to use an HDMI to VGA adapter nothing works anymore. I tried using different monitors, different cables and also different adapters, but nothing seemed to work. The monitor would not be detected.

I tried to change and to update the NVIDIA drivers, and also to use nouveau and nomodeset, but I still had no luck. I tried deleting X10 and similar and it only made things worse. I even completely reinstalled Ubuntu after formatting my SSD, out of desperation!

Could it be that both of the adapters that I tried aren't compatible with Ubuntu? Is that even a possibility?

karel
  • 114,770

3 Answers3

1

My solution,

Plug the adaptor in alone. Then plug the vga cable into the adaptor.

Jesse B
  • 11
1

-- EDIT ---

I just realized I posted this without seeing that you already tried most of these steps. Leaving it up here in case it's useful to anyone. - Matt


Having been through this recently with a new monitor, I can relate to the frustation of this.

Though I can't offer a solution, I can suggest steps to diagnose.

Diagnosis steps to try:

  1. check Ubuntu displays settings. (main menu -> settings -> displays)

See if your monitor is recognized there.

  1. Check monitor is recognized by xrandr: First You can check to see if your monitor is detected at all using these commands:

    xrandr -q --verbose

You'll get some output that looks something like this:

Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 8192 x 8192
eDP-1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 293mm x 165mm

1920x1080     60.00 +  59.93* 
1680x1050     59.95    59.88  
1600x1024     60.17  
1400x1050     59.98  
1280x1024     60.02  
1440x900      59.89  
[...]

Somewhere in there, you should see an HDMI connected section:

HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080     60.00*+  59.94  
1680x1050     59.88  
1280x1024     60.02  

If not, there's probably a cable connection problem

  1. See if your monitor can be detected connected to another non-ubuntu machine using the cable adapters you have. If it's recognized there, you know your adapters are not the problem.

  2. Check your video card type: lspci | grep VGA

    I found several forum posts suggesting that there is some kind of problem with Nvidia drivers, and sometimes your system is not getting correct resolution information for your particular monitor. The solution there seems to have to do with updating the Nvidia graphics drivers.

emf
  • 1,692
  • BTW, with my own monitor, the issue was something about the cable adapter not being plugged in correctly, I think. I switched adapters from another machine, and it worked fine. – emf Sep 12 '17 at 14:22
  • Somehow the lspci | grep VGA command did the trick for me. xrandr showed screen 0 and dp-X and hdmi-1 disconnected. Then did the lspci command, magically awoke the external monitor. Great! – Erik Vesterlund Jun 18 '20 at 11:13
0

I had the same problem as you and after read several post I fixed it, so I am going to explain step by step how I did it. I have to say that I am a noob in the world of Linux, so I going to explain the steps for noobs also.

  1. Go to your BIOS and disable secure boot. To do this restart the pc, press serveral times F1, F2 or F10 (it depends on the pc), look for Boot Options or something like that and disable secure boot. Secure Boot is a mode for UEFI that Windows brings from Windows 8, and that prevents the execution of any unsigned or certified software, thus preventing nvidia open source drivers to communicate with the GPU.
  2. After that, run xrandr --listproviders. If you have two GPUs, the processor integrated GPU and the NVIDIA GPU you should see something like that
Providers: number : 2
Provider 0: id: 0x23b cap: 0x1, Source Output crtcs: 4 outputs: 3 associated providers: 1 name:NVIDIA-0
Provider 1: id: 0x45 cap: 0x6, Sink Output, Source Offload crtcs: 3 outputs: 3 associated providers: 1 name:modesetting

If you see that, perfect. Some fisical external outputs, like the HDMI port, are controled only by one GPU, so you can try to run xrandr --setprovideroutputsource 1 0 or xrandr --setprovideroutputsource 0 1 and hopefully it solve your problem. If you you see something like that:

Providers: number : 1
Provider 0: id: 0x45 cap: 0x6, Sink Output, Source Offload crtcs: 3 outputs: 3 associated providers: 1 name:modesetting

You have to install the drivers of you NVIDIA GPU, which lead us to the step 3.

  1. Run ubuntu-drivers devices and you should see something like that.
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C8Dsv0000103Csd0000838Fbc03sc00i00
vendor   : NVIDIA Corporation
model    : GP107M [GeForce GTX 1050 Mobile]
driver   : nvidia-driver-435 - distro non-free recommended
driver   : nvidia-driver-430 - distro non-free
driver   : nvidia-driver-390 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

== /sys/devices/pci0000:00/0000:00:1c.5/0000:04:00.0 ==
modalias : pci:v00008086d0000095Asv00008086sd00005010bc02sc80i00
vendor   : Intel Corporation
model    : Wireless 7265 (Dual Band Wireless-AC 7265)
manual_install: True
driver   : backport-iwlwifi-dkms - distro free

Install the recommended driver to your GPU, in my case sudo apt install nvidia-driver-435, and reboot. In my case, before install the recommended driver, I uninstalled all the nvidia drivers. To do this go to this post How can I uninstall a nvidia driver completely ? and follow the steps.

  1. If the problem persist, try to switch between your Intel GPU to you NVIDIA GPU running this sudo prime-select nvidia. If you see something like that:
Info: the nvidia profile is already set

Try to run sudo prime-select intel and then sudo prime-select nvidia. I read in a post (External Monitor not working. Ubuntu, nvidia) that prime-select write a configuration file that cause problems, so run sudo nano /lib/modprobe.d/nvidia-kms.conf and comment out the the nvidia-drm modeset option.

# This file was generated by nvidia-prime
# Set value to 0 to disable modesetting
# options nvidia-drm modeset=1

Reboot your pc.

That resume the 3 hours that I spent on internet to solve this and I really hope this helps to other noobs like me.

alt164
  • 21
  • 3