Nvidia driver broken somehow

Ubuntu Version:
25.10

Desktop Environment (if applicable):
KDE Plasma

Problem Description:
I booted my machine today, and saw a new error message before the KDE login screen displayed.

[FAILED] failed to start nvidia-cdi-refresh.resh NVIDIA CDI specification file.

My system uses two monitors, and after this boot only the second monitor is working. I checked in KDE settings → Display settings, but only one monitor showed up. I checked on my Nvidia driver with nvidia-smi and got this output.

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA
driver is installed and running.

I checked in the “additional drivers” tab of the driver manager tool to check on what Nvidia driver was enabled. I thought maybe it had been updated, or maybe I could roll back to a previous one if so. All the Nvidia driver options listed in this tab are grayed out, and at the bottom of the list is the selected option “Continue using a manually installed driver.”

I definitely didn’t manually configure a different driver. I was last on 590.48.01 I think.

I also tried sudo apt upgrade and got this output, but I’m not sure what it means.

Not upgrading yet due to phasing:
python3-distupgrade ubuntu-release-upgrader-core ubuntu-release-upgrader-qt

Not upgrading:
libnvidia-cfg1-590 libnvidia-encode-590:i386 nvidia-compute-utils-590
libnvidia-common-590 libnvidia-extra-590 nvidia-dkms-590-open
libnvidia-compute-590 libnvidia-fbc1-590 nvidia-driver-590-open
libnvidia-compute-590:i386 libnvidia-fbc1-590:i386 nvidia-kernel-common-590
libnvidia-decode-590 libnvidia-gl-590 nvidia-kernel-source-590-open
libnvidia-decode-590:i386 libnvidia-gl-590:i386 nvidia-utils-590
libnvidia-encode-590 linux-modules-nvidia-590-open-generic xserver-xorg-video-nvidia-590

Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 24

Notice: Some packages may have been kept back due to phasing.

Relevant System Information:
I have an Nvidia RTX 4070 GPU, and use two of the four displayport outputs to drive two 1440p monitors.

1 Like

“Not upgrading due to phasing” shouldn’t concern you, but those libnvidia-* packages are not being upgraded for some other reason:

apt policy '?installed ?name(^libnvidia)'

The update to the 590 nvidia driver was supposed to upgrade to 595.

However, as the bug report linked below details, the i386 builds of the nvidia libraries like libnvidia-decode-595:i386 did not get built for releases older than resolute. So now 590 libraries like libnvidia-decode-590:i386 depend on non-existent 595 packages (libnvidia-decode-595:i386) which causes apt to bail on the update.

No i386 Builds in package (Noble Numbat)

Your solution is to either uninstall the i386 versions of the nvidia packages and then proceed to upgrade to the 595 :amd64 nvidia driver packages, or completely remove the 590 nvidia packages and switch to the 580 version which is a LTS branch and supported for longer.

Whether to upgrade or not depends on if you have an application, like a game, that needs the i386 versions of the missing nvidia libraries. If you have no such application, then upgrading to 595 without the i386 nvidia libraries is your best bet. Hopefully at some point in the future Ubuntu will provide the missing architecture builds for those packages. QA is a wonderful thing.

You could also install the driver directly from Nvidia, but you’d be on you own for updating it and getting support for it.

3 Likes

How do I update it to the 595 then? Is there a command for that? I normally did that through the driver manager gui, but all the options are grayed out.

Well I can outline what I did when upgrading and ran into the issue, but it’s probably not the easiest, most efficient, or even recommended way of doing it: I manually removed and then installed all nvidia related packages through apt not using the ubuntu-drivers (command-line or gui) program.

  1. Logout of gui session and switch to VT3: Ctrl-Alt-F3
  2. turn off graphical environment: $ sudo systemctl isolate multi-user.target
  3. Identify all nvidia related packages installed: S apt list ~i~nnvidia |tee nvidia-packages.txt Examine the list and see if everything looks ok. This means nothing is unexpected, or missing that you know of. If you have a question about the list created, post the nvidia-packages.txt file and we can look at it.
  4. Use “apt purge” to uninstall the packages: $ sudo apt -s purge ~i~nnvidia Look at the list of packages to remove. If nothing is unexpected on the list, then rerun the command without the “-s” (simulate) option.
  5. Do not reboot! It’s not necessary yet. If all went well with the removal, then you can install the 595 packages sans any i386 package versions.
  6. These are the packages I installed: $ sudo apt -s install nvidia-driver-595-open linux-modules-nvidia-595-open-generic-hwe-24.04 nvidia-vaapi-driver linux-modules-nvidia-595-open-6.17.0-22-generic Again, if the list looks ok then rerun the command without the “-s” option.
  7. If apt completes the install with no errors, then reboot and hopefully your preferred graphical desktop environment is presented on boot up.

Now, I installed the nvidia-driver-595-open package instead of the nvidia-driver-595 package because the *-open (linux-modules-nvidia-open-generic-hwe-24.04) package has a pre-built nvidia kernel module signed by Canonical which obviates using dkms to compile the nvidia kernel module every time the kernel is updated. If you don’t have Secure Boot enabled on your system, then it doesn’t really matter which nvidia driver package you use.

If you prefer to build the nvidia kernel module with dkms, then install nvidia-driver-595 and skip installing linux-modules-nvidia-595-open-generic-hwe-24.04 and linux-modules-nvidia-595-open-6.17.0-22-generic

I ran into some problems doing the same steps myself, but after a little bit of Claude work I have a working system again. I actually had to boot into a 25.10 live image to chroot into my Kubuntu install to fix initramfs. I honestly had no idea what I was doing at that point, and sent the AI’s suggestions. I’m shocked it worked.

Software Sources’ Additional Drivers tab shows that I’m using the 595-open driver. I hope updates aren’t so involved going forward.

Thank you for the help!

Yeah, unfortunately this isn’t the first time that this kind of thing has happened. That’s why I make judicious use of apt’s “-s” option whenever I’m installing/removing/upgrading packages. When I got notified about an available upgrade and saw the mess that upgrading the 590 nvidia driver to version 595 was going to cause, I decided remove and install the drivers manually using the steps I documented above and fortunately it worked.

Glad you got it sorted out.

Do you know if the 26.04 repo has all the 32-bit components of the Nvidia driver? Perhaps more importantly, how do I learn that sort of info myself? Gaming isn’t a primary concern, but would be nice for older games to run too. Thanks again for the help.

Yes the 26.04 (Resolute Raccoon) has the i386 libraries packages built for the nvidia 595 driver.

Launchpad. Just search for the nvidia-driver-595 package and it’ll be the first match. There you’ll see the package status under the current supported releases. Under Resolute you’ll see the Builds for amd64, amd64v3, arm64, and i386. Under Questing, Noble and Jammy there’s just amd64 and arm64. So no packages were built for the i386 architecture that are needed by other 32-bit applications (Wine or Steam supported for instance).

1 Like

Thank you for that info!

This topic was automatically closed 18 hours after the last reply. New replies are no longer allowed.