I tried everything here but nothing helped. What I found helped is to reinstall manually the proprietary nvidia driver(NVIDIA-Linux-x86_63-390.87.run). But only until the next restart. After that I am stuck again in a login loop and have to reinstall the drivers again. This is cumbersome and I would like a fix where I do not have to reinstall them every time.
The problem seems to be that both the nvidia driver and the nouveau driver want control over something(xorg server, gpu, display)?
I found this out because of this post. Specifically after running lspci -vk | grep -iA15 NVIDIA
I get the line:
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960] (rev a2)
....
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
This seems odd to me becaue of two things. I know I saw once somewhere a file that was created by the nvidia driver that read something along this:
# Nvidia driver autogenerated do not touch
blacklist nouveau
options nouveau modeset=0
Plus I followed this post and added a file /etc/modprobe.d/blacklist-nouveau.conf with this content:
blacklist nouveau
options nouveau modeset=0
and then I did:
sudo update-initramfs -u
sudo reboot
but the lspci line still shows the same drivers, notably nouveau being still there and the /var/log/xorg.0.log shows:
(II) LoadModule: "nvidia"
....
(II) LoadModule: "nouveau"
....
(EE) [drm] Failed to open DRM device for (null): -2
(WW) Falling back to old probe method for fbdev
Summary
- How to fix the login loop without needing to reinstall the nvidia driver manually every time?
- How to blacklist the nouveau driver?
What are not options
Reinstalling ubuntu is not an option.
Just using the nouvea drivers. I need the nvidia drivers.
Let me know if you need more info, e.g. the .xsession-error log.
I fixed the issue with the first answer here. This simply installed the nvidia 410.73 driver. Don't know why this works and the 390 didn't so I will leave this open in case somebody has a hint how I could get it working with the 390 driver.