Zypper update broke NVidia drivers

I’m using a brand-new computer with an NVIDIA GeForce RTX 5060 card. I’m not a gamer, but I wanted to try out some things with CUDA. I’ve been programming for a long time and I think I’m reasonably experienced with Linux, but I’m not a hardware or kernel expert. I was aware that installing drivers for NVIDIA cards is tricky on Linux, but everything seemed to work fine this weekend after I did this:

sudo zypper install nvidia-open-driver-G06-signed-kmp-default nvidia-userspace-meta-G06 kernel-firmware-nvidia-gsp-G06

However, today zypper wanted to install some updates:

The following 9 packages are going to be upgraded:
  libnvidia-gpucomp nvidia-common-G06 nvidia-compute-G06 nvidia-compute-utils-G06 nvidia-gl-G06 nvidia-modprobe nvidia-persistenced nvidia-userspace-meta-G06
  nvidia-video-G06

I already had a bad feeling when I saw this during the installation:

Job for nvidia-persistenced.service failed because the control process exited with error code.
See "systemctl status nvidia-persistenced.service" and "journalctl -xeu nvidia-persistenced.service" for details.
error: lua script failed: [string "%transfiletriggerin(systemd-257.7-6.1.x86_64)..."]:5: exit code
Error from %transfiletriggerin(systemd-257.7-6.1.x86_64)

And indeed, everything was broken after I rebooted, the display was back to some kind of VGA state. I had to roll back using snapper to make the graphics usable again. The relevant (I think) parts of the kernel messages are these:

Sep 08 13:07:22 frunobulax kernel: nvidia: loading out-of-tree module taints kernel.
Sep 08 13:07:22 frunobulax kernel: NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64  580.76.05  Release Build  (abuild@OBS)  Thu Aug 14 17:10:25 UTC 2025
Sep 08 13:07:22 frunobulax kernel: nvidia 0000:01:00.0: Direct firmware load for nvidia/580.76.05/gsp_ga10x.bin failed with error -2
Sep 08 13:07:22 frunobulax kernel: NVRM: RmFetchGspRmImages: No firmware image found
Sep 08 13:07:22 frunobulax kernel: NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x61:0x56:1914)
Sep 08 13:07:22 frunobulax kernel: NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
Sep 08 13:07:22 frunobulax kernel: [drm:nv_drm_dev_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice
Sep 08 13:07:22 frunobulax kernel: [drm:nv_drm_register_drm_device.cold [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to load device
Sep 08 13:07:24 frunobulax kernel: NVRM: API mismatch: the client 'nvidia-powerd' (pid 1378)
                                   NVRM: has the version 580.82.07, but this kernel module has
                                   NVRM: the version 580.76.05.  Please make sure that this
                                   NVRM: kernel module and all NVIDIA driver components
                                   NVRM: have the same version.
Sep 08 13:07:24 frunobulax kernel: NVRM: API mismatch: the client 'nvidia-persiste' (pid 1461)
                                   NVRM: has the version 580.82.07, but this kernel module has
                                   NVRM: the version 580.76.05.  Please make sure that this
                                   NVRM: kernel module and all NVIDIA driver components
                                   NVRM: have the same version.
Sep 08 13:07:24 frunobulax kernel: NVRM: API mismatch: the client 'nvidia-persiste' (pid 1539)
                                   NVRM: has the version 580.82.07, but this kernel module has
                                   NVRM: the version 580.76.05.  Please make sure that this
                                   NVRM: kernel module and all NVIDIA driver components
                                   NVRM: have the same version.
Sep 08 13:07:24 frunobulax kernel: NVRM: API mismatch: the client 'nvidia-persiste' (pid 1645)
                                   NVRM: has the version 580.82.07, but this kernel module has
                                   NVRM: the version 580.76.05.  Please make sure that this
                                   NVRM: kernel module and all NVIDIA driver components
                                   NVRM: have the same version.
Sep 08 13:07:24 frunobulax kernel: nvme nvme0: using unchecked data buffer
Sep 08 13:07:24 frunobulax kernel: NVRM: API mismatch: the client 'nvidia-persiste' (pid 1674)
                                   NVRM: has the version 580.82.07, but this kernel module has
                                   NVRM: the version 580.76.05.  Please make sure that this
                                   NVRM: kernel module and all NVIDIA driver components
                                   NVRM: have the same version.
Sep 08 13:07:24 frunobulax kernel: NVRM: API mismatch: the client 'nvidia-persiste' (pid 1678)
                                   NVRM: has the version 580.82.07, but this kernel module has
                                   NVRM: the version 580.76.05.  Please make sure that this
                                   NVRM: kernel module and all NVIDIA driver components
                                   NVRM: have the same version.
Sep 08 13:07:31 frunobulax kernel: NVRM: API mismatch: the client 'Xorg.bin' (pid 2268)
                                   NVRM: has the version 580.82.07, but this kernel module has
                                   NVRM: the version 580.76.05.  Please make sure that this
                                   NVRM: kernel module and all NVIDIA driver components
                                   NVRM: have the same version.
Sep 08 13:07:31 frunobulax kernel: NVRM: API mismatch: the client 'Xorg.bin' (pid 2268)
                                   NVRM: has the version 580.82.07, but this kernel module has
                                   NVRM: the version 580.76.05.  Please make sure that this
                                   NVRM: kernel module and all NVIDIA driver components
                                   NVRM: have the same version.

My understanding is that there’s a version mismatch between some NVIDIA programs and the kernel module. Shouldn’t zypper prevent something like this? What can I do to fix it? How can I make sure this doesn’t happen again?

FWIW, here’s the output of zypper se -si nvidia:

S  | Name                                      | Type    | Version                 | Arch   | Repository
---+-------------------------------------------+---------+-------------------------+--------+----------------------
i  | kernel-firmware-nvidia                    | package | 20250516-4.1            | noarch | Main Repository (OSS)
i  | kernel-firmware-nvidia                    | package | 20250516-4.1            | noarch | repo-oss
i+ | kernel-firmware-nvidia-gsp-G06            | package | 535.86.05-3.5           | x86_64 | Main Repository (OSS)
i+ | kernel-firmware-nvidia-gsp-G06            | package | 535.86.05-3.5           | x86_64 | repo-oss
i  | libnvidia-egl-gbm1                        | package | 1.1.2-7.14              | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1                    | package | 1.1.20-51.1             | x86_64 | repo-non-free
i  | libnvidia-egl-x111                        | package | 1.0.3-21.1              | x86_64 | repo-non-free
i  | libnvidia-gpucomp                         | package | 580.76.05-39.1          | x86_64 | repo-non-free
i  | nvidia-common-G06                         | package | 580.76.05-39.1          | x86_64 | repo-non-free
i  | nvidia-compute-G06                        | package | 580.76.05-39.1          | x86_64 | repo-non-free
i  | nvidia-compute-utils-G06                  | package | 580.76.05-39.1          | x86_64 | repo-non-free
i  | nvidia-gl-G06                             | package | 580.76.05-39.1          | x86_64 | repo-non-free
i  | nvidia-modprobe                           | package | 580.76.05-17.1          | x86_64 | repo-non-free
i+ | nvidia-open-driver-G06-signed-kmp-default | package | 580.76.05_k6.16.3_1-2.4 | x86_64 | Main Repository (OSS)
i+ | nvidia-open-driver-G06-signed-kmp-default | package | 580.76.05_k6.16.3_1-2.4 | x86_64 | repo-oss
i  | nvidia-persistenced                       | package | 580.76.05-2.1           | x86_64 | repo-non-free
i+ | nvidia-userspace-meta-G06                 | package | 580.76.05-11.1          | noarch | repo-non-free
i+ | nvidia-userspace-meta-G06                 | package | 580.76.05-11.1          | noarch | repo-non-free
i  | nvidia-video-G06                          | package | 580.76.05-39.1          | x86_64 | repo-non-free
i  | openSUSE-repos-MicroOS-NVIDIA             | package | 20250728.9adc675-1.1    | x86_64 | Main Repository (OSS)
i  | openSUSE-repos-MicroOS-NVIDIA             | package | 20250728.9adc675-1.1    | x86_64 | repo-oss

You seem to have a version mix.

nvidia-persistenced and a few others in repo-non-free have been updated to version 580.82.07 while the nvidia-open-driver-G06-signed-kmp-default you are using is still at version 580.76.05.
Wait a few days for the open driver to catch up before upgrading, or lock all packages from repo-non-free for the time being.

And, BTW, welcome to the openSUSE Forums!

1 Like

@hui AFAIK that should be fine for the GSP firmware.

Question about inconsistent Nvidia Update - openSUSE Users - openSUSE Mailing Lists

Thanks for all the replies so far. I have to say that I am a bit underwhelmed. I followed the link to the mailing list and read some other forum threads and my layman understanding is that things like locking packages or waiting for driver updates are stopgap solutions that will work temporarily, but might break with the next update. I understand that somehow NVIDIA is the main culprit for not properly open-sourcing their drivers, but I still hope that there’ll be a more user-friendly solution soon.

Even figuring out that I needed to run

sudo zypper install nvidia-open-driver-G06-signed-kmp-default nvidia-userspace-meta-G06 kernel-firmware-nvidia-gsp-G06

in the first place took a lot of searching and making sure to exclude obsolete advice. (And I’m now wondering whether instead of gsp-G06 I should have used gspx-G06. And what about gspx-G06-cuda? Oh well…)

I’ve used openSUSE on several other computers and I was always happy with the stability and relative ease of use, so this situation is new to me.

1 Like

No. The culprit is the packaging change that was intended to fix one (and from the changelog, minor) issue and created much more serious problem. Somebody who experienced this and can collect necessary information should open bug report.

Do you think it would be OK to send my original message as a bug report?

BTW, what I forgot to say is that when installing everything on Saturday I realized that the NVIDIA card was only using the Nouveau driver and I initially followed the advice found in various places to try this:

zypper inr

But that didn’t work. It offered to install lots of games and PIM apps I don’t need, but no drivers for my card.

Bugreport and some explanations…
https://bugzilla.opensuse.org/show_bug.cgi?id=1249235

OK, thanks. Seems there have been changes related to my problem less than an hour ago. Let’s see when this fix will be available.

I had problems with KDE Plasma crashing. Updated again, there was an nvidia update too and after that old games like VTM Bloodlines were unplayable. Kingping Life of Crime didn’t even start stating I need a grpahics card that supports OpenGL. I have a GTX 1070. Rolled back to August 28 and everything works fine again.

Doing a zypper update still breaks the NVidia drivers on all my computers.
Not sure there’s been any progress on this :S

  • You don’t use zypper up on Tumbleweed. Only zypper dup.
  • The bugreport explains that the fix will be released with the next driver update
  • there are many ways to work around this issue and have a working system

Next driver update??? Who know when that will be? So we can’t update til then? :frowning:

Why not? Simply rollback, lock the few Nvidia packages, perform a zypper dup.
If you don’t use snapper, simply bring the Nvidia packages into a consistant version state via zypper/Myrlyn/Yast, lock the Nvidia packages and perform a zypper dup. Or if you don’t bother, install the closed source kmp and the issue is gone completely.

This are only three different possibilities…

You can simply use zypper addlock nvidia-compute-G06 to stop that specific package from updating.
But the overall “new user experience” is terrible.
How would anyone just installing openSUSE Tumbleweed ever know this?
(or know to never use update ?)

I had issues with KDE Plasma crashes in an infinite loop with recent updates. When I last tried to update the nvidia driver updated as well and I didn’t had Plasma crash in an inifnite loop, but my games ran like … :frowning:

So I’m unsure if I don’t update the nvidia driver I won’t have problems with plasma crash

@ChaserHUN use the hard way, which in some ways can be easy?
https://en.opensuse.org/SDB:NVIDIA_the_hard_way

VERSION_ID="20250908"
PRETTY_NAME="openSUSE Tumbleweed"

Linux 6.16.5-1-default #1 SMP PREEMPT_DYNAMIC Thu Sep  4 15:51:43 UTC 2025 (642f24d) x86_64 x86_64 x86_64 GNU/Linux

nvidia-smi
Tue Sep  9 14:40:38 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.07              Driver Version: 580.82.07      CUDA Version: 13.0     |
1 Like

Shoudln’t be all nvidia componenst be locked so there are now differrences in versions?

I am not that of a big Linux guru :smiley: