For many years – 20 or more - I’ve been installing without problems the
Nvidia GEForce drivers in successive editions of openSUSE/Leap “the hard
way”, using nVidia’s xxx.run packages.
Recently, however, however, something went wrong in a fresh installation
of Leap 15.2. After installing the OS I’d disabled nouveau as normal
and installed Nvidia-Linux-x86_64-455.45.01.run successfully. But every
attempt to upgrade to later Nvidia versions failed. The installation
would proceed without error messages or any other indication of
problems, but a reboot would invariably default to a commandline only,
with no X and no desktop (Plasma).
Xorg.0.log said “(EE) NVIDIA: Failed to initialize the NVIDIA kernel
module”, while dmesg showed this (typical): “NVRM: API mismatch: the
client has the version 460.56, but this kernel module has the version
455.45.01”. But there was no indication why the mismatch was occurring
(the nouveau stuff is properly disabled, so it wasn’t that).
On the theory that maybe the earlier version had somehow become welded
into the initrd and the Nvidia installer wasn’t smart enough to overcome
this, I took a punt by installing Nvidia 460.56 and then running
mkinitrd. Lo and behold, that cured the problem.
But why would this happen when it had never happened before, across many
installations of the proprietary Nvidia drivers over many years? Do I
have to run mkinitrd for every Nvidia update henceforth? Out of
curiosity if nothing else, any explanations would be gratefully received.
--
Robin K
Wellington "Harbour City"
New Zealand