Looking for a predictable way to install nvidia drivers on SlowRoll

Hi

I have recently decided to go all in with openSUSE, and ended up with SlowRoll as a good balance between updates and stability.

I am familiar with the SUSE wiki articles to get nvidia drivers installed and tried to do my homework. I have followed -I think- all SUSE provided guides for open drivers or nvidia proprietary drivers that are based on SlowRoll repositories (I don’t want to introduce some foreign concepts in my installation straight from the nvidia website without the package manager being aware). I am aware about the need for nouveau blacklisting and verified it.

So far, nothing worked. The driver never ever loaded. When the driver module exists, I get errors that there is ‘no such device’. When installing the proprietary driver (using the repo) I get a bunch of dead symlinks in /lib/modules for the nvidia modules, e.g. for nvidia.ko. Furthermore I can see that there is no actual nvidia.ko file to be found anywhere in /lib/modules, only these symlinks which obviously means this can never work out.

I have -again- wiped it all out to start fresh, and can’t imagine me being the only one who is facing these issues.

So my question is, what are your experiences using nvidia on SlowRoll, and does anybody have a good, reliable, bullet proof guide that I can follow ?

It is a desktop pc with a GTX970 card, so no power switching on the card. All my attempts have been based on the G06 driver because this would be a Maxwell based card.

I can confirm it works/worked just fine on Windows, ubuntu/debian and archlinux, (“by the way”, please don’t take offense ;-)).

1 Like

@sam_vde Hi and welcome to the Forum :smile:
So this is systemd boot, SELinux, secure boot? Also you can only use the proprietary for that GPU.

No offence taken, but in saying that what kernel, Mesa, Driver version was running on the other Linux distributions?

I’m not running slowroll here, Tumbleweed and Nvidia run files only (easy to switch between proprietary and open)…

Hi and thanks!

I run systemd-boot with secureboot enabled. The SELinux pattern is not installed but I do have some SELinux libraries and tooling installed as part of the regular installation I did (so not specifically installed by me):

container-selinux flatpak-selinux libselinux1 python311-selinux selinux-autorelabel selinux-policy selinux-policy-targeted selinux-tools swtpm-selinux tigervnc-selinux tpm2.0-abrmd-selinux

Before I migrated to openSUSE I ran Ubuntu on this one, kernel 6.8 (so the LTS kernel before the current point release). Mesa I am not sure TBH. Arch was before that, on arch I always run the LTS kernel. I only mentioned it to make clear I am sure the hardware as such is ok.

So you install straight from nvidia then? I fear it could make the system less predictable if you mix package manager with “foreign” installation blobs, although it was what we had to do in “the early years”. Should I be less reluctant?

@sam_vde What does the output from sestatus show?

I don’t use secure boot, so if installing the hard way the kernel modules need signing. I’ve not had any issues the indicated hard way (been using it for a long time without issues), but my primary use for Nvidia is Prime Render Offload. I did plug in my monitors to it (RTX4000) the other day and it was all working fine.

I would suggest installing the G05 drivers via rpm and see how that goes. The days are numbered for your GPU, so if the G05 works, it should keep going for a longer time. Nvidia’s focus is on Turing+ these days with the open driver and GSP.

Hi

SELinux status: disabled

I will try out the G05 driver. I am still trying to grasp how this works exactly (e.g. whether dkms is involved etc) but it did not cross my mind the G05 would work for my model of card.

And indeed, it is quite old. I was hoping to run a smaller ML model on it for the heck of it. Gaming I must admit is Windows only these days, it seems Valve did great work on the Steam Deck but desktop gaming has suffered a lot imho. But that’s off-topic :slight_smile:

I think the G06 is the right one for the GTX970 (GTX960m here and working with nvidia-driver-G06-kmp-default, not SlowRoll but TW though).

@OrsoBruno Yes, but want the OP to try the G05 first, then work up the G06 versions…

@sam_vde can you also provide the output from inxi -GSaz

System:
Kernel: 6.12.13-1.0.4.sr20250205-longterm arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
clocksource: tsc avail: hpet,acpi_pm parameters: root=ZFS=rpool/ROOT/tumbleweed-gnome
ipv6.disable=1 quiet splash nvidia-drm.modeset=1
Console: pty pts/0 DM: GDM v: 47.0 Distro: openSUSE Tumbleweed-Slowroll 20250302
Graphics:
Device-1: Intel HD Graphics P530 vendor: ASUSTeK driver: i915 v: kernel arch: Gen-9
process: Intel 14n built: 2015-16 ports: active: none off: DP-1 empty: DP-2, HDMI-A-1,
HDMI-A-2, HDMI-A-3 bus-ID: 00:02.0 chip-ID: 8086:191d class-ID: 0300
Device-2: NVIDIA GM204 [GeForce GTX 970] vendor: ASUSTeK driver: N/A alternate: nouveau
non-free: 550/565.xx+ status: current (as of 2025-01; EOL~2026-12-xx) arch: Maxwell code: GMxxx
process: TSMC 28nm built: 2014-2019 pcie: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.0
chip-ID: 10de:13c2 class-ID: 0300
Display: unspecified server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.6
compositor: gnome-shell driver: gpu: i915 note: X driver n/a, try sudo/root tty: 187x50
Monitor-1: DP-1 model: LG (GoldStar) Ultra HD serial: built: 2018 res: 3780x2160
dpi: 160 gamma: 1.2 size: 600x340mm (23.62x13.39") diag: 690mm (27.2") ratio: 16:9 modes:
max: 3780x2160 min: 640x480
API: OpenGL Message: GL data unavailable in console. Try -G --display
API: Vulkan Message: No Vulkan data available.
API: EGL Message: EGL data unavailable in console, eglinfo missing.
Info: Tools: api: glxinfo,vulkaninfo x11: xprop,xrandr

@sam_vde So a hybrid system… I would use the Intel GPU as the primary GPU and then the Nvidia GPU for Prime Render Offload. It should work with switcherooctl, but you may get stuck with suse-prime instead, depending on you hardware…

I think I may have found the core issue.

When installing the drivers, it says:

The following 13 NEW packages are going to be installed:
libnvidia-egl-gbm1 libnvidia-egl-gbm1-32bit libnvidia-egl-wayland1 libnvidia-egl-wayland1-32bit libnvidia-egl-x111 libnvidia-egl-x111-32bit nvidia-common-G06
nvidia-driver-G06-kmp-longterm nvidia-gl-G06 nvidia-gl-G06-32bit nvidia-modprobe nvidia-video-G06 nvidia-video-G06-32bit

But when looking at the installed packages I see:

Retrieving: nvidia-driver-G06-kmp-longterm-570.124.04_k6.12.16_1-32.1.x86_64 (repo-non-free)
Retrieving: nvidia-driver-G06-kmp-longterm-570.124.04_k6.12.16_1-32.1.x86_64.rpm

But I have another kernel version:

Information for package kernel-longterm:
Repository : update-slowroll
Name : kernel-longterm
Version : 6.12.13-1.1
Arch : x86_64
Vendor : openSUSE
Installed Size : 252,8 MiB
Installed : Yes (automatically)
Status : up-to-date
Source package : kernel-longterm-6.12.13-1.1.nosrc
Upstream URL : https://www.kernel.org/
Summary : The Linux Kernel
Description :
The Linux Kernel.
Source Timestamp: 2025-02-08 15:35:42 +0000
GIT Revision: 7dfb7ee6f3a31ba4eab9047901cea61382cd4afa
GIT Branch: slowroll

So it seems nvidia slowroll repository is not aligned with the slowroll distribution yet. I kind of assume this will be the tumbleweed kernel version which is slightly ahead. My system is up to date.

Assumptions for the time being, will investigate further.

Which is ok by the way, I understood SlowRoll to be rather new.

@bmwiedemann should be able to advise.

I see kernel-longterm-6.12.17-1.1 on repo/oss/
and
kernel-longterm-6.12.18-1.2 on update repo
so you just need to update your system?

It wasn’t yet yesterday (at least not for me), am experimenting further :muscle:

So I am a bit confused now, hopefully you can help me out one last time :slight_smile:

My card is too old for the open drivers. So there is not firmware file available for it. So that is sorted out.

I then checked the nvidia repository as configured in zypper, which points to Index of /opensuse/tumbleweed/x86_64. Looking at that, I see:

nvidia-driver-G06-kmp-default-550.67_k6.7.9_1-20.1.x86_64.rpm 40MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.78_k6.8.7_1-22.1.x86_64.rpm 40MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.90.07_k6.9.3_1-23.1.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.100_k6.9.7_1-25.1.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.107.02_k6.10.5_1-26.1.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.120_k6.10.9_1-27.1.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.120_k6.11.0_1-28.1.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.127.05_k6.11.3_2-27.1.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.135_k6.11.8_1-28.1.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.142_k6.12.6_1-30.3.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-550.144.03_k6.12.9_1-30.2.x86_64.rpm 41MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-570.86.16_k6.13.0_1-31.1.x86_64.rpm 70MB 2025-02-27 23:55
nvidia-driver-G06-kmp-default-570.124.04_k6.13.4_1-32.1.x86_64.rpm 70MB 2025-02-27 23:55
nvidia-driver-G06-kmp-longterm-570.124.04_k6.12.16_1-32.1.x86_64.rpm

But when I look at Slowroll repositories or Tumbleweed, I don’t find any matching kernel version option that matches.

Slowroll:

kernel-default-6.13.1-1.1.x86_64.rpm
kernel-default-6.13.5-1.1.x86_64.rpm

Tumbleweed:

kernel-default-6.13.5-1.1.x86_64.rpm
kernel-default-6.13.5-1.3.x86_64.rpm
kernel-default-6.13.6-1.1.x86_64.rpm

Unless I am missing something, this can never work then based on the repos?

@sam_vde The rpms should rebuild on install, after installation, reboot if get to command line run dracut -f --regenerate-all and reboot.

I would suggest the 550.144.03 to start with.

Since your running systemd boot, you may need to also run sdbootutil mkinitrd

If Slowroll then why not kernel-longterm?

https://software.opensuse.org/package/kernel-longterm

Hi

I was running longterm, but nvidia only has packages for 6.12.16 and I can only get 6.12.18. So far no luck, the module does not get rebuild, and the open driver is unsupported for my card.

Still trying though, edging towards the nvidia binary kit now.

Hi all

And… we have SUCCESS.

In the end, the (deceptively simple) way to get this to work was:

sudo zypper in nvidia-drivers-G06
sudo zypper in kernel-default

And I imported the secureboot key myself using

sudo mokutil --import $PWD/MOK-nvidia-driver-G06-570.124.04-32.1-default.der

I have also added:

sudo zypper in nvidia-settings nvidia-compute-G06

And enabled switcheroo:

sudo systemctl start switcheroo-control.service
sudo systemctl enable switcheroo-control.service

Some final notes now before I start experimenting with some local ML stuff:

  • thank you for your help, I love the linux community
  • I have not found any way to get nvidia drivers working using the longterm kernel, but I don’t think the default kernel will be too bleeding edge on Slowroll
  • the instructions on SDB:NVIDIA drivers - openSUSE Wiki have not worked for me

I will change the title of the post as I am not sure about the predictability of this, but who knows it can help someone else :slight_smile:

I do think this area has opportunities for improvement, but so far I have this machine doing everything I have attempted, so SUCCESS!

Edit: the final list of my installed packages for nvidia:

kernel-firmware-nvidia
libnvidia-egl-gbm1
libnvidia-egl-gbm1-32bit
libnvidia-egl-wayland1
libnvidia-egl-wayland1-32bit
libnvidia-egl-x111
libnvidia-egl-x111-32bit
nvidia-common-G06
nvidia-compute-G06
nvidia-compute-G06-32bit
nvidia-driver-G06-kmp-default
nvidia-gl-G06
nvidia-gl-G06-32bit
nvidia-libXNVCtrl
nvidia-modprobe
nvidia-persistenced
nvidia-settings
nvidia-video-G06
nvidia-video-G06-32bit
openSUSE-repos-Slowroll-NVIDIA

1 Like