Can't detect external monitor on Thinkpad W530 running Ubuntu 14.04

10,671

Solution 1

Well, here's what I did to fix it (and I'm not 100% sure that it's fixed, but it seems like it! Hopefully there's no regressions!) Everything is run as sudo; I probably rebooted at some points during this, but I don't remember exactly when :/ I'm guessing you should reboot after step 5, and maybe after step 3.

  1. Disable Optimus in BIOS; only use the discrete NVIDIA video card.
  2. apt-get remove --purge bumblebee nvidia*
  3. apt-get install --reinstall libgl1-mesa-dri libgl1-mesa-glx libegl1-mesa-drivers
  4. apt-get install nvidia-common nvidia-settings nvidia-331
  5. Run nvidia-xconfig (not sure if this is necessary, but it seems like you have to do it at some point)
  6. Add nvidia_331 to /etc/modules
  7. At this point, my libGL was pointing to mesa's version of openGL for whatever reason, so I followed the advice here: I added /usr/lib/nvidia-331 and /usr/lib32/nvidia-331 to /usr/lib/nvidia-331/alt_ld.so.conf, and ran ldconfig.

And now I have multiple external monitors connected, openGL working, and no weird pixelly artifacts on my screen. Nvidia persistenced daemon doesn't crash on boot, and the nvidia kernel module is loaded on boot.

Solution 2

The problem is a bug in ubuntu-drivers-common

I had exactly the same problem with my W530 and could solve it by downgrading to ubuntu-drivers-common=1:0.2.91.4

sudo aptitude install ubuntu-drivers-common=1:0.2.91.4

sudo aptitude hold ubuntu-drivers-common
Share:
10,671

Related videos on Youtube

jiangty
Author by

jiangty

Updated on September 18, 2022

Comments

  • jiangty
    jiangty over 1 year

    I have a Thinkpad W530 running Ubuntu 14.04; I've tried connecting external monitors via both VGA and DisplayPort, but neither are being detected.

    I turned off Optimus, and am only using the discrete graphics card (an NVIDIA Quadro K1000M). I'm using the "recommended proprietary driver" (according to System Tools -> Preferences -> Additional Drivers): NVIDIA binary driver - version 331.38 from nvidia-331 (proprietary, tested). I've also tried the nvidia-current package, which I think is version 304, but it's not working either.

    lshw -C video gives

    *-display UNCLAIMED     
       description: VGA compatible controller
       product: GK107GLM [Quadro K1000M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list
       configuration: latency=0
       resources: memory:f2000000-f2ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:5000(size=128) memory:f3080000-f30fffff
    

    The "UNCLAIMED" thing is weird, since the laptop display is working fine (and with the correct resolution and all).

    Strangely, nvidia-settings gives me a window that looks significantly different from what is claimed at the Ubuntu help page, which shows detected X screens on the left: screenshot according to Ubuntu help page

    Instead, I see "Application Profiles" which seems a lot less helpful.

    • DMGrier
      DMGrier almost 10 years
      Have you tried the open source driver and seen if that works?
    • jiangty
      jiangty almost 10 years
      I tried Nouveau, and not only did it not work, but now I can't even get the correct resolution on my laptop screen anymore. (Even switching back to proprietary drivers didn't help.)
    • jiangty
      jiangty almost 10 years
      Well, I fixed that by apt-get remove nvidia-prime, but still no dice on the external monitors.
    • jiangty
      jiangty almost 10 years
      Well, something happened? I apt-get removed all nvidia drivers, apt-get install --reinstall libgl1-mesa-dri libgl1-mesa-glx libegl1-mesa-drivers , reinstalled nvidia-common, nvidia-settings, and nvidia-331, ran nvidia-xconfig, ... and then Xorg.0.log said "Failed to initialize the NVIDIA kernel module. Please see the system's kernel log for additional error messages..." lsmod | grep nvidia is always returning nothing after reboot, so I manually ran modprobe nvidia_331, did a service lightdm restart, and suddenly things worked. Except now they still don't work on reboot.
    • jiangty
      jiangty almost 10 years
      So now nvidia-settings shows reasonable things like X screens, but I have to modprobe nvidia_331 and service lightdm restart after reboot in order to get my video drivers to work at all. The external monitors do work, but ideally I shouldn't have to type extra commands after booting for things to work! Furthermore, there's some strange black/white artifacts covering the top 1/3 of my screens (looks like this). Sigh.
    • jiangty
      jiangty almost 10 years
      I get two error messages: the failed to initialize the NVIDIA kernel module above in Xorg.0.log, and init: nvidia-persistenced main process (1841) terminated with status 1 in dmesg.
    • jiangty
      jiangty almost 10 years
      Ok, adding nvidia_331 to /etc/modules fixed the first problem (I no longer have to modprobe). The second problem also seems to have disappeared, but I don't know why.
  • Darren Lewis
    Darren Lewis over 9 years
    Can't confirm if this fixes the issue but those commands should be: sudo apt-get install ubuntu-drivers-common=1:0.2.91.4 and sudo apt-mark hold ubuntu-drivers-common
  • markus_b
    markus_b about 9 years
    I've tried these suggestions. They provide a reliable way to get X11 to work, so that is a start. But, my second display remains dark and it is not shown in system settings - displays nor in nvidia-settings. xrandr -q claims VGA1 disconnected. What can I try next ?