Ubuntu – No graphics after upgrade to 19.10, issue with nvidia graphics card

19.10driversgraphicsnvidia

I have a problem after upgrading to Ubuntu 19.10 – I tried some stuff but essentially it seems I cannot get my Nvidia card to work.
Here is what happened:

  • Normal startup after 19.10 update (grub standard, gdm3 and nvidia
    driver 435) leads to purple screen directly after grub, no login; I
    had to restart in recovery mode and then switch to tty2
  • uninstalling all nvidia drivers (remove nvidia-*) works, then I get a normal startup
  • uninstalling gdm3 and using lightdm works too (nvidia drivers installed)

However both options above use the built-in IntelĀ® HD Graphics 520 (Skylake GT2) card. So the problem seems to be that I can't start my computer with nvidia graphics. I am rather sure that worked up until 19.04…
Any ideas how I get the functionality of my nvidia card back?

ubuntu-drivers devices

 - /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0
 - modalias : pci:v000010DEd00001399sv00001025sd00001037bc03sc02i00
 - vendor   : NVIDIA Corporation
 - model    : GM107M [GeForce 945M]
 - driver   : nvidia-driver-435 - distro non-free recommended
 - driver   : nvidia-driver-430 - distro non-free
 - driver   : nvidia-driver-390 - distro non-free
 - driver   : xserver-xorg-video-nouveau - distro free builtin

Best Answer

I had the same issue updating from 18.04, 19.04 to 19.10, I think the last clean install was around Precise Pangolin. Because of that, my install is carrying some cruft.

If you have any, remove old grub parameters that you're not using.
You can do this by making the changes in the GRUB configuration file /etc/default/grub, but first you can test it for a single boot:

At the GRUB menu, press E, choose the kernel you want to boot, check the parameters in the line starting with linux and remove extra ones. After makingyour changes, press F10 to boot.

In my case all extra flags were

iommu=calgary intel_iommu=on ...

When I removed them the driver worked as expected.

To make this permanent:

sudoedit /etc/default/grub

Remove the same parameters from the line beginning GRUB_CMDLINE_LINUX_DEFAULT. In my case, it originally looked like this

GRUB_CMDLINE_LINUX="iommu=calgary intel_iommu=on ..."

I replaced with an empty list:

GRUB_CMDLINE_LINUX=""

After editing, run sudo update-grub.

Related Question