18 October 2013

522. Briefly: nvidia installer holding up dpkg

I'm normally using smxi to handle my graphics drivers on debian.

Because I'm working on a QM/MM problem at the moment I wanted to use gromacs (4.6) to generate a solvated molecule, but I kept getting errors about missing libcudart4.so. So I figured I'd install it using apt-get install libcudart4

Everything went fine until I got the following prompt:
Selecting 'No' stops everything, and selecting Yes hangs it.

You can't install or remove any other programs until this has been resolved, as everything ends with
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

sudo dpkg --configure -a
takes you back to the screenshot above.

The fix:
nvidia-installer --uninstall

At this point you get
You can now select No and go through everything:

After this, you can run
sudo dpkg --configure -a

and now your system is working again so that packages can be installed and removed.


  1. Smxi seems to need periodic updating to detect current or beta Nvidia drivers. This is no problem unless you want to run the latest kernel - currently 3.12-rc5. Then you need a patch from


    to produce NVIDIA-Linux-x86_64-331.13-custom.run which may not be worth trying to get smxi to do automatically.

    One issue with the installer is that debian updates periodically overwrite files / symlinks and cause problems with 3d detection in gnome shell with similar manifestations to


    The problem does not affect Gnome Classic at all which does not require 3d acceleration. So far the problem has always been resolved by running the nvidia installer again. The nvidia installer log detects the issue after xorg updates - "ERROR: File '/usr/lib/xorg/modules/extensions/libglx.so' is not a symbolic link."

    With libcudart4 installed and the gnome shell bug on jessie occuring again after the following mesa updates -

    Upgrade: libgl1-mesa-dev:amd64 (9.1.6-2+b1, 9.1.7-1), libegl1-mesa:amd64 (9.1.6-2+b1, 9.1.7-1), libegl1-mesa:i386 (9.1.6-2+b1, 9.1.7-1), libopenvg1-mesa:amd64 (9.1.6-2+b1, 9.1.7-1), libopenvg1-mesa:i386 (9.1.6-2+b1, 9.1.7-1), libegl1-mesa-drivers:amd64 (9.1.6-2+b1, 9.1.7-1), libegl1-mesa-drivers:i386 (9.1.6-2+b1, 9.1.7-1), libegl1-mesa-dev:amd64 (9.1.6-2+b1, 9.1.7-1), libgl1-mesa-dri:amd64 (9.1.6-2+b1, 9.1.7-1), libgl1-mesa-dri:i386 (9.1.6-2+b1, 9.1.7-1), etc.

    - the nvidia installer complains -

    -> Unable to restore symbolic link /usr/lib/i386-linux-gnu/libEGL.so.1 -> libEGL.so.1.0.0 (File exists).
    -> Unable to restore symbolic link /usr/lib/i386-linux-gnu/libGL.so.1 -> libGL.so.1.2.0 (File exists).
    -> Unable to restore symbolic link /usr/lib/x86_64-linux-gnu/libGL.so -> libGL.so.1.2.0 (File exists).
    -> Unable to restore symbolic link /usr/lib/x86_64-linux-gnu/libGL.so.1 -> libGL.so.1.2.0 (File exists).
    -> Unable to restore symbolic link /usr/lib/x86_64-linux-gnu/libnvcuvid.so.1 -> libnvcuvid.so.304.108 (File exists).
    -> Unable to restore symbolic link /usr/lib/x86_64-linux-gnu/libnvcuvid.so -> libnvcuvid.so.1 (File exists).

    - but restores 3d acceleration to Gnome.

    Gradually some improvements might occur in the open source driver now that the climate is improving



    1. That's right -- smxi needs periodic updates, in particular these days when nvidia on linux is such as rotten mess (referring to the issues with kernel versions from 3.10 and above). I don't know who is to blame, although as a user I feel it would be incumbent upon nvidia to make sure that their drivers work with the kernel, and not the other way around. I also wouldn't hold my breath for nvidia to actually make good on their promise to engage with the kernel people. They've let us down before.

      At any rate, it would be nice if smxi could become part of the debian repos, or at least the deb-multimedia ones to make it easier to stay up to date.