Ubuntu – Nvidia drivers reset after update and now monitor is “unknown” and stuck in 640×480

display-resolutiondriversgraphicsnvidia

I had a software update to my system (Ubuntu 20.04) that, after running, failed, and my system now is only seeing my monitor on VGA (I also have an HDMI display that is my main display) and reading it out at "unknown display" and the only resolution option is 640X480.

Running Xrandr gives

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 640 x 480, maximum 640 x 480
default connected primary 640x480+0+0 0mm x 0mm
   640x480       73.00* 

and trying the method here How do I set the correct monitor resolution with Nvidia drivers for a monitor that does not send EDID? does not change anything.
When I try to run sudo ubuntu-drivers autoinstall
this is what I get

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 linux-modules-nvidia-460-generic-hwe-20.04-edge : Depends: nvidia-kernel-common-460 (<= 460.32.03-1) but it is not going to be installed
                                                   Depends: nvidia-kernel-common-460 (>= 460.32.03) but it is not going to be installed
 nvidia-driver-460 : Depends: nvidia-kernel-common-460 (<= 460.32.03-1) but it is not going to be installed
                     Depends: nvidia-kernel-common-460 (>= 460.32.03) but it is not going to be installed
                     Depends: nvidia-kernel-source-460 (= 460.32.03-0ubuntu0.20.04.1) but it is not going to be installed
                     Depends: libnvidia-extra-460 (= 460.32.03-0ubuntu0.20.04.1) but it is not going to be installed
                     Depends: libnvidia-encode-460 (= 460.32.03-0ubuntu0.20.04.1) but it is not going to be installed
                     Recommends: libnvidia-decode-460:i386 (= 460.32.03-0ubuntu0.20.04.1)
                     Recommends: libnvidia-encode-460:i386 (= 460.32.03-0ubuntu0.20.04.1)
                     Recommends: libnvidia-ifr1-460:i386 (= 460.32.03-0ubuntu0.20.04.1)
                     Recommends: libnvidia-fbc1-460:i386 (= 460.32.03-0ubuntu0.20.04.1)
                     Recommends: libnvidia-gl-460:i386 (= 460.32.03-0ubuntu0.20.04.1)
E: Unable to correct problems, you have held broken packages.

When I first tried running autoinstall, it was blocked as dpkg was still in use by apt even after it restarted after update.

Following is the output of ubuntu-drivers devices

== /sys/devices/pci0000:00/0000:00:07.0/0000:05:00.0 ==
modalias : pci:v000010DEd00001244sv0000196Esd0000089Cbc03sc00i00
vendor   : NVIDIA Corporation
model    : GF116 [GeForce GTX 550 Ti]
driver   : nvidia-340 - distro non-free
driver   : nvidia-driver-440-server - distro non-free
driver   : nvidia-driver-450-server - distro non-free
driver   : nvidia-driver-390 - distro non-free
driver   : nvidia-driver-450 - distro non-free
driver   : nvidia-driver-460 - distro non-free recommended
driver   : nvidia-driver-418-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

== /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0 ==
modalias : pci:v000014E4d000043A0sv00001043sd000085DFbc02sc80i00
vendor   : Broadcom Inc. and subsidiaries
model    : BCM4360 802.11ac Wireless Network Adapter
driver   : bcmwl-kernel-source - distro non-free

Update/Solution
So I was pretty sure I had remembered having a similar problem before.
Turns out the answer is that I had to uninstall the Nvidia drivers and use nouveau–problem was the update has an update to the nvidia driver, which the system then defaulted to

Best Answer

I found a working solution (for me) here: https://forums.linuxmint.com/viewtopic.php?f=59&t=339381&start=20

If combined:

  • Pick the Nouveau driver in "Additional drivers"
  • Run sudo apt-get purge *nvidia*
  • Reboot
  • Run sudo apt-get install nvidia-driver-460
  • Pick Nvidia 460 driver
  • Reboot

Optional (after installing nvidia-driver-460):

  • Run sudo apt install nvidia-kernel-source-460
  • Run sudo apt install xserver-xorg-video-nvidia-460
  • Run sudo apt install libnvidia-cfg1-460

It worked for me 14 minutes ago, everything works as usual :)

Related Question