[Suggestion] NVIDIA getting out of sync

Hi,

I want to make a suggestion regarding the NVIDIA driver situation on openSUSE Tumbleweed and Slowroll.

Right now, the NVIDIA drivers get out of sync with the open kernel module (nvidia-open-driver-G06) about 90% of the time with every new release. It’s a mess, and it’s hard to fix manually because the packages in the repos don’t match up.

# The Situation

My system is currently broken because the userspace drivers updated, but the kernel module is lagging behind. Look at this zypper output:

`Bash# Userspace is at 580.142
i | nvidia-gl-G06 | package | 580.142-46.1
i | nvidia-compute-G06 | package | 580.142-46.1

BUT the Kernel Module (KMP) is stuck at 580.126

i+ | nvidia-open-driver-G06-signed-cuda-kmp-default | package | 580.126.20_k6.19.6…`

Because Userspace (580.142) > Kernel Module (580.126), the driver stack is out of sync and fails.

# The Suggestion

Can we make the open driver module package (nvidia-open-driver-G06-signed-cuda-kmp-default) request and block the install of NVIDIA userspace drivers if their version is higher than the module version?

If the KMP isn’t ready for 580.142 yet, zypper shouldn’t be allowed to install the 580.142 userspace. It should stay locked at 580.126 until the matching KMP hits the repo.

# Why this is needed

The repo is full of old versions, but the one version I actually need to match my drivers is missing. Here is how fragmented the update-slowroll repo looks right now:

  • Userspace available: 580.142
  • KMP versions available: 580.126, 580.105, 580.95, 580.82, 580.65… (and many more)

There is a huge list of old modules, but nothing that matches the latest userspace being pushed. This forces a broken state on the user every time they zypper dup.

# Summary of Logic

If we add a version check/conflict to the KMP package:

  • KMP Version 580.126 → Blocks any NVIDIA-Userspace > 580.126.

This would stop the “out of sync” nightmare and make Slowroll/TW much more stable for NVIDIA users.

2 Likes

That‘s why Stefan created the meta packages which take care of all this…

if you mean this package nvidia-userspace-meta-G06
it’s already installed

however the drivers keep getting out of sync

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

S  | Name                                           | Type    | Version                                                | Arch   | Repository
---+------------------------------------------------+---------+--------------------------------------------------------+--------+----------------
i+ | kernel-firmware-nvidia                         | package | 20251018-1.2                                           | noarch | repo-oss
i  | libnvidia-egl-gbm1                             | package | 1.1.3-11.1                                             | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1                         | package | 1.1.22-1.2                                             | x86_64 | update-slowroll
i  | libnvidia-egl-wayland1                         | package | 1.1.22-1.2                                             | x86_64 | repo-oss
i  | libnvidia-egl-x111                             | package | 1.0.5-26.1                                             | x86_64 | repo-non-free
i  | libnvidia-gpucomp                              | package | 580.142-46.1                                           | x86_64 | repo-non-free
i  | nvidia-common-G06                              | package | 580.142-46.1                                           | x86_64 | repo-non-free
i  | nvidia-compute-G06                             | package | 580.142-46.1                                           | x86_64 | repo-non-free
i  | nvidia-compute-utils-G06                       | package | 580.142-46.1                                           | x86_64 | repo-non-free
i  | nvidia-gl-G06                                  | package | 580.142-46.1                                           | x86_64 | repo-non-free
i  | nvidia-libXNVCtrl                              | package | 595.45.04-2.1                                          | x86_64 | repo-non-free
i  | nvidia-modprobe                                | package | 580.142-24.1                                           | x86_64 | repo-non-free
i+ | nvidia-open-driver-G06-signed-cuda-kmp-default | package | 580.126.20_k6.19.6_1.0.4.sr20260302-2.0.2.1.sr20260302 | x86_64 | update-slowroll
i  | nvidia-persistenced                            | package | 580.142-2.1                                            | x86_64 | repo-non-free
i  | nvidia-userspace-meta-G06                      | package | 580.142-37.1                                           | x86_64 | repo-non-free
i  | nvidia-video-G06                               | package | 580.142-46.1                                           | x86_64 | repo-non-free
i+ | openSUSE-repos-Slowroll-NVIDIA                 | package | 20250728.9adc675-1.2                                   | x86_64 | repo-oss

EDIT: want to add that this keep hapning on multiple updates

as you see some of them were synced the latest on is not

https://bugzilla.opensuse.org/show_bug.cgi?id=1259740

https://bugzilla.opensuse.org/show_bug.cgi?id=1259674

1 Like

thank you for taking the time to help me i appreciate it

This is an age old problem on openSUSE. I just lock all nvidia packages for months. Once i manually verify that all packages have a common version, then i update packages manually selecting proper version.

For now it is 580.126.18

2 Likes

thank you for the reply
i thought of the same thing but it’s not ideal and the solution is not impossible
the user shouldn’t mange the packages that’s the job of the package manager

hopefully they can fix it.
actually the meta package is very clever idea it’s just seem to be a bug in these meta packages

Yes. Just need a script that checks all the packages for matching versions before installing any one. I assume meta package is supposed to be that. Wonder why it can’t do it.

1 Like

another thing why this important.
imagine you install a clean install and you got out of sync drivers now you can’t do anything until things get in sync maybe try using myrlin and manually selecting matching packages but that’s not always a solution like stated in my original post

i am lucky that i have built graphic but you can imagine the frustration if you only have nvidia

actually i tried the workaround like stated in the bug report and that’s my current situation

Loading repository data...
Reading installed packages...

S  | Name                                            | Type    | Version                                                 | Arch   | Repository
---+-------------------------------------------------+---------+---------------------------------------------------------+--------+----------------
i+ | kernel-firmware-nvidia                          | package | 20251018-1.2                                            | noarch | repo-oss
i  | libnvidia-egl-gbm1                              | package | 1.1.3-11.1                                              | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1                          | package | 1.1.22-1.2                                              | x86_64 | update-slowroll
i  | libnvidia-egl-wayland1                          | package | 1.1.22-1.2                                              | x86_64 | repo-oss
i  | libnvidia-egl-x111                              | package | 1.0.5-26.1                                              | x86_64 | repo-non-free
i  | libnvidia-gpucomp                               | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | nvidia-common-G06                               | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | nvidia-compute-G06                              | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | nvidia-compute-utils-G06                        | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | nvidia-gl-G06                                   | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i  | nvidia-libXNVCtrl                               | package | 595.45.04-2.1                                           | x86_64 | repo-non-free
i  | nvidia-modprobe                                 | package | 580.126.09-22.1                                         | x86_64 | repo-non-free
il | nvidia-open-driver-G06-signed-cuda-kmp-default  | package | 580.126.20_k6.19.6_1.0.4.sr20260302-2.0.2.1.sr20260302  | x86_64 | update-slowroll
i  | nvidia-open-driver-G06-signed-cuda-kmp-longterm | package | 580.126.09_k6.12.73_1.0.4.sr20260202-3.1.6.1.sr20260202 | x86_64 | update-slowroll
i+ | nvidia-open-driver-G06-signed-kmp-meta          | package | 580.126.09-37.1                                         | x86_64 | repo-non-free
i  | nvidia-persistenced                             | package | 580.126.09-2.1                                          | x86_64 | repo-non-free
i+ | nvidia-userspace-meta-G06                       | package | 580.126.09-31.1                                         | x86_64 | repo-non-free
i+ | nvidia-video-G06                                | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | openSUSE-repos-Slowroll-NVIDIA                  | package | 20250728.9adc675-1.2                                    | x86_64 | repo-oss

as you can see it fixed for longterm kernel not the current kernel which good middle ground
however specially with slowroll like i use i think it’s possible to fix it even for modern kernels

wish them luck in fixing it

i wish if they update the wiki too because the meta package isn’t included in the wiki

1 Like

It is already included…

Right now, the NVIDIA drivers get out of sync with the open kernel module (nvidia-open-driver-G06)

It’s not unique to the open drivers or open kernel module. This is happening with the proprietary drivers as well.

it’s indeed , i missed it somehow … thank you for taking the time to clearify

probably i didn’t use the closed modules but it’s KMP too

wish they can fix it

i want to add a new problem the kernel now get out of sync it should be added to the meta package too i am not sure should i add it to the bug report

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

S  | Name                                            | Type    | Version                                                 | Arch   | Repository
---+-------------------------------------------------+---------+---------------------------------------------------------+--------+----------------
i+ | kernel-firmware-nvidia                          | package | 20251018-1.2                                            | noarch | repo-oss
i  | libnvidia-egl-gbm1                              | package | 1.1.3-11.1                                              | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1                          | package | 1.1.22-1.2                                              | x86_64 | update-slowroll
i  | libnvidia-egl-wayland1                          | package | 1.1.22-1.2                                              | x86_64 | repo-oss
i  | libnvidia-egl-x111                              | package | 1.0.5-26.1                                              | x86_64 | repo-non-free
i  | libnvidia-gpucomp                               | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | nvidia-common-G06                               | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | nvidia-compute-G06                              | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | nvidia-compute-utils-G06                        | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | nvidia-gl-G06                                   | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i  | nvidia-libXNVCtrl                               | package | 595.45.04-2.1                                           | x86_64 | repo-non-free
i  | nvidia-modprobe                                 | package | 580.126.09-22.1                                         | x86_64 | repo-non-free
il | nvidia-open-driver-G06-signed-cuda-kmp-default  | package | 580.126.20_k6.19.6_1.0.4.sr20260302-2.0.2.1.sr20260302  | x86_64 | update-slowroll
i  | nvidia-open-driver-G06-signed-cuda-kmp-longterm | package | 580.126.09_k6.12.73_1.0.4.sr20260202-3.1.6.1.sr20260202 | x86_64 | update-slowroll
i+ | nvidia-open-driver-G06-signed-kmp-meta          | package | 580.126.09-37.1                                         | x86_64 | repo-non-free
i  | nvidia-persistenced                             | package | 580.126.09-2.1                                          | x86_64 | repo-non-free
i+ | nvidia-userspace-meta-G06                       | package | 580.126.09-31.1                                         | x86_64 | repo-non-free
i+ | nvidia-video-G06                                | package | 580.126.09-44.1                                         | x86_64 | repo-non-free
i+ | openSUSE-repos-Slowroll-NVIDIA                  | package | 20250728.9adc675-1.2                                    | x86_64 | repo-oss
zypper se -si kernel-longterm
Loading repository data...
Reading installed packages...

S  | Name                  | Type    | Version                    | Arch   | Repository
---+-----------------------+---------+----------------------------+--------+----------------
i+ | kernel-longterm       | package | 6.18.16-1.1                | x86_64 | update-slowroll
i+ | kernel-longterm       | package | 6.12.69-1.0.2.1.sr20260202 | x86_64 | update-slowroll
i  | kernel-longterm-devel | package | 6.18.16-1.1                | x86_64 | update-slowroll
i  | kernel-longterm-devel | package | 6.12.69-1.0.2.1.sr20260202 | x86_64 | update-slowroll

in addition i am not sure maybe because ia m downgrade but if i am upgrading things would have been better i am not sure

just will leave it here for the record

In the long term I hope meta packages will deal with all these issues and the situation with stabilize.

Until then, like many others, I use locks and check carefully before allowing the kernel or nvidia packages to be updated.

Extracting the necessary info and related comparison checks get quite complicated. I eventually wrote a script that automates the checks and updates for G06/G07. It should work on any Tumbleweed G06/G07 open version system, for either the non-cuda or cuda version of the driver - it detects which one is installed.

You can run the script can to the discover and report situation for a host, or you can actually have it perform the locking and update process.

I posted about this before, but the same questions keep popping up (and the same answers keep getting posted). Hopefully meta packages will eventually kill off the source of these threads.

1 Like

thank you for sharing the script i will defiantly use it

to be honest the NVIDIA situation is messy now zypper want to install g04 for some reason although i have 2050 and situation was crazy i wish i recorded the output but i got frustrated and deleted nvidia drivers completely and switched to just the open driver i presume it’s nouvu now
i couldn’t solve anything even cherrypick every version manually because the supported longterm kernel wasn’t comitable with current configuration for some reason i am not sure if it’s releated to X11 configuration because SSDM refused to load although my default gpu is intel not nvidia i use laptop with hybird GPU

the thing is even locking sometimes isn’t the solution in itself because if i got out of sync installation out of the box i have to wait for it get in sync specially if there some profile configuration that doesn’t accept downgrade.
happened with me yesterday before i got completely frustrated and delete every thing related to nvidia

i want to add to my reply that HDMI output is on my NVIDIA GPU so although my laptop uses intel as primary GPU i lost the HDMI output that’s i had to switch for nouvu

i want to add that i tried to edit X11 configuration to fix the problem even tried nvidia-x11config package
disabled secure boot
all without success
this longterm kernel was throwing warnings while booting and it wasn’t happy at all

maybe there is problem related to this kernel for some reason i don’t know

the journal if anyone want to look
https://paste.opensuse.org/pastes/a54eeed47220

i manged to reproduce it

The following 20 NEW packages are going to be installed:
  kernel-default                                   6.11.6-2.1                                               x86_64  update-slowroll  openSUSE
  kernel-default                                   6.16.6-1.0.6.1.sr20250901                                x86_64  update-slowroll  openSUSE
  kernel-default                                   6.16.8-1.0.12.1.sr20250901                               x86_64  update-slowroll  openSUSE
  libnvidia-egl-gbm1                               1.1.3-11.1                                               x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  libnvidia-egl-wayland1                           1.1.22-1.2                                               x86_64  update-slowroll  openSUSE
  libnvidia-egl-x111                               1.0.5-26.1                                               x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  libnvidia-gpucomp                                580.82.07-39.1                                           x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-common-G06                                580.82.07-39.1                                           x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-compute-G06                               580.82.07-39.1                                           x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-compute-utils-G06                         580.82.07-39.1                                           x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-gfxG04-kmp-default                        390.157_k6.16.8_1-61.56                                  x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-gl-G06                                    580.82.07-39.1                                           x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-modprobe                                  595.45.04-2.1                                            x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-open-driver-G06-signed-cuda-kmp-default   580.82.07_k6.16.6_1-1.2                                  x86_64  update-slowroll  openSUSE
  nvidia-open-driver-G06-signed-cuda-kmp-longterm  580.126.20_k6.18.16_1.0.4.sr20260302-3.0.4.1.sr20260302  x86_64  update-slowroll  openSUSE
  nvidia-open-driver-G06-signed-kmp-default        550.127.05_k6.11.6_2-1.4                                 x86_64  update-slowroll  openSUSE
  nvidia-open-driver-G06-signed-kmp-meta           580.126.09-37.1                                          x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-persistenced                              595.45.04-2.1                                            x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-userspace-meta-G06                        580.82.07-12.1                                           noarch  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers
  nvidia-video-G06                                 580.82.07-39.1                                           x86_64  repo-non-free    obs://build.suse.de/Proprietary:X11:Drivers

The following package is going to be REMOVED:
  nvidia-open-driver-G06-signed-kmp-default  580.126.18_k6.19.6_1.0.4.sr20260302-3.0.4.1.sr20260302  x86_64  openSUSE

The following 3 packages require a system reboot:
  kernel-default  6.11.6-2.1                  x86_64  update-slowroll  openSUSE
  kernel-default  6.16.6-1.0.6.1.sr20250901   x86_64  update-slowroll  openSUSE
  kernel-default  6.16.8-1.0.12.1.sr20250901  x86_64  update-slowroll  openSUSE

20 new packages to install, 1 to remove.

Package download size:   877.8 MiB

Package install size change:
              |      1.81 GiB  required by packages that will be installed
    1.80 GiB  |  -   11.8 MiB  released by packages that will be removed

    Note: System reboot required.

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): 

why it want to install gfxg04 i don’t have any idea maybe it’s related to the bug @hui mentioned i am not sure

at least it’s synced now i think

Perhaps it relates to this quote from Stefan’s openSUSE Blog About Installation of NVIDIA drivers on openSUSE and SLE:


On Tumbleweed it may happen that some legacy driver packages get mistakenly auto-selected for installation or even have already been mistakenly installed. These are:

  • nvidia-gfxG04-kmp-default
  • nvidia-gfxG05-kmp-default

In order to avoid mistakenly installing them add package locks for them with zypper.

zypper addlock nvidia-gfxG04-kmp-default
zypper addlock nvidia-gfxG05-kmp-default

In case you see any of these packages already installed on your system, better read the Troubleshooting section below how to get rid of these and all other nvidia driver packages related to them. Afterwards add locks to them as described right above.

Much of what my script does was distilled from Stefan’s post, as well as the official OpenSUSE wiki. The script locks all of the G0[4567] variants to prevent the issue.