I am using the graphics-drivers ppa. I got an update dialogue today which stated that I can update my nvidia driver to 367.18 (~gpu16.04.6). I started the update just like every time, but it failed with
Failed to get unit file state for var-lib-snapd-lib-gl.mount
After rebooting, my graphics driver was broken and I was forced to go into recovery mode.
As usually when my Nvidia driver breaks, I just uninstall it with
sudo apt purge nvidia*
to reinstall it clean afterwards.
Doing this in recovery mode uninstalled all except the nvidia-opencl-icd-367
package which failed with the error above.
Trying to manually uninstall this package ends with these errors:
Update @20160605 – Solution:
Following Videonauth's answer below solves the issue. Please go through all the steps and make sure to reboot after removing everything of NVIDIA via sudo apt purge nvidia*
succeeded without issues and after reinstalling the driver via sudo apt install nvidia-367
.
This shall get your driver working again.
If this does not help, try to manually remove all old xorg configs sudo rm /etc/X11/xorg.conf* && sudo rm /etc/X11/xorg.conf
and reinstall the driver again sudo apt install nvidia-367 --reinstall
.
If this still does not let you log back in (Typical error: Logins screen –> password has been entered, enter pressed –> goes back to login screen) try completely removing your Nvidia driver again from by switching into text console from the logscreen with Ctrl+Alt+F1, login with you account name and password, donwload the appropriate driver for your graphics card from here within console, stop lightdm:
sudo service lightdm
Install Nvidia's binary driver using sudo ./NVIDIA-VERSION...
and reboot system:
sudo reboot now
System:
Ubuntu 16.04 64bit
Linux 4.4.0-22
Best Answer
O.k. to fix this (I had the same troubles this morning) you have two ways:
1. The clean way proposed to me by the launchpad team per e-mail:
To work around this issue, you may first switch to a text console by pressing Ctrl+Alt+F1, then stop your display manager using
sudo systemctl stop <displaymanager>
, where islightdm
,gdm
,sddm
, or whichever other display manager you are using.Stopping X clears the unmount failure, allowing you to successfully upgrade to ~gpu16.04.6, which no longer contains the defective patch, using
sudo apt upgrade
. At this point, you can then runsudo systemctl reboot
to reboot the system, which should return it to normal functionality.If you still receive an error indicating
you may work around this issue by running
before attempting to repeat the upgrade. After the upgrade is complete, to clean up run
2. The way I approached it this morning by brute forcing a complete removal:
To work around this issue, you may first switch to a text console by pressing Ctrl+Alt+F1, then start again by
followed by
Then
sudo apt-get autoremove
followed by asudo apt-get clean
, and again asudo apt-get remove --purge nvidia
.Now it should still mention any packages you cant remove then switch to
/var/lib/dpkg/info
and find the files called<packagename>.prerm
,<packagename>.postinst
and<packagename>.postrm
, for all those files do the following (beware this is not the sane way to remove something):When you have done this, start the removal as usual with
do this until all is purged, then
and then reinstall the nvidia driver again which should be fixed by now by