Wednesday, September 2, 2015

Nvidia graphics broken on recent update (Thinkpad W520, Ubuntu 14.04)

Just posting this in case anyone else had the same problem and finds their way here. I ran an aptitude update this morning and restarted my system (Thinkpad W520, Ubuntu 14.04). I was astonished when no GUI Login appeared (in the "Discrete" graphics BIOS Mode). After doing a bit of digging, I found that bumblebee had blacklisted the nvidia kernel module in /etc/modprobe.d/bumblebee.conf . I don't know why this started to happen, but my solution was to uninstall bumblebee:

$ sudo aptitude purge bumblebee

You may also have to reinstall the nvidia drivers:

$ sudo aptitude reinstall nvidia-___

where the `___` is the version number.

Anyways, now things work in "Discrete" graphics BIOS Mode. Haven't investigated "NVIDIA-Optimus" mode yet.

1 comment:

  1. Oooh. Good to know. I'm currently in 15.04 on a W520, with primus installed and (shockingly) working. (And using some absurd new-version driver.)

    There are a couple of tricks here.

    I used: http://rajat-osgyan.blogspot.com.au/2015/03/how-to-install-bumblebee-on-ubuntu.html (beware his typos though. Commands should be inspected, not simply copy-pastaed.)

    The driver name will be annoying.

    The bit that was tedious for me was getting the bumblebee.conf set up right:

    KernelDriver=nvidia-346
    PMMethod=auto
    # colon-separated path to the nvidia libraries
    LibraryPath=/usr/lib/nvidia-346:/usr/lib32/nvidia-346
    # comma-separated path of the directory containing nvidia_drv.so and the
    # default Xorg modules path
    XorgModulePath=/usr/lib/nvidia-346/xorg,/usr/lib/xorg/modules


    is what I ended up with in the annoying section.


    And the final thing that made it click (and be useful) is to ignore primusrun, but used the prime indicator http://www.webupd8.org/2014/01/prime-indicator-lets-you-quickly-switch.html that literally allows me to swap intel/nvidia states.

    Anyways, thanks for the heads up. Which nvidia drivers are you using?

    ReplyDelete