NVIDIA drivers on openSUSE Tumbleweed

I'm using openSUSE Tumbleweed since a few months now. It's a great rolling-release distro with some awesome BTRFS support thanks to the snapper tool integration which is why I tried it initially. More recently I got a new graphic card a NVIDIA RTX 3060 in order to play some games and tinker with AI stuff locally. NVIDIA on Linux still can be a pain so here are my notes on how I installed the drivers and CUDA on my Tumbleweed system in case someone encounters the same issues.

tl;dr use official NVIDIA .run installers

The open drivers

openSUSE does not include proprietary software by default but the new NVIDIA open drivers are available out of the box:

λ zypper search nvidia
Loading repository data...
Reading installed packages...

S  | Name                                              | Summary                                                            | Type
---+---------------------------------------------------+--------------------------------------------------------------------+--------
   ...

   | nvidia-modprobe                                   | NVIDIA kernel module loader                                        | package
   | nvidia-open-driver-G06-signed-cuda-default-devel  | Devel Package to nvidia-open-driver-G06-signed-cuda                | package
   | nvidia-open-driver-G06-signed-cuda-kmp-default    | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx-> | package
   | nvidia-open-driver-G06-signed-cuda-kmp-longterm   | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx-> | package
   | nvidia-open-driver-G06-signed-cuda-longterm-devel | Devel Package to nvidia-open-driver-G06-signed-cuda                | package
   | nvidia-open-driver-G06-signed-default-devel       | Devel Package to nvidia-open-driver-G06-signed                     | package
   | nvidia-open-driver-G06-signed-kmp-default         | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx-> | package
   | nvidia-open-driver-G06-signed-kmp-longterm        | NVIDIA open kernel module driver for GeForce 16 series (GTX 16xx-> | package
   | nvidia-open-driver-G06-signed-longterm-devel      | Devel Package to nvidia-open-driver-G06-signed                     | package
   | nvidia-settings                                   | Configure the NVIDIA graphics driver                               | package
   ...

For some reason I can't make them work, they install fine but aren't loaded afterwards. Didn't dig much into why yet.

Using the NVIDIA Repository

There is a NVIDIA repository you can enable with:

λ sudo zypper install openSUSE-repos-Tumbleweed-NVIDIA

You can then install x11-video-nvidiaG04 or x11-video-nvidiaG05 or nvidia-video-G06 depending on your card. My main issue with these is that although they work fine for games and so on, there is an issue where my machine can't wake from sleep properly.

Using NVIDIA official installers

This is my current setup, I downloaded the official NVIDIA driver from their website and the CUDA toolkit. CUDA bundles a driver with its installer which was a slightly lower version but kept having graphical glitches using it. So I settled on using the latest official driver and install CUDA toolkit without the bundled driver.

First I installed the NVIDIA driver with:

λ sudo sh NVIDIA-Linux-x86_64-570.133.07.run

make sure to install 32bits support libs if you intend to play games.

Rebooted and installed the CUDA toolkit with:

λ sudo sh cuda_12.8.1_570.124.06_linux.run

uncheck the driver installation, just install the toolkit, documentation and demos if you want.

Did final reboot just to make sure my login manager and window manager are properly started.

Some checks

  • nvidia-smi is properly detecting the driver and CUDA version

    λ nvidia-smi
    Sat Apr 12 15:49:35 2025
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 570.133.07             Driver Version: 570.133.07     CUDA Version: 12.8     |
    |-----------------------------------------+------------------------+----------------------+
    ...
    
  • nvtop is showing my NVIDIA card and the integrated one.

    Device 0 [NVIDIA GeForce RTX 3060]              PCIe GEN 1@16x RX: 900.0 KiB/s TX: 1.172 MiB/s
    GPU 210MHz  MEM 405MHz  TEMP  55°C  FAN   0%   POW  13 / 170 W
    GPU[                                        0%] MEM[|||||                    1.470Gi/12.000Gi]
    
    Device 1 [RocketLake-S GT1 (UHD Graphics P750)] Integrated GPU RX: N/A TX: N/A
    GPU 350MHz  MEM N/A MHz TEMP N/A°C   CPU-FAN   POW N/A W
    GPU[                                        0%] MEM[                             N/A/62.524Gi]
    
  • resume from sleep is working \o/