I gave the new instructions a spin.
I already have drivers and CUDA setup. I attempted to follow the instructions, part of which states:
NOTE All prior separately installed packages for NVIDIA must be removed first! The meta package must be the only directly installed package, otherwise it won’t be able to control when linked updates between the driver, libraries, and kernel occur.
It was a bit of a nightmare to achieve all the removals that might be required. I tried to be conservative and ensure all/most of what had previously been installed was removed. But I don’t really know if that was necessary - don’t blindly accept or blindly follow any of what I about to relate.
In the following code fragments, I’ve added --dry-run for safety - the commands won’t perform any permanent actions unless that argument is removed.
The recommended way to find out what to remove, zypper rm --dry-run --clean-deps *nvidia*. For me that failed, it needed quotes to prevent it accidentally matching files in the current folder. Having corrected that, on my desktop, the command attempts to remove all firmware, not just nvidia firmware, here’s what it recommended:
zypper rm --dry-run --clean-deps '*nvidia*'
Reading installed packages...
Resolving package dependencies...
The following 54 packages are going to be REMOVED:
cuda-cloud-opengpu cuda-demo-suite-12-9 cuda-libraries-12-8 kernel-firmware-all kernel-firmware-amdgpu kernel-firmware-ath10k kernel-firmware-ath11k
kernel-firmware-ath12k kernel-firmware-atheros kernel-firmware-bnx2 kernel-firmware-brcm kernel-firmware-chelsio kernel-firmware-dpaa2
kernel-firmware-i915 kernel-firmware-intel kernel-firmware-iwlwifi kernel-firmware-liquidio kernel-firmware-marvell kernel-firmware-media
kernel-firmware-mellanox kernel-firmware-mwifiex kernel-firmware-network kernel-firmware-nfp kernel-firmware-nvidia kernel-firmware-prestera
kernel-firmware-qcom kernel-firmware-qlogic kernel-firmware-radeon kernel-firmware-serial kernel-firmware-sound kernel-firmware-ti
kernel-firmware-ueagle kernel-firmware-usb-network libnvidia-egl-gbm1 libnvidia-egl-gbm1-32bit libnvidia-egl-wayland1 libnvidia-egl-wayland1-32bit
libnvidia-egl-x111 libnvidia-egl-x111-32bit libnvidia-gpucomp libnvidia-gpucomp-32bit libwayland-server0-32bit nvidia-common-G06 nvidia-compute-G06
nvidia-compute-G06-32bit nvidia-compute-utils-G06 nvidia-gl-G06 nvidia-gl-G06-32bit nvidia-modprobe nvidia-open-driver-G06-signed-cuda-kmp-default
nvidia-persistenced nvidia-userspace-meta-G06 nvidia-video-G06 nvidia-video-G06-32bit
54 packages to remove.
Package install size change:
| 0 B required by packages that will be installed
-2.01 GiB | - 2.01 GiB released by packages that will be removed
I was not prepared to remove all firmware (would that have been OK?). Instead I deleted anything associated with the driver the 580 driver:
zypper search -si nvidia | grep 580 | awk '{print $3}' | xargs zypper remove --dry-run
I want to also make sure I got rid of anything that new cuda-cloud-opengpu meta package would pull in. I first installed the meta-package so I could find out what it pulls in. I think this is the correct way to find out:
rpm -qR cuda-cloud-opengpu
cuda-demo-suite-12-9
cuda-libraries-12-8
nvidia-compute-utils-G06 = 580.105.08
nvidia-open-driver-G06-signed-kmp = 580.105.08
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsZstd) <= 5.4.18-1
Getting rid of my 580 packages would accomplish part of that. But cuda-libraries-12-8 is also a meta package and I’m not sure what to do about it. I took a guess:
rpm -qR cuda-libraries-12-8
rpm -qR cuda-libraries-12-8 | grep '12.8' | awk '{print $1}' | xargs zypper remove --dry-run
And finally:
zypper remove --dry-run cuda-demo-suite-12-9
Anyway all of the above got me back to what I hope is a ground state. I then installed following the wiki instructions. I first checked the NVIDIA and cuda repos were correctly setup and enabled. Then the wiki instructions all went smoothly. After a reboot the desktop is working fine, and CUDA appears to be available.
BTW, I did not just remove everything from the CUDA repo because removing all of it seemed to also cause the removal of Plasma-6 and Steam and other stuff :
zypper search -ir cuda
... lots of stuff listed ...