Table of Contents

Introduction

If you are rocking the latest RTX 5090 (Blackwell architecture), the standard “G06” driver series isn’t enough. You need the G07 stack. Why? G07 provides essential support for the Open Kernel Modules and GSP Firmware that the 50-series depends on.

This guide will show you how to perform a “clean slate” migration from G06 to G07, including the installation of the CUDA 13.2 toolkit and the Container Toolkit for Docker and Podman.

We are not just installing drivers; we are unlocking the full power of a monster GPU.


Part 1: Prerequisites & The Safety Net

Before we touch anything, we need to add the two specialized repositories from NVIDIA. Tumbleweed’s auto-added repo is fine for drivers, but we need the “Developer” streams for CUDA and containers.

Step 1: Add the Specialized Repositories

Run these commands to add the official CUDA and Container Toolkit repositories:

# Add the NVIDIA CUDA Development Repository
sudo zypper addrepo https://developer.download.nvidia.com/compute/cuda/repos/suse16/x86_64/ cuda

# Add the NVIDIA Container Toolkit Repository
sudo zypper addrepo https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo

# Refresh the entire package ecosystem
sudo zypper refresh

Step 2: Create a Safety Rollback Point

Driver upgrades on rolling releases can sometimes go sideways. openSUSE’s Snapper tool is your “Emergency Exit.” Run this to freeze your system state now.

sudo snapper create --description "Pre-NVIDIA-G07-Upgrade" --userdata "important=yes"

Part 2: The Migration (Clean Slate)

We need to remove all old driver packages and firmware to prevent a common “version mismatch” issue (e.g., trying to load 580 libraries with a 595 driver).

Step 3: Deep Clean the System

Remove old G06 packages and any generic NVIDIA firmware from your system.

sudo zypper rm kernel-firmware-nvidia
sudo rpm -e $(rpm -qa | grep -e ^nvidia -e ^libnvidia | grep -v container) 2>/dev/null

(If the rpm -e command errors, that’s actually good—it means the packages are already gone).

Step 4: Install the G07 “Monster” Stack

This command installs the core components your 5090 needs:

  • Open Kernel Driver: The new “gold standard” for Turing+ cards.
  • Userspace Meta: The desktop and OpenGL drivers.
  • Compute Meta: The base CUDA and OpenCL runtime.
  • 32-bit Libraries: Required for Steam and gaming via Proton/Wine.
sudo zypper in nvidia-open-driver-G07-signed-kmp-meta \
               nvidia-userspace-meta-G07 \
               nvidia-compute-G07 \
               nvidia-gl-G07-32bit \
               nvidia-video-G07-32bit

Part 3: Fixing CUDA, Containers, & The PATH

The G07 stack handles the driver, but now we need the compiler (nvcc) and the container hooks to link the GPU to AI tools.

Step 5: Install the CUDA Toolkit & Containers

Since your driver is compatible with CUDA 13.2, we will install the matching toolkit to get the nvcc compiler. We will also install the tools that make the GPU visible inside Docker or Podman.

sudo zypper in cuda-toolkit-13-2 nvidia-container-toolkit

Step 6: Fix the PATH (The openSUSE Twist)

openSUSE places CUDA in /usr/local/cuda-13.2/. Your terminal doesn’t look there for tools. Let’s fix that permanently in your .bashrc.

echo 'export PATH=/usr/local/cuda-13.2/bin${PATH:+:${PATH}}' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-13.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc

# Refresh your current terminal window
source ~/.bashrc

Step 7: Finalize & Reboot

To make sure the Linux kernel knows to load the new G07 driver immediately at power-on, refresh your boot images and reboot.

sudo dracut -f --regenerate-all
sudo reboot

Part 4: The Final Initialization & Testing

Once you are back at your desktop, the 5090 is running the new driver. Now we initialize the final software pieces and verify the upgrade.

Step 8: Post-Reboot: Initialize the Container Bridge (CDI)

After reboot, the kernel driver is active. We need to generate the CDI (Container Device Interface) spec that allows Podman/Docker to “passthrough” the GPU.

sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml

(A success confirms the driver and toolkit versions are in sync).


🏆 The “Moment of Truth” Testing Suite

Run these tests in order to confirm your workstation is fully “unlocked.”

Test A: The Driver Verify

nvidia-smi

Expected Output: The table MUST show RTX 5090 and Driver Version 595.xx (or newer).

Test B: The Compiler Verify

nvcc --version

Expected Output: A response showing Compilation tools, release 13.2 (or matching your toolkit version).

Test C: The “Monster GPU” CUDA Stress Test

We will create, compile, and run a tiny CUDA program that uses the GPU’s individual threads.

1. Create the hello_5090.cu file:

cat <<EOF > hello_5090.cu
#include <iostream>

__global__ void cuda_hello(){
    printf("Hello World from GPU thread %d!\n", threadIdx.x);
}

int main() {
    std::cout << "Starting 5090 CUDA Test..." << std::endl;
    cuda_hello<<<1, 5>>>(); 
    cudaDeviceSynchronize();
    std::cout << "Test Complete!" << std::endl;
    return 0;
}
EOF

2. Compile with nvcc:

nvcc hello_5090.cu -o hello_5090

3. Run the executable:

./hello_5090

Expected Output: “Starting 5090 CUDA Test…” followed by five threads reporting back from the GPU core.

Test D: The Container Verify

We will run nvidia-smi inside a generic Ubuntu container to see if Podman can find your card.

sudo podman run --rm --device nvidia.com/gpu=all ubuntu nvidia-smi

Expected Output: Podman pulls the Ubuntu image and outputs the NVIDIA-SMI 595.xx table from inside the container.


Summary for Reinstalls

Keep this checklist for any future clean installs of openSUSE:

  1. Repos: Add NVIDIA-Graphics (auto-added during install), cuda, and nvidia-container-toolkit.
  2. Snapshot: sudo snapper create --description "Pre-NVIDIA".
  3. Drivers: sudo zypper in nvidia-open-driver-G07-signed-kmp-meta ... (G07 only).
  4. Toolkit: sudo zypper in cuda-toolkit-13-2 nvidia-container-toolkit.
  5. PATH: Set the /usr/local/cuda-13.2/bin path in .bashrc.
  6. Reboot: sudo dracut -f and reboot.
  7. CDI: sudo nvidia-ctk cdi generate.
  8. Test: nvidia-smi.

Your workstation is now ready to build LLMs, melt benchmarks, and play every game at max settings. Enjoy that RTX 5090!

Categorized in:

Tutorials,