Summary
I updated my (MSI GP72) laptop running Kubuntu 18.04 to 18.10, using sudo do-release-upgrade
. The upgrade completed successfully and the system was restarted.
Now the GUI doesn't show up.
You hear the sound of the greeter coming up, but the login screen is never displayed; you only see a black screen.
I can login using the terminals and use the laptop "normally", both locally or remotely (I can SSH into it), but the GUI is never shown.
I've seen other questions with similar symptoms, but their issues had clearly visible error messages and/or log entries that helped identify the problem (e.g. reinstalling a driver, etc) and have not been helpful for me.
How can I fix this issue?
Some Troubleshooting
Other than my notes below, I've not found any (obvious) error messages; I've checked the following log files:
/var/log/syslog
: shows somenvidia
errors (verbose; see later)/var/log/boot.log
/var/log/kern.log
/var/log/dpkg.log
/var/log/nvidia-installer.log
/var/log/gpu-manager.log
: shows thenouveau
driver not loaded and blacklisted/var/log/Xorg.0.log
: only a line withNo monitor specified for screen "nvidia".
stands out to me
Checking systemctl status lightdm.service
shows it's running. Restarting the service makes no difference. I removed/purged the plasma-workspace
, plasma-desktop
, and nvidia-driver-390
packages (and then sudo apt autoremove -y --purge
unused packages), rebooted, and re-installed them, to no effect.
A couple of years ago, I was able to fix a similar issue for 16.04, but I'm stuck on this one.
Command Results
ubuntu-drivers
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd0000139Bsv00001462sd0000115Bbc03sc02i00
vendor : NVIDIA Corporation
model : GM107M [GeForce GTX 960M]
driver : nvidia-driver-390 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
dkms
$ dkms status
nvidia, 390.87, 4.15.0-36-generic, x86_64: installed
nvidia, 390.87, 4.18.0-10-generic, x86_64: installed
virtualbox, 5.2.18, 4.15.0-36-generic, x86_64: installed
virtualbox, 5.2.18, 4.18.0-10-generic, x86_64: installed
lsmod
$ lsmod | grep nvidia
nvidia_uvm 786432 0
nvidia_drm 40960 1
nvidia_modeset 1110016 2 nvidia_drm
nvidia 14368768 61 nvidia_uvm,nvidia_modeset
drm_kms_helper 172032 2 nvidia_drm,i915
drm 458752 5 drm_kms_helper,nvidia_drm,i915
ipmi_msghandler 102400 2 ipmi_devintf,nvidia
systemd
$ systemctl status lightdm.service
● lightdm.service - Light Display Manager
Loaded: loaded (/lib/systemd/system/lightdm.service; indirect; vendor preset: enabled)
Active: active (running) since Sun 2018-10-21 14:39:22 MDT; 4h 15min ago
Docs: man:lightdm(1)
Main PID: 5104 (lightdm)
Tasks: 6 (limit: 4915)
Memory: 20.0M
CGroup: /system.slice/lightdm.service
├─5104 /usr/sbin/lightdm
├─5117 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
└─5437 lightdm --session-child 13 20
Oct 21 14:39:24 red-dragon lightdm[5104]: warning: output not found; ignoring
Oct 21 14:39:24 red-dragon lightdm[5104]: warning: output not found; ignoring
Oct 21 14:39:24 red-dragon lightdm[5214]: pam_kwallet(lightdm-greeter:setcred): (null): pam_sm_setcred
Oct 21 14:39:24 red-dragon lightdm[5214]: pam_kwallet5(lightdm-greeter:setcred): (null): pam_sm_setcred
Oct 21 14:39:24 red-dragon lightdm[5214]: pam_unix(lightdm-greeter:session): session opened for user lightdm by (uid=0)
Oct 21 14:39:24 red-dragon lightdm[5214]: pam_kwallet(lightdm-greeter:session): (null): pam_sm_open_session
Oct 21 14:39:24 red-dragon lightdm[5214]: pam_kwallet(lightdm-greeter:session): pam_kwallet: open_session called without kwallet_key
Oct 21 14:39:24 red-dragon lightdm[5214]: pam_kwallet5(lightdm-greeter:session): (null): pam_sm_open_session
Oct 21 14:39:24 red-dragon lightdm[5214]: pam_kwallet5(lightdm-greeter:session): pam_kwallet5: open_session called without kwallet5_key
Oct 21 14:39:25 red-dragon lightdm[5437]: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "game-servers"
grep nvidia /var/log/syslog
After getting 198 lines back, this is the subset of lines that stood out to me the most; it looks as if it can't find nvidia driver files:
Oct 21 14:36:22 red-dragon [485]: failed to execute '/usr/bin/nvidia-smi' '/usr/bin/nvidia-smi': No such file or directory
Oct 21 14:36:22 red-dragon systemd-udevd[456]: Process '/usr/bin/nvidia-smi' failed with exit code 2.
Oct 21 14:36:22 red-dragon ureadahead[826]: ureadahead:/usr/share/lightdm/lightdm.conf.d/90-nvidia.conf: No such file or directory
Oct 21 14:36:22 red-dragon ureadahead[826]: ureadahead:/usr/share/X11/xorg.conf.d/10-nvidia.conf: No such file or directory
Oct 21 14:36:22 red-dragon ureadahead[826]: ureadahead:/usr/lib/x86_64-linux-gnu/tls/libnvidia-tls.so.390.87: No such file or directory
Oct 21 14:36:22 red-dragon ureadahead[826]: ureadahead:/usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.390.87: No such file or directory
Oct 21 14:36:22 red-dragon ureadahead[826]: ureadahead:/usr/lib/x86_64-linux-gnu/nvidia/xorg/nvidia_drv.so: No such file or directory
Oct 21 14:36:22 red-dragon ureadahead[826]: ureadahead:/usr/lib/x86_64-linux-gnu/nvidia/xorg/libglx.so.390.87: No such file or directory
Oct 21 14:36:22 red-dragon ureadahead[826]: ureadahead:/usr/share/nvidia/nvidia-application-profiles-390.87-rc: No such file or directory
Oct 21 14:36:22 red-dragon ureadahead[826]: ureadahead:/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.390.87: No such file or directory
Oct 21 14:36:22 red-dragon nvidia-persistenced: Verbose syslog connection opened
Oct 21 14:36:22 red-dragon nvidia-persistenced: Now running with user ID 126 and group ID 134
Oct 21 14:36:22 red-dragon nvidia-persistenced: Started (1101)
Oct 21 14:36:22 red-dragon nvidia-persistenced: Failed to open libnvidia-cfg.so.1: libnvidia-cfg.so.1: cannot open shared object file: No such file or directory
While it could be that the files are being found elsewhere (dkms
and lsmod
show the drivers loaded), the odd part is that it also complains about not being able to execute /usr/bin/nvidia-smi
, yet the file exists and I can run it just fine from the shell.