Comment 0 for bug 1916971

Revision history for this message
Ubuntu Tinkerer (rationaltree) wrote : After fresh install, downgrading Nvidia driver doesn't update nvidia modules in kernel

SYSTEM:

Laptop: ASUS ROG GL552VW
OS: Ubuntu 20.04
GRAPHICS: Nvidia Geforce GTX 960m AND Intel HD Graphics
Linux kernel version: 5.8.0-44-generic

SUMMARY:

From a fresh working install of Ubuntu 20.04, I wanted to downgrade from nvidia-driver-460 by installing nvidia-driver-440 (which actually is a transitional package to nvidia-driver-450). After reboot I couldn't reach login-screen and instead got a black screen.

Problem was that sudo apt-get install nvidia-driver-440 did not insert nvidia modules v450 in kernel since never versions v460 were found.

This was solved by dropping into safe mode and uninstalling linux-modules-nvidia-460 packages and instead installing linux-modules-nvidia-450 packages.

STEPS TO REPRODUCE:

Install Ubuntu 20.04. During installation, allow for the installation of proprietary drivers.

Once Ubuntu 20.04 has started, open a terminal and run the following:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-440
sudo shutdown reboot now

PROBLEM:

After reboot, you can't reach login screen. Instead you get stuck during bootup.

WORKAROUND:

Remove the linux-modules-nvidia-460 packages and install the corresponding linux-modules-nvidia-450 packages. In my case I had Linux kernel versions 5.8.0-44-generic and 5.8.0-43-generic installed so I did as follows from recovery mode with network:

sudo apt-get autoremove --purge linux-modules-nvidia-460-5.8.0-44-generic linux-modules-nvidia-460-5.8.0-43-generic
sudo apt-get install linux-modules-nvidia-450-5.8.0-44-generic linux-modules-nvidia-450-5.8.0-43-generic
sudo shutdown reboot now

QUESTION:

Why was the linux-modules-nvidia-460 packages installed by the Ubuntu installer to begin with? I ask since I later removed the linux-modules-nvidia-450 packages (OBSERVE: 450, not 460) and used the Additional Drivers GUI to update back to nvidia-driver-460. Now linux-modules-nvidia-460 packages are NOT installed but the following still outputs 460:

modinfo nvidia | grep -i version

LOG:

This is a relevant part of /var/log/apt/term.log for when I installed nvidia-driver-440

nvidia.ko:
Running module version sanity check.
Error! Module version 450.102.04 for nvidia.ko
is not newer than what is already found in kernel 5.8.0-44-generic (460.39).
You may override by specifying --force.

nvidia-modeset.ko:
Running module version sanity check.
Error! Module version 450.102.04 for nvidia-modeset.ko
is not newer than what is already found in kernel 5.8.0-44-generic (460.39).
You may override by specifying --force.

nvidia-drm.ko:
Running module version sanity check.
Error! Module version 450.102.04 for nvidia-drm.ko
is not newer than what is already found in kernel 5.8.0-44-generic (460.39).
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.8.0-44-generic/updates/dkms/

This is a relevant part of /var/log/apt/term.log for when I installed packages linux-modules-nvidia-450-5.8.0-44-generic and linux-modules-nvidia-450-5.8.0-43-generic

Building module:
cleaning build area...
unset ARCH; [ ! -h /usr/bin/cc ] && export CC=/usr/bin/gcc; env NV_VERBOSE=1 'make' -j8 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=5.8.0-43-generic IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=/lib/modules/5.8.0-43-generic/build LD=/usr/bin/ld.bfd modules............
Signing module:
 - /var/lib/dkms/nvidia/450.102.04/5.8.0-43-generic/x86_64/module/nvidia-modeset.ko
 - /var/lib/dkms/nvidia/450.102.04/5.8.0-43-generic/x86_64/module/nvidia-uvm.ko
 - /var/lib/dkms/nvidia/450.102.04/5.8.0-43-generic/x86_64/module/nvidia-drm.ko
 - /var/lib/dkms/nvidia/450.102.04/5.8.0-43-generic/x86_64/module/nvidia.ko
Secure Boot not enabled on this system.
cleaning build area...

DKMS: build completed.

nvidia.ko:
Running module version sanity check.

Good news! Module version 450.102.04 for nvidia.ko
exactly matches what is already found in kernel 5.8.0-43-generic.
DKMS will not replace this module.
You may override by specifying --force.

nvidia-modeset.ko:
Running module version sanity check.

Good news! Module version 450.102.04 for nvidia-modeset.ko
exactly matches what is already found in kernel 5.8.0-43-generic.
DKMS will not replace this module.
You may override by specifying --force.

nvidia-drm.ko:
Running module version sanity check.

Good news! Module version 450.102.04 for nvidia-drm.ko
exactly matches what is already found in kernel 5.8.0-43-generic.
DKMS will not replace this module.
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.8.0-43-generic/updates/dkms/

ProblemType: Bug
DistroRelease: Ubuntu 20.04
Package: ubiquity (not installed)
ProcVersionSignature: Ubuntu 5.8.0-44.50~20.04.1-generic 5.8.18
Uname: Linux 5.8.0-44-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.20.11-0ubuntu27.16
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: ubuntu:GNOME
Date: Fri Feb 26 01:26:35 2021
InstallCmdLine: BOOT_IMAGE=/casper/vmlinuz file=/cdrom/preseed/ubuntu.seed maybe-ubiquity quiet splash ---
InstallationDate: Installed on 2021-02-24 (1 days ago)
InstallationMedia: Ubuntu 20.04.2.0 LTS "Focal Fossa" - Release amd64 (20210209.1)
SourcePackage: ubiquity
Symptom: installer
UpgradeStatus: No upgrade log present (probably fresh install)