Zypper dup fails over nvidia persistence error

After installation of the 580 (G6) nvidia drivers boot stops just before the login screen (black screen with the cursor–and it do not detect the correct 4K resolution). zypper dup ends with an error about nvidia persestence; reboot shows a mok screen, and after registering the key, reboot stops before login (no access to console). This happen with the two new kernels 6.16.0 and 6.16.1.

The system journal reads

Failed to query NVIDIA devices. Please ensure that the NVIDIA device files 
(/dev/nvidia*) exist, and that user 457 has read and write permissions for 
those files.
 
nvidia-persistenced failed to initialize. Check syslog for more details.

NVRM: API mismatch: the client has the version 580.76.05, but
NVRM: this kernel module has the version 570.172.08.  Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.

nvidia-persistenced.service: Control process exited, code=exited, 
status=1/FAILURE

Rolling back to 570 drivers restores the system. My actual configuration is

inxi -G
Graphics:
  Device-1: Intel Raptor Lake-S UHD Graphics driver: i915 v: kernel
  Device-2: NVIDIA AD107GLM [RTX 1000 Ada Generation Laptop GPU]
    driver: nvidia v: 570.172.08
  Device-3: Microdia Integrated_Webcam_FHD driver: uvcvideo type: USB
  Display: wayland server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.8
    compositor: kwin_wayland driver: X: loaded: modesetting,nvidia
    unloaded: vesa dri: iris gpu: i915 resolution: 3840x2400~60Hz
  API: EGL v: 1.5 drivers: iris,nvidia,swrast
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 25.1.7
    renderer: Mesa Intel Graphics (RPL-S)
  API: Vulkan v: 1.4.321 drivers: N/A surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: nvidia-settings,nvidia-smi
    wl: wayland-info x11: xdpyinfo, xprop, xrandr

System:
  Kernel: 6.15.8-1-default arch: x86_64 bits: 64 compiler: gcc v: 15.1.1

Thanks for your help

You have a driver version missmatch. Make sure when performing the update, that all packages have the correct version number 580.76.05
After you have performed the zypper dup, but before reboot, show us the output from
zypper se -si nvidia

1 Like

After zypper dup I get the error:

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)

The output is:

zypper se -si nvidia
Loading repository data...
Reading installed packages...

S  | Name                             | Type    | Version                  | Arch   | Repository
---+----------------------------------+---------+--------------------------+--------+--------------------
i  | kernel-firmware-nvidia           | package | 20250516-4.1             | noarch | repo-oss
i  | libnvidia-egl-gbm1               | package | 1.1.2-7.14               | x86_64 | repo-non-free
i  | libnvidia-egl-gbm1-32bit         | package | 1.1.2-7.9                | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1           | package | 1.1.20-51.1              | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1-32bit     | 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-egl-x111-32bit         | 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  | libnvidia-gpucomp-32bit          | package | 580.76.05-39.1           | x86_64 | repo-non-free
i  | libva-nvidia-driver              | package | 0.0.14-2.7               | x86_64 | home:MasterPatricko
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-G06-32bit         | 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-driver-G06-kmp-default    | package | 580.76.05_k6.15.8_1-39.1 | x86_64 | repo-non-free
i+ | nvidia-gl-G06                    | package | 580.76.05-39.1           | x86_64 | repo-non-free
i+ | nvidia-gl-G06-32bit              | package | 580.76.05-39.1           | x86_64 | repo-non-free
i+ | nvidia-libXNVCtrl                | package | 580.76.05-41.1           | x86_64 | repo-non-free
i+ | nvidia-modprobe                  | package | 580.76.05-17.1           | x86_64 | repo-non-free
i+ | nvidia-persistenced              | package | 580.76.05-2.1            | x86_64 | repo-non-free
i+ | nvidia-settings                  | package | 580.76.05-41.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+ | nvidia-video-G06-32bit           | package | 580.76.05-39.1           | x86_64 | repo-non-free
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20250728.9adc675-1.1     | x86_64 | repo-oss
~ 12:05 $ 

Persistence service

systemctl status nvidia-persistenced.service
× nvidia-persistenced.service - NVIDIA Persistence Daemon
     Loaded: loaded (/usr/lib/systemd/system/nvidia-persistenced.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Sat 2025-08-23 12:03:15 CEST; 3min 33s ago
   Duration: 56min 15.550s
 Invocation: 5a4b305de02540989d1d6f38ede2bc85
    Process: 63737 ExecStart=/usr/bin/nvidia-persistenced --verbose (code=exited, status=1/FAILURE)

You seem to have some additional repos which explicitely (according to the maintainer) are not intended for public use. As example the libva-nvidia-driver package from home:MasterPatricko repo. Additional this is a dual graphics system (Optimus).

Such systems are always hard to troubleshoot…

ping @malcolmlewis

I use this repository to install Zotero: I was not aware of the library installed: may I remove it?
zypper says something about systemd: is it relevant?

Disable it then you can enable to update Zetero as needed. no need to remove

An old recommendation is to use an external repo only for the packages you explicitly want from it. hen disable the repo to avoid unexpected installation of other packages. And enable only if the packages you have from it have a newer version (and then only update those packages).

Still sounds as a good practise to me.

1 Like

This is a really bad advise.
First: not only zotero is installed from this repo (as easily can be seen at the terminal output)
Second: when the repo is disabled you don’t get notified of updates.

1 Like

That is clear from my advice. But using third party repos, which can host a lot of rubbish besides what you want, brings some extra work and attention. E.g. checking manually from time to time if there is a newer version from what you want on them.

1 Like

My answer was directed at gogalthorp.

I removed the libva-nvidia (without getting new conflicts) and taboo it. How do I force a new dup? Or shall I rollback and restart?

We may take some steps back.
First show your repo list via
zypper lr -d

Then also show
zypper se -si kernel
as the output in the first post shows that there seems to be a version missmatch after the zypper dup. The persistence service failes due to missing kernel modules. This can be caused by missing kernel devel packages…
This command would be interesting before and after the zypper dup.

Also show
sudo journalctl -xeu nvidia-persistenced.service

OK:

~ 12:43 $ zypper lr -d
#  | Alias                      | Name                        | Enabled | GPG Check | Refresh | Keep | Priority | Type   | URI                                                                                  | Service
---+----------------------------+-----------------------------+---------+-----------+---------+------+----------+--------+--------------------------------------------------------------------------------------+---------
 1 | NVIDIA:repo-non-free       | repo-non-free               | Yes     | (r ) Yes  | Yes     | -    |   99     | rpm-md | https://download.nvidia.com/opensuse/tumbleweed                                      | NVIDIA
 2 | gh-cli                     | packages for the GitHub CLI | Yes     | (r ) Yes  | Yes     | -    |   99     | rpm-md | https://cli.github.com/packages/rpm                                                  | 
 3 | home_MasterPatricko        | home:MasterPatricko         | Yes     | (r ) Yes  | Yes     | -    |   99     | rpm-md | https://download.opensuse.org/repositories/home:/MasterPatricko/openSUSE_Tumbleweed/ | 
 4 | openSUSE:repo-non-oss      | repo-non-oss                | Yes     | (r ) Yes  | Yes     | -    |   99     | rpm-md | http://cdn.opensuse.org/tumbleweed/repo/non-oss                                      | openSUSE
 5 | openSUSE:repo-openh264     | repo-openh264               | Yes     | (r ) Yes  | Yes     | -    |   99     | rpm-md | https://codecs.opensuse.org/openh264/openSUSE_Tumbleweed                             | openSUSE
 6 | openSUSE:repo-oss          | repo-oss                    | Yes     | (r ) Yes  | Yes     | -    |   99     | rpm-md | http://cdn.opensuse.org/tumbleweed/repo/oss                                          | openSUSE
 7 | openSUSE:repo-oss-debug    | repo-oss-debug              | No      | ----      | ----    | -    |   99     | N/A    | http://cdn.opensuse.org/debug/tumbleweed/repo/oss                                    | openSUSE
 8 | openSUSE:repo-oss-source   | repo-oss-source             | No      | ----      | ----    | -    |   99     | N/A    | http://cdn.opensuse.org/source/tumbleweed/repo/oss                                   | openSUSE
 9 | openSUSE:update-tumbleweed | update-tumbleweed           | Yes     | (r ) Yes  | Yes     | -    |   99     | rpm-md | http://cdn.opensuse.org/update/tumbleweed                                            | openSUSE
10 | packman-essentials         | packman-essentials          | Yes     | (r ) Yes  | Yes     | -    |   90     | rpm-md | http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/Essentials        | 
11 | vscode                     | Visual Studio Code          | Yes     | (r ) Yes  | Yes     | -    |   99     | rpm-md | https://packages.microsoft.com/yumrepos/vscode                                       | 

and

zypper se -si kernel
Loading repository data...
Reading installed packages...

S  | Name                                    | Type    | Version                | Arch   | Repository
---+-----------------------------------------+---------+------------------------+--------+------------------
i+ | kernel-default                          | package | 6.15.8-1.1             | x86_64 | (System Packages)
i+ | kernel-default                          | package | 6.15.7-1.1             | x86_64 | (System Packages)
i+ | kernel-default                          | package | 6.16.1-1.1             | x86_64 | repo-oss
i+ | kernel-default-devel                    | package | 6.15.8-1.1             | x86_64 | (System Packages)
i+ | kernel-default-devel                    | package | 6.15.7-1.1             | x86_64 | (System Packages)
i+ | kernel-default-devel                    | package | 6.16.1-1.1             | x86_64 | repo-oss
i+ | kernel-devel                            | package | 6.15.8-1.1             | noarch | (System Packages)
i+ | kernel-devel                            | package | 6.15.7-1.1             | noarch | (System Packages)
i+ | kernel-devel                            | package | 6.16.1-1.1             | noarch | repo-oss
i  | kernel-firmware-all                     | package | 20250206-1.1           | noarch | repo-oss
i  | kernel-firmware-amdgpu                  | package | 20250811-1.1           | noarch | repo-oss
i  | kernel-firmware-ath10k                  | package | 20250206-4.1           | noarch | repo-oss
i  | kernel-firmware-ath11k                  | package | 20250808-1.1           | noarch | repo-oss
i  | kernel-firmware-ath12k                  | package | 20250808-1.1           | noarch | repo-oss
i  | kernel-firmware-atheros                 | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-bluetooth               | package | 20250808-1.1           | noarch | repo-oss
i  | kernel-firmware-bnx2                    | package | 20250627-1.1           | noarch | repo-oss
i  | kernel-firmware-brcm                    | package | 20250623-1.1           | noarch | repo-oss
i  | kernel-firmware-chelsio                 | package | 20250627-1.1           | noarch | repo-oss
i  | kernel-firmware-dpaa2                   | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-i915                    | package | 20250730-1.1           | noarch | repo-oss
i  | kernel-firmware-intel                   | package | 20250718-2.1           | noarch | repo-oss
i  | kernel-firmware-iwlwifi                 | package | 20250609-2.1           | noarch | repo-oss
i  | kernel-firmware-liquidio                | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-marvell                 | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-media                   | package | 20250804-1.1           | noarch | repo-oss
i  | kernel-firmware-mediatek                | package | 20250813-1.1           | noarch | repo-oss
i  | kernel-firmware-mellanox                | package | 20250717-1.1           | noarch | repo-oss
i  | kernel-firmware-mwifiex                 | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-network                 | package | 20250804-1.1           | noarch | repo-oss
i  | kernel-firmware-nfp                     | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-nvidia                  | package | 20250516-4.1           | noarch | repo-oss
i  | kernel-firmware-platform                | package | 20250811-1.1           | noarch | repo-oss
i  | kernel-firmware-prestera                | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-qcom                    | package | 20250808-1.1           | noarch | repo-oss
i  | kernel-firmware-qlogic                  | package | 20250717-1.1           | noarch | repo-oss
i  | kernel-firmware-radeon                  | package | 20250627-1.1           | noarch | repo-oss
i  | kernel-firmware-realtek                 | package | 20250814-1.1           | noarch | repo-oss
i  | kernel-firmware-serial                  | package | 20250717-1.1           | noarch | repo-oss
i  | kernel-firmware-sound                   | package | 20250721-2.1           | noarch | repo-oss
i  | kernel-firmware-ti                      | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-ueagle                  | package | 20250206-2.1           | noarch | repo-oss
i  | kernel-firmware-usb-network             | package | 20250717-1.1           | noarch | repo-oss
i+ | kernel-macros                           | package | 6.16.1-1.1             | noarch | repo-oss
i  | libabsl_kernel_timeout_internal2505_0_0 | package | 20250512.1-1.1         | x86_64 | (System Packages)
i  | libabsl_kernel_timeout_internal2508_0_0 | package | 20250814.0-1.1         | x86_64 | repo-oss
i  | purge-kernels-service                   | package | 0-9.9                  | noarch | repo-oss
i  | texlive-l3kernel                        | package | 2025.218.svn73651-59.1 | noarch | repo-oss
i  | texlive-l3kernel-dev                    | package | 2025.218.svn73508-59.1 | noarch | repo-oss

and finally

nvidia-persistenced.service: Control process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ An ExecStart= process belonging to unit nvidia-persistenced.service has exited.
░░ 
░░ The process' exit code is 'exited' and its exit status is 1.
août 23 12:03:15 kern systemd[1]: nvidia-persistenced.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ The unit nvidia-persistenced.service has entered the 'failed' state with result 'exit-code'.
août 23 12:03:15 kern systemd[1]: Failed to start NVIDIA Persistence Daemon.
░░ Subject: A start job for unit nvidia-persistenced.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ A start job for unit nvidia-persistenced.service has finished with a failure.
░░ 
░░ The job identifier is 10941 and the job result is failed.
août 23 12:03:15 kern systemd[1]: nvidia-persistenced.service: Scheduled restart job, restart counter is at 5.
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ Automatic restarting of the unit nvidia-persistenced.service has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
août 23 12:03:15 kern systemd[1]: nvidia-persistenced.service: Start request repeated too quickly.
août 23 12:03:15 kern systemd[1]: nvidia-persistenced.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ The unit nvidia-persistenced.service has entered the 'failed' state with result 'exit-code'.
août 23 12:03:15 kern systemd[1]: Failed to start NVIDIA Persistence Daemon.
░░ Subject: A start job for unit nvidia-persistenced.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░ 
░░ A start job for unit nvidia-persistenced.service has finished with a failure.
░░ 
░░ The job identifier is 11089 and the job result is failed.

systemd transfiletriggerin attempts to restart running services. This probably cannot work during NVIDIA update at all - the user space is updated but kernel driver is still from the previous version.

This warrants bug report.

This seems to be related to the problem I find…
How do I fill a bug report?
How to step back?

https://bugzilla.opensuse.org/, same user/password as here, use Tumbleweed for the product and “X11 3rd Party Driver” for the Component.

But it will need rather more detailed information than just two lines. The list of the original installed versions before update, the full transcript of zypper dup run including the complete output. I would also add full journalctl -b output.

Not sure I understand the question. If you mean - revert update - if you are using btrfs with snapshots enabled, just use snapper to rollback to one of the previous snapshots.

Yes, I can rollback using snapper.

I think this has the same problems as my previous post.

After I installed the new kernel
(zypper in -f nvidia-driver-G06-kmp-default),
then the next reboot the old resolution is back in use.

And nvidia is not found in the /dev/ directory

Not really clear what this “roll back” really is: full rollback to a snapshot with kernel 6.15.8 and nvidia 570.172.08 or downgrade of the nvidia to 570.xx only?

Here I have a system upgraded to kernel 6.16.1 and nvidia 580.76 working well, but if I boot kernel 6.15.8 it has nvidia modules still at 570.172.08 and nvidia-persistenced fails:

LT-B:~ # systemctl status nvidia-persistenced
× nvidia-persistenced.service - NVIDIA Persistence Daemon
     Loaded: loaded (/usr/lib/systemd/system/nvidia-persistenced.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Sat 2025-08-23 16:05:09 CEST; 2min 26s ago
 Invocation: 389c66f5339049628118f5e3d0d2ea48
    Process: 2031 ExecStart=/usr/bin/nvidia-persistenced --verbose (code=exited, status=1/FAILURE)

ago 23 16:05:09 LT-B systemd[1]: nvidia-persistenced.service: Scheduled restart job, restart counter is at 5.
ago 23 16:05:09 LT-B systemd[1]: nvidia-persistenced.service: Start request repeated too quickly.
ago 23 16:05:09 LT-B systemd[1]: nvidia-persistenced.service: Failed with result 'exit-code'.
ago 23 16:05:09 LT-B systemd[1]: Failed to start NVIDIA Persistence Daemon.
LT-B:~ #

Likewise nvidia-smi fails:

bruno@LT-B:~> nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
NVML library version: 580.76
bruno@LT-B:~>

etc. due to nvidia libraries being at 580.76.05 (those libraries are not kept as multiversion-kernel does…)
So, after zypper dup are you sure that you are booting a 6.16.1 kernel?

After zypper dup and system shutdown, when I restart, using the new configuration with kernel 6.16.1, I enroll de mok key (from the blue screen), reboot; but it stops at the black screen just before login. I did not succeed in getting the new system start.