Upgrading Nvidia drivers causes games to stop working

There is already a similar thread like this, however, instead of hi-jacking that thread I decided to create my own as I do not have an internal GPU that is being switched to.
I am guessing instead that games are defaulting to Mesa, which causes them to stop working.

1 hour ago, I was playing Dune Awakening, using DLSS and Frame Generation.
And earlier I was playing No Man’s Sky with DLSS.

I then did a sudo zypper dup and rebooted.
Now Dune Awakening says that my card does not support DirectX 12.
And No Man’s Sky does not present the option to use DLSS.

Here’s the log before the update:

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

S  | Name                             | Type    | Version                  | Arch   | Repository
---+----------------------------------+---------+--------------------------+--------+---------------------------------------------------
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.82.07-39.1           | x86_64 | repo-non-free
i  | libnvidia-gpucomp-32bit          | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-common-G06                | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-compute-G06               | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-compute-G06-32bit         | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-compute-utils-G06         | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-driver-G06-kmp-default    | package | 580.82.07_k6.16.3_1-39.1 | x86_64 | repo-non-free
i  | nvidia-gl-G06                    | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-gl-G06-32bit              | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-libXNVCtrl                | package | 580.82.07-43.1           | x86_64 | repo-non-free
i  | nvidia-modprobe                  | package | 580.82.07-18.1           | x86_64 | repo-non-free
i  | nvidia-persistenced              | package | 580.82.07-2.1            | x86_64 | repo-non-free
i  | nvidia-userspace-meta-G06        | package | 580.82.07-12.1           | noarch | repo-non-free
i  | nvidia-userspace-meta-G06        | package | 580.82.07-12.1           | noarch | repo-non-free
i  | nvidia-video-G06                 | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-video-G06-32bit           | package | 580.82.07-39.1           | x86_64 | repo-non-free
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20250728.9adc675-1.1     | x86_64 | https://download.opensuse.org/tumbleweed/repo/oss/
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20250728.9adc675-1.1     | x86_64 | repo-oss

~
λ sudo zypper dup
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Retrieving repository 'repo-non-free' metadata ..........................................................................[done]
Building repository 'repo-non-free' cache ...............................................................................[done]
Looking for gpg keys in repository Hardware tools (openSUSE_Tumbleweed).
  gpgkey=https://download.opensuse.org/repositories/hardware/openSUSE_Tumbleweed/repodata/repomd.xml.key
Retrieving repository 'Hardware tools (openSUSE_Tumbleweed)' metadata ...................................................[done]
Building repository 'Hardware tools (openSUSE_Tumbleweed)' cache ........................................................[done]
Looking for gpg keys in repository home:manuelschneid3r (openSUSE_Tumbleweed).
  gpgkey=https://download.opensuse.org/repositories/home:/manuelschneid3r/openSUSE_Tumbleweed/repodata/repomd.xml.key
Retrieving repository 'home:manuelschneid3r (openSUSE_Tumbleweed)' metadata .............................................[done]
Building repository 'home:manuelschneid3r (openSUSE_Tumbleweed)' cache ..................................................[done]
Retrieving repository 'packman:Essentials' metadata .....................................................................[done]
Building repository 'packman:Essentials' cache ..........................................................................[done]
Retrieving repository 'packman:Multimedia' metadata .....................................................................[done]
Building repository 'packman:Multimedia' cache ..........................................................................[done]
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...

The following 130 packages are going to be upgraded:
  albert bubblewrap cups cups-client cups-config fish gamescope gdk-pixbuf-loader-libheif gstreamer gstreamer-32bit gstreamer-plugins-bad
  gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-good-gtk kernel-firmware-amdgpu kernel-firmware-intel kernel-firmware-mediatek
  kernel-firmware-network kernel-firmware-qcom kernel-firmware-sound libcups2 libcups2-32bit libcupsimage2 libgbm1 libgbm1-32bit
  libgstadaptivedemux-1_0-0 libgstallocators-1_0-0 libgstanalytics-1_0-0 libgstapp-1_0-0 libgstaudio-1_0-0 libgstaudio-1_0-0-32bit libgstbadaudio-1_0-0
  libgstbasecamerabinsrc-1_0-0 libgstcodecparsers-1_0-0 libgstcodecs-1_0-0 libgstcuda-1_0-0 libgstfft-1_0-0 libgstgl-1_0-0 libgstinsertbin-1_0-0
  libgstisoff-1_0-0 libgstmpegts-1_0-0 libgstmse-1_0-0 libgstpbutils-1_0-0 libgstphotography-1_0-0 libgstplay-1_0-0 libgstplayer-1_0-0
  libgstreamer-1_0-0 libgstreamer-1_0-0-32bit libgstriff-1_0-0 libgstrtp-1_0-0 libgstrtsp-1_0-0 libgstsctp-1_0-0 libgstsdp-1_0-0 libgsttag-1_0-0
  libgsttag-1_0-0-32bit libgsttranscoder-1_0-0 libgsturidownloader-1_0-0 libgstva-1_0-0 libgstvideo-1_0-0 libgstvideo-1_0-0-32bit libgstvulkan-1_0-0
  libgstwayland-1_0-0 libgstwebrtc-1_0-0 libgstwebrtcnice-1_0-0 libheif1 libheif-aom libheif-dav1d libheif-ffmpeg libheif-jpeg libheif-openh264
  libheif-openjpeg libheif-rav1e libheif-svtenc libjpeg62 libjpeg62-devel libjpeg8 libjpeg8-32bit libjpeg8-x86-64-v3 libjpeg-turbo libLLVM21
  libLLVM21-32bit libOpenImageIO3_0 libOpenImageIO_Util3_0 libopenssl3 libopenssl3-32bit libopenssl3-x86-64-v3 libpolkit-agent-1-0
  libpolkit-gobject-1-0 libsystemd0 libsystemd0-32bit libtirpc3 libtirpc-netconfig libturbojpeg0 libturbojpeg0-x86-64-v3 libudev1 libudev1-32bit
  libupower-glib3 libvdpau_nouveau libvulkan_intel-32bit libvulkan_lvp libvulkan_radeon-32bit Mesa Mesa-32bit Mesa-dri Mesa-dri-32bit Mesa-libEGL1
  Mesa-libGL1 Mesa-libGL1-32bit Mesa-libva Mesa-vulkan-device-select Mesa-vulkan-device-select-32bit openssh openssh-clients openssh-common
  openssh-server openssl openssl-3 openSUSE-release openSUSE-release-ftp pkexec polkit python313-zstandard systemd systemd-32bit typelib-1_0-Gst-1_0
  typelib-1_0-Polkit-1_0 udev upower webp-pixbuf-loader xone

The following product is going to be upgraded:
  openSUSE Tumbleweed  20250916-0 -> 20250918-0

The following NEW package is going to be installed:
  xone-kmp-default-0.4.4_k6.16.7_1-1.15

The following package is going to be REMOVED:
  xone-kmp-default-0.4.4_k6.16.7_1-1.12

130 packages to upgrade, 1 new, 1 to remove.

Package download size:   355,2 MiB

Package install size change:
              |     804,1 MiB  required by packages that will be installed
     1,4 MiB  |  -  802,7 MiB  released by packages that will be removed

I then did a systemctl reboot, and while the desktop still runs at my native resolution and hertz, as I said, games no longer generally work as they should.

Here’s the log now:

~
λ inxi -G
Graphics:
  Device-1: NVIDIA AD102 [GeForce RTX 4090] driver: nvidia v: 580.82.07
  Display: x11 server: X.org v: 1.21.1.15 driver: X: loaded: nvidia
    unloaded: modesetting,vesa gpu: nvidia,nvidia-nvswitch
    resolution: 5120x1440~120Hz
  API: EGL v: 1.5 drivers: nvidia,swrast
    platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.82.07
    renderer: NVIDIA GeForce RTX 4090/PCIe/SSE2
  API: Vulkan v: 1.4.321 drivers: nvidia,llvmpipe surfaces: N/A
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo de: xfce4-display-settings
    gpu: nvidia-smi x11: xprop,xrandr

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

S  | Name                             | Type    | Version                  | Arch   | Repository
---+----------------------------------+---------+--------------------------+--------+---------------------------------------------------
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.82.07-39.1           | x86_64 | repo-non-free
i  | libnvidia-gpucomp-32bit          | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-common-G06                | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-compute-G06               | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-compute-G06-32bit         | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-compute-utils-G06         | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-driver-G06-kmp-default    | package | 580.82.07_k6.16.3_1-39.1 | x86_64 | repo-non-free
i  | nvidia-gl-G06                    | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-gl-G06-32bit              | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-libXNVCtrl                | package | 580.82.07-43.1           | x86_64 | repo-non-free
i  | nvidia-modprobe                  | package | 580.82.07-18.1           | x86_64 | repo-non-free
i  | nvidia-persistenced              | package | 580.82.07-2.1            | x86_64 | repo-non-free
i  | nvidia-userspace-meta-G06        | package | 580.82.07-12.1           | noarch | repo-non-free
i  | nvidia-userspace-meta-G06        | package | 580.82.07-12.1           | noarch | repo-non-free
i  | nvidia-video-G06                 | package | 580.82.07-39.1           | x86_64 | repo-non-free
i  | nvidia-video-G06-32bit           | package | 580.82.07-39.1           | x86_64 | repo-non-free
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20250728.9adc675-1.1     | x86_64 | https://download.opensuse.org/tumbleweed/repo/oss/
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20250728.9adc675-1.1     | x86_64 | repo-oss

Why is this happening, and how can I stop this from happening every other day?
And what is the correct way of installing the NVidia drivers, because I can’t go on like this.

Morning,

I think I am having a very similar issue and haven’t had time to try and search for a solution.

My current workaround is if i run “nvidia-smi” before launching a game it works. Hope this works for you.

I have this issue when trying to run Deep Rock Galactic and other games.

Hope this helps someone figure out the issue, feels like something isn’t being initialised.

The drivers are installed fine. You have an issue with the game/steam/proton/whatever.

No.

I ended up removing the NVidia drivers using this:

sudo zypper remove --repo NVIDIA:repo-non-free "libnvidia-*" "nvidia-*" "libOpenCL*" "*-nvidia" "*-NVIDIA"

I then added the repo back with:

sudo zypper install -y openSUSE-repos-Tumbleweed-NVIDIA

And installed the recommended drivers again using:

sudo zypper install-new-recommends --repo NVIDIA:repo-non-free

I then rebooted the system.
The monitor resolution was stuck at 1024x768@60hz.
But I followed up with a distro update:

sudo zypper dup

Which did install some extra NVidia stuff.
A reboot later and the resolution was back to normal, and every game now works as it should.

~
λ inxi -G
Graphics:
  Device-1: NVIDIA AD102 [GeForce RTX 4090] driver: nvidia v: 580.82.07
  Display: x11 server: X.org v: 1.21.1.15 driver: X: loaded: nvidia
    unloaded: modesetting,vesa gpu: nvidia,nvidia-nvswitch
    resolution: 5120x1440~120Hz
  API: EGL v: 1.5 drivers: nvidia,swrast
    platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.82.07
    renderer: NVIDIA GeForce RTX 4090/PCIe/SSE2
  API: Vulkan v: 1.4.321 drivers: nvidia,llvmpipe surfaces: N/A
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo de: xfce4-display-settings
    gpu: nvidia-smi x11: xprop,xrandr

I am guessing that next time the Mesa drivers are updated again, the issue will appear again.
Perhaps a dirty fix would be to lock the Mesa drivers from updating, but I am not sure exactly what package to lock.

Hmm, that’s interesting.
I will have to give that a try next time.

You seem not to understand what you are doing. Why do you remove and readd the Nvidia repo? This is use- and senseless.

But in general, your repolist is a bloody mess . Home and developement repos. Your system seems messed up by untested external repos.

If you believe that Mesa is the culprit, why not simply switch the packages back to the official OSS repo and test. You have Mesa from packman?

Which repos are you referring to?

  • Hardware tools
    • The only thing from this repo is xone, for the Xbox wireless receiver driver
  • home:manuelschneid3r
  • packman
    • This one is against my will, but is only used for Media Codecs, OBS-Studio and Avidemux

There is indeed no reason for this.
I’m just making sure all Nvidia-related packages are fully cleared from the system, and the repo gets removed and re-added incidentally in the process.
But I am also including it to show that I am using the “recommended” way of adding the repo.

Information for package Mesa:
-----------------------------
Repository     : https://download.opensuse.org/tumbleweed/repo/oss/
Name           : Mesa
Version        : 25.2.2-424.1
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 7,2 KiB
Installed      : Yes (automatically)
Status         : up-to-date
Source package : Mesa-25.2.2-424.1.src
Upstream URL   : https://www.mesa3d.org
Summary        : System for rendering 3-D graphics
Description    :

I can confirm that this does indeed work!
Maybe this could serve as a useful clue for someone more knowledgeable than me.

I don’t own NVIDIA hardware, but have been reading along out of interest. It is a strange workaround to have to do.

What does the following command report?
sudo systemctl status nvidia-persistenced.service
Any errors?

I had a peek at the service myself, and no, no errors:

● nvidia-persistenced.service - NVIDIA Persistence Daemon
     Loaded: loaded (/usr/lib/systemd/system/nvidia-persistenced.service; enabled; preset: enabled)
     Active: active (running) since Sat 2025-09-20 11:28:24 CEST; 8min ago
 Invocation: ab61f5b6270b4aaeb0c24f2a5923cc9d
    Process: 1201 ExecStart=/usr/bin/nvidia-persistenced --verbose (code=exited, status=0/SUCCESS)
   Main PID: 1281 (nvidia-persiste)
      Tasks: 1 (limit: 37930)
        CPU: 14ms
     CGroup: /system.slice/nvidia-persistenced.service
             └─1281 /usr/bin/nvidia-persistenced --verbose

sep 20 11:28:24 boem-desktop systemd[1]: Starting NVIDIA Persistence Daemon...
sep 20 11:28:24 boem-desktop nvidia-persistenced[1281]: Verbose syslog connection opened
sep 20 11:28:24 boem-desktop nvidia-persistenced[1281]: Directory /var/run/nvidia-persistenced will not be removed on exit
sep 20 11:28:24 boem-desktop nvidia-persistenced[1281]: Started (1281)
sep 20 11:28:24 boem-desktop nvidia-persistenced[1281]: device 0000:01:00.0 - registered
sep 20 11:28:24 boem-desktop nvidia-persistenced[1281]: device 0000:01:00.0 - persistence mode enabled.
sep 20 11:28:24 boem-desktop nvidia-persistenced[1281]: device 0000:01:00.0 - NUMA memory onlined.
sep 20 11:28:24 boem-desktop nvidia-persistenced[1281]: Local RPC services initialized
sep 20 11:28:24 boem-desktop systemd[1]: Started NVIDIA Persistence Daemon.

I even stopped the service and ran /usr/bin/nvidia-persistenced --verbose myself, but it does not fix the issue like nvidia-smi does.

I have seen others mention invoking sudo nvidia-smi -pm 1to enable persistence mode for the current session, but it shouldn’t be necessary. Let’s see if NVIDIA users can assist further here.

For anyone finding this and “just wants things to work”, you can create a user service that runs nvidia-smi with persistence mode enabled at session start.

Here’s a “one-liner” you can paste directly into your terminal.
It should work in most shells (as it’ll run in bash):

bash -c 'mkdir -p ~/.config/systemd/user && cat > ~/.config/systemd/user/nvidia-dirty-fix.service <<EOF
[Unit]
Description=Dirty fix: force NVidia driver init
After=graphical-session.target

[Service]
Type=oneshot
ExecStart=/usr/bin/nvidia-smi -pm 1

[Install]
WantedBy=default.target
EOF
systemctl --user enable --now nvidia-dirty-fix.service'

That said, I’d like to know what’s actually going wrong here.
This isn’t good for the “new user experience”, and I’ve had plenty of friends try Tumbleweed, only to give up after running into NVIDIA driver issues.

A few observations so far:

  • Simply running nvidia-smi after starting a session is enough, you don’t need to type it for every game or anything like that, even without the -pm 1 flag
  • The issue doesn’t seem to be related to updating the NVidia drivers, as it occurred seemingly randomly this time
  • Removing the game from Steam and deleting its prefix doesn’t fix it anything, and the problem is still there until nvidia-smi is called
    • Switching Proton versions doesn’t help either
  • Logs show Proton detecting my card correctly, but I guess that Mesa is still being chosen at runtime?

I was going to suggest the use of a systemd unit once you’d confirmed the command worked for the duration of the session, but it is only a workaround. I haven’t seen this particular issue reported previously, and I doubt that it is specific to Tumbleweed.

@daunk the correct way is to run nvidia-persistanced as your user;

ExecStart=/usr/bin/nvidia-persistenced --verbose --user yourusername

Create a systemd override for the rpm version… I use the run file here and likely why I can’t duplicate…

@malcolmlewis shouldn’t that be running already? See my earlier reply about checking this service (running system-wide).

@deano_ferrari yes, but AFAIK the rpm version is not run as the user… likewise user groups…

That’s my understanding as well, and the user confirmed it was active. What is wrong that caused the workaround to be needed?

This doesn’t seem to have any effect on my end.
I still need to run nvidia-smi when the user is specified.

I’d gladly just take the answer to “how do I avoid this next time?” so I know exactly how to install the recommended NVidia drivers properly and not run into this issue again.
Ideally, something like a “one-liner” I can paste into the terminal that installs everything correctly, and that I can save in my docs for future reinstalls.

I’ve already reinstalled my entire OS multiple times because of this, and I would do it again if that’s what it takes to fix the root cause. Each time, I’ve tried different ways of installing the drivers, but I always end up with the same result.

From what I’ve seen, pretty much everyone I know who has tried Tumbleweed eventually gave up for similar reasons with the NVIDIA drivers acting up after a while.
I can’t confirm that they were hitting the exact same problem I’m having, since I still don’t know what’s going on under the hood, but the outcome looks very similar.

I don’t think that there is anything wrong with the way you installed the NVIDIA driver. If the driver were installed incorrectly, nvidia-smi wouldn’t work at all, and games wouldn’t be able to switch over after you run it. The kernel module and userspace libraries are in place and working, based on what you’ve reported here.

When you run nvidia-smi, it forces the driver to finish waking up, and then everything works for the rest of the session.

It seems to be an initialization quirk. It might be interesting to observe the output from glxinfo -B before the nvidia-smi command is run, then again after that.

Also, show us what is returned from
groups
ls -l /dev/nvidia*
ls -l /dev/dri/*

Also, could you share the comprehensive output from inxi -GSaz?

Broken state (before nvidia-smi):

~
λ glxinfo -B
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 23028 MB
    Total available memory: 23028 MB
    Currently available dedicated video memory: 21614 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 4090/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 580.82.07
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 580.82.07
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 580.82.07
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20


~
λ groups
<my_username> wheel

~
λ ls -l /dev/nvidia*
crw-rw----+ 1 root video 195,   0 sep 21 08:31 /dev/nvidia0
crw-rw----+ 1 root video 195, 255 sep 21 08:31 /dev/nvidiactl
crw-rw----+ 1 root video 195, 254 sep 21 08:31 /dev/nvidia-modeset

~
λ ls -l /dev/dri/*
crw-rw----+ 1 root video  226,   1 sep 21 08:31 /dev/dri/card1
crw-rw----+ 1 root render 226, 128 sep 21 08:31 /dev/dri/renderD128

/dev/dri/by-path:
total 0
lrwxrwxrwx. 1 root root  8 sep 21 08:31 pci-0000:01:00.0-card -> ../card1
lrwxrwxrwx. 1 root root 13 sep 21 08:31 pci-0000:01:00.0-render -> ../renderD128

~
λ inxi -GSaz
System:
  Kernel: 6.16.7-1-default arch: x86_64 bits: 64 compiler: gcc v: 15.2.0
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.16.7-1-default
    root=UUID=9b99fe61-2e97-4cdb-a759-82290ab9cc10 mitigations=auto quiet
    security=selinux selinux=1 splash rd.driver.blacklist=nouveau
  Desktop: Xfce v: 4.20.1 tk: Gtk v: 3.24.50 wm: xfwm4 v: 4.20.0
    with: albert,xfce4-panel tools: xfce4-screensaver vt: 7 dm: LightDM
    v: 1.32.0 Distro: openSUSE Tumbleweed 20250918
Graphics:
  Device-1: NVIDIA AD102 [GeForce RTX 4090] vendor: Micro-Star MSI
    driver: nvidia v: 580.82.07 alternate: nouveau,nvidia_drm
    non-free: 550-580.xx+ status: current (as of 2025-08) arch: Lovelace
    code: AD1xx process: TSMC n4 (5nm) built: 2022+ pcie: gen: 2 speed: 5 GT/s
    lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: none off: DP-2
    empty: DP-1,HDMI-A-1,HDMI-A-2 bus-ID: 01:00.0 chip-ID: 10de:2684
    class-ID: 0300
  Display: x11 server: X.org v: 1.21.1.15 compositor: xfwm4 v: 4.20.0
    driver: X: loaded: nvidia unloaded: modesetting,vesa
    alternate: fbdev,nouveau,nv gpu: nvidia,nvidia-nvswitch display-ID: :0.0
    screens: 1
  Screen-1: 0 s-res: 5120x1440 s-size: <missing: xdpyinfo>
  Monitor-1: DP-2 note: disabled model: Samsung C49RG9x serial: <filter>
    built: 2018 res: mode: 5120x1440 hz: 120 scale: 100% (1) dpi: 130048
    gamma: 1.2 size: 1x1mm (0.04x0.04") diag: 1239mm (48.8") modes:
    max: 3840x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.82.07
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 4090/PCIe/SSE2
    memory: 21.96 GiB
  API: Vulkan v: 1.4.321 layers: 11 device: 0 type: discrete-gpu
    name: NVIDIA GeForce RTX 4090 driver: nvidia v: 580.82.07
    device-ID: 10de:2684 surfaces: N/A device: 1 type: cpu name: llvmpipe
    (LLVM 21.1.0 256 bits) driver: mesa llvmpipe v: 25.2.2 (LLVM 21.1.0)
    device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo de: xfce4-display-settings
    gpu: nvidia-smi x11: xprop,xrandr

Working state (after nvidia-smi):

~
λ glxinfo -B
name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 23028 MB
    Total available memory: 23028 MB
    Currently available dedicated video memory: 21581 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 4090/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 580.82.07
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 580.82.07
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 580.82.07
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20


~
λ groups
<my_username> wheel

~
λ ls -l /dev/nvidia*
crw-rw----+ 1 root video 195,   0 sep 21 08:31 /dev/nvidia0
crw-rw----+ 1 root video 195, 255 sep 21 08:31 /dev/nvidiactl
crw-rw----+ 1 root video 195, 254 sep 21 08:31 /dev/nvidia-modeset
crw-rw-rw-. 1 root root  236,   0 sep 21 10:41 /dev/nvidia-uvm
crw-rw-rw-. 1 root root  236,   1 sep 21 10:41 /dev/nvidia-uvm-tools

/dev/nvidia-caps:
total 0
cr--------. 1 root root 239, 1 sep 21 10:41 nvidia-cap1
cr--r--r--. 1 root root 239, 2 sep 21 10:41 nvidia-cap2

~
λ ls -l /dev/dri/*
crw-rw----+ 1 root video  226,   1 sep 21 08:31 /dev/dri/card1
crw-rw----+ 1 root render 226, 128 sep 21 08:31 /dev/dri/renderD128

/dev/dri/by-path:
total 0
lrwxrwxrwx. 1 root root  8 sep 21 08:31 pci-0000:01:00.0-card -> ../card1
lrwxrwxrwx. 1 root root 13 sep 21 08:31 pci-0000:01:00.0-render -> ../renderD128

~
λ inxi -GSaz
System:
  Kernel: 6.16.7-1-default arch: x86_64 bits: 64 compiler: gcc v: 15.2.0
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.16.7-1-default
    root=UUID=9b99fe61-2e97-4cdb-a759-82290ab9cc10 mitigations=auto quiet
    security=selinux selinux=1 splash rd.driver.blacklist=nouveau
  Desktop: Xfce v: 4.20.1 tk: Gtk v: 3.24.50 wm: xfwm4 v: 4.20.0
    with: albert,xfce4-panel tools: xfce4-screensaver vt: 7 dm: LightDM
    v: 1.32.0 Distro: openSUSE Tumbleweed 20250918
Graphics:
  Device-1: NVIDIA AD102 [GeForce RTX 4090] vendor: Micro-Star MSI
    driver: nvidia v: 580.82.07 alternate: nouveau,nvidia_drm
    non-free: 550-580.xx+ status: current (as of 2025-08) arch: Lovelace
    code: AD1xx process: TSMC n4 (5nm) built: 2022+ pcie: gen: 1
    speed: 2.5 GT/s lanes: 16 link-max: gen: 4 speed: 16 GT/s ports:
    active: none off: DP-2 empty: DP-1,HDMI-A-1,HDMI-A-2 bus-ID: 01:00.0
    chip-ID: 10de:2684 class-ID: 0300
  Display: x11 server: X.org v: 1.21.1.15 compositor: xfwm4 v: 4.20.0
    driver: X: loaded: nvidia unloaded: modesetting,vesa
    alternate: fbdev,nouveau,nv gpu: nvidia,nvidia-nvswitch display-ID: :0.0
    screens: 1
  Screen-1: 0 s-res: 5120x1440 s-size: <missing: xdpyinfo>
  Monitor-1: DP-2 note: disabled model: Samsung C49RG9x serial: <filter>
    built: 2018 res: mode: 5120x1440 hz: 120 scale: 100% (1) dpi: 130048
    gamma: 1.2 size: 1x1mm (0.04x0.04") diag: 1239mm (48.8") modes:
    max: 3840x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.82.07
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 4090/PCIe/SSE2
    memory: 21.96 GiB
  API: Vulkan v: 1.4.321 layers: 11 device: 0 type: discrete-gpu
    name: NVIDIA GeForce RTX 4090 driver: nvidia v: 580.82.07
    device-ID: 10de:2684 surfaces: N/A device: 1 type: cpu name: llvmpipe
    (LLVM 21.1.0 256 bits) driver: mesa llvmpipe v: 25.2.2 (LLVM 21.1.0)
    device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo de: xfce4-display-settings
    gpu: nvidia-smi x11: xprop,xrandr