i think the issue is fixed i tested native linux games like cs2 and proton games both work without me doing the mpv trick thanks man, also i am using wayland for cs2 and it works perfectly.
So I ran zypper dup
today, and there were no nvidia related or kernel related updates (unless I missed them). Curiously enough, my games launched this time. Of course, after rebooting, the issue persists.
Also I think I’ve omitted a piece of information: I use systemd-boot and I followed this guide when I installed opensuse: Quickstart in Full Disk Encryption with TPM and YaST2 - openSUSE News
Maybe something funky happens when the kernel module tries to install? I do remember errors saying something like “missing vmlinuz”
@restauranter I’m running Intel/Nvidia with systemd-boot. No encryption though.
Should be no issues with respect to kernel modules.
So what does MESA_VK_DEVICE_SELECT=list vulkaninfo
show?
selectable devices: GPU 0: 10de:2504 "NVIDIA GeForce RTX 3060" discrete GPU 0000:01:00.0 GPU 1: 10005:0 "llvmpipe (LLVM 20.1.8, 256 bits)" CPU 0000:00:00.0
@restauranter So it could be trying to use llvmpipe. See the post to @penguinrapper and create the file indicated, in your case use MESA_VK_DEVICE_SELECT="10de:2504"
I tried that and rebooted (to ensure the environment is loaded), but it didn’t fix the problem. Also, I’ve reinstalled the (closed) kernel module, and copied some of the errors:
depmod: ERROR: fstatat(5, nvidia.ko): No such file or directory
make: Entering directory '/usr/src/linux-6.16.3-1-obj/x86_64/default'
make[1]: Entering directory '/usr/src/kernel-modules/nvidia-580.76.05-default'
MODPOST Module.symvers
make[1]: Leaving directory '/usr/src/kernel-modules/nvidia-580.76.05-default'
make: Leaving directory '/usr/src/linux-6.16.3-1-obj/x86_64/default'
make[1]: Entering directory '/usr/src/linux-6.16.3-1'
make[2]: Entering directory '/usr/src/kernel-modules/nvidia-580.76.05-default'
SYMLINK nvidia/nv-kernel.o
SYMLINK nvidia-modeset/nv-modeset-kernel.o
---------
nvidia.o: warning: objtool: _nv014283rm+0x5d: 'naked' return found in MITIGATION_RETHUNK build
nvidia.o: warning: objtool: _nv048645rm+0x12f: 'naked' return found in MITIGATION_RETHUNK build
MODPOST Module.symvers
WARNING: modpost: missing MODULE_DESCRIPTION() in nvidia.o
WARNING: modpost: missing MODULE_DESCRIPTION() in nvidia-uvm.o
WARNING: modpost: missing MODULE_DESCRIPTION() in nvidia-modeset.o
WARNING: modpost: missing MODULE_DESCRIPTION() in nvidia-drm.o
CC [M] nvidia.mod.o
CC [M] nvidia-uvm.mod.o
CC [M] .module-common.o
CC [M] nvidia-drm.mod.o
CC [M] nvidia-modeset.mod.o
CC [M] nvidia-peermem.mod.o
LD [M] nvidia.ko
LD [M] nvidia-uvm.ko
LD [M] nvidia-modeset.ko
LD [M] nvidia-drm.ko
LD [M] nvidia-peermem.ko
BTF [M] nvidia-drm.ko
BTF [M] nvidia-peermem.ko
Skipping BTF generation for nvidia-drm.ko due to unavailability of vmlinux
Skipping BTF generation for nvidia-peermem.ko due to unavailability of vmlinux
BTF [M] nvidia-modeset.ko
Skipping BTF generation for nvidia-modeset.ko due to unavailability of vmlinux
BTF [M] nvidia-uvm.ko
Skipping BTF generation for nvidia-uvm.ko due to unavailability of vmlinux
BTF [M] nvidia.ko
Skipping BTF generation for nvidia.ko due to unavailability of vmlinux
make[2]: Leaving directory '/usr/src/kernel-modules/nvidia-580.76.05-default'
make[1]: Leaving directory '/usr/src/linux-6.16.3-1'
ld.bfd -T /usr/src/linux-obj/x86_64/default/scripts/module.lds -r -o nv-linux.o \
nvidia.mod.o nvidia/nv-interface.o
/
rm -f -r conftest
make[1]: Entering directory '/usr/src/linux-6.16.3-1'
make[2]: Entering directory '/usr/src/kernel-modules/nvidia-580.76.05-default'
CLEAN .
CLEAN Module.symvers
make[2]: Leaving directory '/usr/src/kernel-modules/nvidia-580.76.05-default'
make[1]: Leaving directory '/usr/src/linux-6.16.3-1'
/
(1/2) Installing: nvidia-driver-G06-kmp-default-580.76.05_k6.15.8_1-39.1.x86_64 ........................................................................................................................................................................................[done]
(2/2) Installing: nvidia-userspace-meta-G06-580.76.05-11.1.noarch ......................................................................................................................................................................................................[done]
%posttrans(nvidia-driver-G06-kmp-default-580.76.05_k6.15.8_1-39.1.x86_64) script output:
Removed /boot/efi/loader/entries/opensuse-tumbleweed-6.16.1-1-default-232.conf
Removed /boot/efi/loader/entries/opensuse-tumbleweed-6.16.3-1-default-232.conf
Removed /boot/efi/loader/entries/opensuse-tumbleweed-6.16.1-1-default-233.conf
Removed /boot/efi/loader/entries/opensuse-tumbleweed-6.16.3-1-default-233.conf
Removed "/boot/efi/opensuse-tumbleweed/6.16.1-1-default/initrd-f4b44483ae48be291a901c300de3010863045a23"
Removed /boot/efi/loader/entries/opensuse-tumbleweed-6.16.1-1-default-236.conf
Removed "/boot/efi/opensuse-tumbleweed/6.16.3-1-default/initrd-a511bed4a292841830fc99a83cd3c246702eb2e7"
Removed /boot/efi/loader/entries/opensuse-tumbleweed-6.16.3-1-default-236.conf
NVIndex policy created
@restauranter I’m assuming that the Nvidia driver is loaded, nvidia-smi
Once rebooted, you ran the MESA_VK_DEVICE_SELECT=list vulkaninfo
command again to see?
The output is the same:
selectable devices:
GPU 0: 10de:2504 "NVIDIA GeForce RTX 3060" discrete GPU 0000:01:00.0
GPU 1: 10005:0 "llvmpipe (LLVM 20.1.8, 256 bits)" CPU 0000:00:00.0
However, here is the output of echo $MESA_VK_DEVICE_SELECT
: 10de:2504
.
Was the output of MESA_VK_DEVICE_SELECT=list vulkaninfo
supposed to change?
@restauranter Then it looks like the environment file is not needed as it does select the Nvidia GPU first. If you run the likes of Steam or Lutris and have nvtop running in a terminal, does it show those applications using the nvidia gpu?
Ok, so I don’t want to jinx it, but it seems that the combination of setting that environment variable, plus running nvtop before launching the game, actually makes the game run! Like, if I try to run the game after a fresh reboot, I get the same issue. But then if I run nvtop, and whilst running nvtop if I launch the game, the game manages to launch. What a peculiar problem
@restauranter so Mesa-vulkan-device-select and I guess the 32bit version packages are installed?
Is there a place in the applications to set environment variables? If so add MESA_VK_DEVICE_SELECT="10de:2504"
if not open a terminal and run;
export MESA_VK_DEVICE_SELECT="10de:2504"
Then start your application from the command line in the same terminal.
Sorry for the late reply. By 32-bit packages, I’m assuming the 32 bit versions of the nvidia driver? Yes, they are installed. I tried running steam with that environment variable (whilst running nvtop) and games do launch, but my pc restarts randomly after a while.
Now, I think all this was a wild goose chase. I’d installed fedora on another partition, and wasn’t having any problems, but that was on the 575 driver. But a few days ago, fedora updated to 580, and guess what, I’ve begun experiencing the same problems! So I think there’s a bug in the driver. So my question is, does opensuse tw allow me to downgrade my nvidia drivers?
If you’re on openSUSE Tumbleweed with the default Btrfs root filesystem and snapper enabled, then you don’t need to manually downgrade packages to try an older NVIDIA driver. You can simply roll back to a snapshot from before the update. You can boot to a readonly snapshot form the grub menu, and if that works as expected, and the correct snapshot verified, you can then proceed with making it permanent.
Use the following command to see a list of all available snapshots with their corresponding numbers…
sudo snapper list
To rollback to a specific snapshot, replace with the actual number of the snapshot you wish to restore…
sudo snapper rollback <snapshot-number>
then reboot.
For more info, refer man snapper
This graphical guide may be of value:
Unfortunately I only have ‘new’ snapshots and the old ones have been deleted (other than a really old one back from May)
Yes, that is easily possible.
In Myrlyn or YaST Software, mark the Nvidia package and on the „Versions“ tab, choose the version you want. You only have to make sure that the Nvidia packages have the same version numbers.
Search for the older 575 drivers (assuming still available)…
zypper se -s nvidia | grep 575
then install the required version…
sudo zypper in --allow-downgrade nvidia-driver-G06.....
As hui mentioned, using Myrlyn might be an easier method for you.
@restauranter if you add VKD3D_CONFIG=nodxr
to the environment variable when starting the game does this help?