I know that my two book-length posts on OpenSUSE Tumbleweed didn’t get much of a reception here, but just in case anyone out there (or out on the web) sees this…
OpenSUSE is kind of unusual in that it does not come with DKMS (dynamic kernel module support) out of the box. DKMS allows Linux to automatically rebuild any out of tree kernel modules whenever a new kernel is installed. Things like the proprietary nVidia driver, the Veeam snap module, the Virtualbox driver, and the drivers for my laptop’s keyboard backlight, all use DKMS.
Why SUSE persists in not using DKMS, I do not know. I looked it up, and it’s been 19 years since it was first introduced, so it is not an issue of it having not landed yet, I think.
Fortunately, the Tumbleweed repo has DKMS in it (the Leap versions apparently have to get it from a third-party repo), so I installed it some time ago. Still, when the kernel updated the other day, it booted up and my keyboard backlight was off.
I wrestled with that for a long old time… and finally I did something that got it to work. I don’t know what it was, but it worked. I took a Timeshift snapshot.
The next day, I was considering what I had learned about the issue, thinking about the next kernel update and the breakage I would likely see again. I had my snapshot, so I was going to go back to the pre-updated state and see if I could narrow down the issue a bit more… but first, some additional reading on the topic. I searched for DKMS-related info (I knew it had something to do with that), and I saw the instructions for installing DKMS on OpenSUSE. No need for that, I thought… I already did.
But then I saw the next step in the how-to. “Go to the command line and enter ‘sudo systemctl enable dkms'”.
Seriously?
The DKMS package installs the DKMS service in a disabled state? It is already disabled by default by virtue of not being there!
It never occurred to me. I regularly check the status of various services (daemons) at various times, but I had missed this one. In my mind, installing it meant it was enabled and running.
I rolled back to the old snapshot from before the kernel update, enabled DKMS, then let the updates roll in once again. On reboot, everything worked fine.
I spent a lot of hours of frustration trying to figure out why it was not working. Now, admitted, if my Linux knowledge was a bit greater, I may have been able to figure it all out sooner (or get it working without DKMS), but being stumped and working through it is one way to learn.
Dell XPS 13/9310, i5-1135G7/16GB, KDE Neon
XPG Xenia 15, i7-9750H/16GB & GTX1660ti, KDE Neon
Acer Swift Go 14, i5-1335U/16GB, KDE Neon (and Win 11 for maintenance)