I recently did a system update to Unbutu 20.04 and then noticed that there was a newer version of the nvidia driver listed in the additional drivers applet. I decided to try installing the latest which turns out was a bad move because I have an older GTX 550 ti. Come to find out the only driver version that still supports it is nvidia-390, so I tried following the steps of apt purge and autoremove and then installing with
sudo apt install -y nvidia-driver-390
Though it seems to run ok, restarting still says it is running a manually installed driver and the resolution is stuck at 800x600. I see this output and noticed there is an error during the installation:
Loading new nvidia-390.141 DKMS files...
Building for 5.4.0-60-generic
Building for architecture x86_64
Building initial module for 5.4.0-60-generic
Done.
nvidia.ko:
Running module version sanity check.
Error! Module version 390.141 for nvidia.ko
is not newer than what is already found in kernel 5.4.0-60-generic (460.32.03).
You may override by specifying --force.
nvidia-modeset.ko:
Running module version sanity check.
Error! Module version 390.141 for nvidia-modeset.ko
is not newer than what is already found in kernel 5.4.0-60-generic (460.32.03).
You may override by specifying --force.
nvidia-drm.ko:
Running module version sanity check.
Error! Module version 390.141 for nvidia-drm.ko
is not newer than what is already found in kernel 5.4.0-60-generic (460.32.03).
You may override by specifying --force.
nvidia-uvm.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/5.4.0-60-generic/updates/dkms/
depmod...
DKMS: install completed.
It seems it won't downgrade the version of the kernel modules because the newer (wrong) version is already installed and needs force to continue. I have tried running modprobe -r to manually remove the modules from the running kernel, but that doesn't seem to help.
Here are the contents of /var/lib/dkms:
tree /var/lib/dkms/
/var/lib/dkms/
├── dkms_dbversion
└── nvidia
├── 390.141
│ ├── 5.4.0-60-generic
│ │ └── x86_64
│ │ ├── log
│ │ │ └── make.log
│ │ └── module
│ │ ├── nvidia-drm.ko
│ │ ├── nvidia.ko
│ │ ├── nvidia-modeset.ko
│ │ └── nvidia-uvm.ko
│ └── source -> /usr/src/nvidia-390.141
└── kernel-5.4.0-60-generic-x86_64 -> 390.141/5.4.0-60-generic/x86_64
I tried running the following commands, but it didn't work.
Remove all the proprietary nvidia packages.
sudo apt update
sudo apt remove '^nvidia'
sudo apt remove xserver-xorg-video-nvidia-440-server xserver-xorg-video-nvidia-440
sudo apt autoremove
sudo reboot
Install the 390 series proprietary Nvidia packages.
sudo apt install nvidia-driver-390 xserver-xorg-video-nvidia-390
sudo reboot
In the meantime, I have no way to activate my second monitor or change the resolution from the default.