I should give details.
The Opensuse-MicroOS-NVIDIA package installs a new repo that gets named repo-non-free. I thought that was an OpenSUSE maintained repo, but reading the URL, it’s actually an NVIDIA one that’s different from the one you need to install manually for CUDA.
Apparently NVIDIA, not OpenSUSE like I thought, created a cuda-cloud-opengpu package last month that’s a meta package for all the dependencies you need to use CUDA, matching the version across them all. Prior to that you just had to manually install a half dozen packages independently, but making sure they were all the same version. And then NVIDIA would update some of them out of sync with others, so that was always fun to deal with.
The other existing issue is that MicroOS and transactional-update dont support dkms or akmod drivers, so you can only use prebuilt drivers with them. Most notably, that includes the NVIDIA drivers which are now almost exclusuvely distributed as dkms drivers now that the nvidia-open drivers are available. And the downside if prebuilt drivers is they have to target a specific kernel version, rather than a range and automatically rebuilding for the specific kernel they’re being used with.
So it turns out that in the cuda-opensuse-x86_64 repo (owned by NVIDIA) they released a new version of cuda-cloud-opengpu. But the prebuilt driver dependency it requires, that is also supposed to be supplied by the same repo, is missing. Unfortunately when you do an automatic transac6ional-update though, you have to specify -y to zpper so it will automatically confirm that you want to perform the updates in the dup sub command, but that -y also confirms you want to continue installing a package with broken dependencies. zypper simply has no options to differentiate or prevent this.
So I got a broken install of the updated cuda-cloud-opengpu package that was missing the driver.
While fixing this, I discovered that the repo-non-free (installed by an OpenSUSE maintained package, but pointing to an NVIDIA owned repo) aso contained cuda-cloud-opengpu, but didn’t have the newer version that was missing a dependnecy. However the repo-non-free is missing virtually all CUDA dependencies of that meta package, so you do still have to have cuda-opensuse-x86_64 installed and enabled for the dependencies to be available. So ironically you are best to install cuda-cloud-opengpu from the repo-non-free (which has none of the dependencies of it) so that I updates without vendor switching will only update to versions with all the existing dependencies, but you need the cuda-opensuse-x86_64 to get those dependencies, the same one that will try to give you a broken cuda-cloud-opengpu meta package.
Keeping the fun going, OpenSUSE also released the new 6.18 kernel as kernel-default. Since transactional-update can only use prebuilt drivers, and NVIDIA is the only source of the NVIDIA drivers, NVIDIA has to release a new prebuilt driver for use on the 6.18 kernel. They lag on that, so when the cuda-cloud-gpu installs the NVIDA driver as a dependency, it ends up installing the latest one, which still targets the 6.17 kernel.
What this means is I got the double-whammy, and OpenSUSE hasn’t stabilized the use if CUDA like I thought they had. Other distros have had to implement package manager plugins (e.g. dnf-nvidia-plugin) for getting the proper version restrictions between kernel, drivers, and libraries, but then again they also all support either dmks or akmods now (even the immutable ones).
My solution ended up needing to be a sledgehammer since this is a largely unattended server that I want to get automatic updates so it’s largely set it and forget it. I had to add a health-checker script (a service which is never linked to or mentioned by name in any transactional cuspate documentation BTW) that will fail the boot if the nvidia0device Nide is missing, so that it will rollback every nightly automatictransactional-updateupgrade that break the driver stack until there is a kernel + driver +cuda-cloud-opengpu` that actually work together properly.