I reinstalled Tumbleweed last night after a brief distrohop (Turns out I missed a lot about openSUSE that I didn’t realise) and I decided to remove the NVIDIA repos at install time and try the 610 run file instead. It worked well (And was actually so fast I wasn’t sure it had actually worked). The only issue I had was that I had to blacklist nouveau manually, and on first boot I have to type nvidia-smi before playing a game otherwise my GPU isn’t detected (I have also had this issue installing from the repos, so I can’t blame the run file for that). Just posting my anecdote incase it helps someone.
Running nvidia-smi is actually a known quirk with manual NVIDIA driver installs. Because no graphical service explicitly requests the NVIDIA driver during early boot, the kernel modules may not be loaded automatically.
Refer
https://en.opensuse.org/SDB:NVIDIA_drivers#NVIDIA_UVM_driver_not_loaded_at_boot
Also, which DE are you using? There are ways to launch graphical applications and ensure the NVIDIA modules are loaded when the they start.
How did you manage to blacklist nouveau? blacklist nouveau in a modprobe.d conf didn’t work for me, adding rd.driver.blacklist and two other arguments I can’t remember now to boot options just made the whole system panic when I tried.
Thanks Deano, I’ve actually seen this from a repo install as well, but also I load nvidia + uvm/drm/modeset in the initramfs with dracut, I diffed lsmod before/after running nvidia-smi and nothing changed. It’s very weird.
I am on KDE Plasma, I could just write a systemd service but it seems like a hack, if you know of a better fix I would be very happy!
Strange. modprobe.blacklist=nouveau and rd.driver.blacklist=nouveau should work.
Did you rebuild your initramfs and update your bootloader entries after changing the commandline?
Hmmm…post the output of ls -l /dev/nvidia* before and after running nvidia-smi? Show its output too.
Assuming that’s what dracut -f does, then yes. i added those entries to /etc/kernel/cmdline (using systemd-boot) and got nouveau spewing errors during boot. I admit I wasn’t paying full attention because I was pretty annoyed at that point and wanted it to be over with.
Interesting, yeah I can see UVM doesn’t appear there until I run nvidia-smi. Can I just throw it into modules-load.d?
crw-rw-rw-. 1 root root 195, 255 Aug 20 00:22 /dev/nvidiactl
crw-rw-rw-. 1 root root 195, 254 Aug 20 00:22 /dev/nvidia-modeset
crw-rw-rw-. 1 root root 195, 0 Aug 20 00:22 /dev/nvidia0
crw-rw-rw-. 1 root root 195, 255 Aug 20 00:22 /dev/nvidiactl
crw-rw-rw-. 1 root root 195, 254 Aug 20 00:22 /dev/nvidia-modeset
crw-rw-rw-. 1 root root 239, 0 Aug 20 00:25 /dev/nvidia-uvm
crw-rw-rw-. 1 root root 239, 1 Aug 20 00:25 /dev/nvidia-uvm-tools
/dev/nvidia-caps:
total 0
cr--------. 1 root root 242, 1 Aug 20 00:25 nvidia-cap1
cr--r--r--. 1 root root 242, 2 Aug 20 00:25 nvidia-cap2
Thu Aug 20 00:25:40 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 610.57.04 KMD Version: 610.57.04 CUDA UMD Version: 13.3 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4090 Off | 00000000:01:00.0 On | Off |
| 0% 45C P8 26W / 450W | 1395MiB / 24564MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 2301 C+G /usr/bin/kwin_wayland 164MiB |
| 0 N/A N/A 2359 G /usr/bin/Xwayland 9MiB |
| 0 N/A N/A 2494 G /usr/bin/plasmashell 314MiB |
| 0 N/A N/A 2866 G /usr/bin/xwaylandvideobridge 6MiB |
| 0 N/A N/A 3071 G ...share/Steam/ubuntu12_32/steam 13MiB |
| 0 N/A N/A 3259 G ./steamwebhelper 44MiB |
| 0 N/A N/A 3292 G ...am/ubuntu12_64/steamwebhelper 44MiB |
| 0 N/A N/A 4585 G gwenview 6MiB |
| 0 N/A N/A 6237 G /app/lib/firefox/firefox 301MiB |
+-----------------------------------------------------------------------------------------+
I would try loading it manually
sudo modprobe nvidia_uvm
ls -l /dev/nvidia*
then
sudo dracut -f
Reboot and check again.
@Shortwave8115 See https://forums.developer.nvidia.com/t/nvidia-unified-memory-kernel-module-to-load-at-boot/174562
Create a /etc/systemd/system/nvidia-uvm.service file with;
[Unit]
Description=Load nvidia-uvm module at boot time
After=nvidia-persistenced.service
[Service]
Type=oneshot
ExecStart=/usr/bin/sh -c "/usr/bin/nvidia-modprobe --unified-memory --create-nvidia-device-file=0 >> /var/log/nvidia-uvm.log 2>&1"
[Install]
WantedBy=multi-user.target
Then systemctl enable nvidia-uvm.service test on a reboot…
Likewise if using the run file, I use;
./NVIDIA-Linux-x86_64-$RUN_VERSION.run \
--ui=none \
--no-questions \
--accept-license \
--disable-nouveau \
--no-install-libglvnd \
--no-cc-version-check
I probably need to test with adding the --dkms option…
That’s the weird thing, I don’t have an nvidia-persistenced service, but I have the binary. I’ll look into it some more tonight, thanks for the pointers !
@Shortwave8115 … I added these lines to top of my /etc/modprobe.d/90-nvidia.conf
# Modprobe won't load nvidia_uvm automatically without this !?
softdep nvidia post: nvidia_uvm
Then you’re good to go
widowmaker:/home/dart/Downloads # lsmod | grep nvidia
nvidia_drm 167936 12
nvidia_modeset 1818624 30 nvidia_drm
nvidia_uvm 2334720 0
nvidia 118992896 413 nvidia_uvm,nvidia_drm,nvidia_modeset
drm_ttm_helper 20480 2 nvidia_drm
video 81920 1 nvidia_modeset