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
Hello, In the Message; Subject : Nvidia Oddity Message-ID : <87cc6fd3-41c7-2eac-818e-739f71c16b01@gmail.com> Date & Time: Thu, 1 Apr 2021 17:26:39 +1300 [RK] == Robin Klitscher <robin.klitscher@gmail.com> has written: RK> For many years – 20 or more - I’ve been installing without problems the RK> Nvidia GEForce drivers in successive editions of openSUSE/Leap “the hard RK> way”, using nVidia’s xxx.run packages. RK> Recently, however, however, something went wrong in a fresh installation RK> of Leap 15.2. After installing the OS I’d disabled nouveau as normal RK> and installed Nvidia-Linux-x86_64-455.45.01.run successfully. But every RK> attempt to upgrade to later Nvidia versions failed. The installation RK> would proceed without error messages or any other indication of RK> problems, but a reboot would invariably default to a commandline only, RK> with no X and no desktop (Plasma). RK> Xorg.0.log said “(EE) NVIDIA: Failed to initialize the NVIDIA kernel RK> module”, while dmesg showed this (typical): “NVRM: API mismatch: the RK> client has the version 460.56, but this kernel module has the version RK> 455.45.01”. But there was no indication why the mismatch was occurring RK> (the nouveau stuff is properly disabled, so it wasn’t that). RK> On the theory that maybe the earlier version had somehow become welded RK> into the initrd and the Nvidia installer wasn’t smart enough to overcome RK> this, I took a punt by installing Nvidia 460.56 and then running RK> mkinitrd. Lo and behold, that cured the problem. I met the same issue, before. I solved this by; 1. # uninstall-nvidia 2. # rm -f /usr/lib64/*nvidia* 3. install NVIDIA's driver. That is, the point is the removal 460.56's files. Regards, --- ┏━━┓彡 Masaru Nomiya mail-to: nomiya @ galaxy.dti.ne.jp ┃\/彡 ┗━━┛ Think. -- The IBM slogan --
On 01.04.2021 07:26, Robin Klitscher wrote:
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?
Obviously, if nvidia driver is present in initrd, you need to rebuild initrd every time you update driver.
On 01/04/2021 18:34, Andrei Borzenkov wrote:
On 01.04.2021 07:26, Robin Klitscher wrote:
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?
Obviously, if nvidia driver is present in initrd, you need to rebuild initrd every time you update driver.
Quite. But I was puzzled as to how it got into initrd in the first place - or if there's some other way of dealing with the situation short of rebuilding initrd every time. -- Robin K Wellington "Harbour City" New Zealand
On 01.04.2021 09:06, Robin Klitscher wrote:
On 01/04/2021 18:34, Andrei Borzenkov wrote:
On 01.04.2021 07:26, Robin Klitscher wrote:
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?
Obviously, if nvidia driver is present in initrd, you need to rebuild initrd every time you update driver.
Quite. But I was puzzled as to how it got into initrd in the first place - or if there's some other way of dealing with the situation short of rebuilding initrd every time.
I do not know. I do not have any system with nvidia so I cannot test. My guess is that plymouth needs DRM support and so dracut pulls in drivers required for DRM which is detected from running kernel. But with zero factual information it is just guesswork. Post output of mkinitrd for a start.
Moin, On Apr 01, 21 19:06:53 +1300, Robin Klitscher wrote:
On 01/04/2021 18:34, Andrei Borzenkov wrote:
On 01.04.2021 07:26, Robin Klitscher wrote:
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?
Obviously, if nvidia driver is present in initrd, you need to rebuild initrd every time you update driver.
Quite. But I was puzzled as to how it got into initrd in the first place - or if there's some other way of dealing with the situation short of rebuilding initrd every time. A direction to check might be by putting the rpm at a place where your system can fetch it, and then adding "dud=ftp://ftpserver/rpm" to the command line when booting. (ftpserver = your ftpserver ; rpm = the rpmname)
Note I have not tested it, nor check if it still works, but if I remember correctly it should be this way or similar working (it's some years back since I needed this last) Stefan -- Stefan Behlert, SUSE Software Solutions Maxfeldstr. 5, D-90409 Nuernberg, Germany Phone +49-911-74053-173 SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer (HRB 36809, AG Nürnberg)
Hello, On Thu, 01 Apr 2021, Robin Klitscher wrote:
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. [..] 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).
Have you run 'depmod -a' and have you regenerated the initrd? Because if there's still the old module in there it gets loaded before the new one can. HTH, -dnh -- lp1 on fire (One of the more obfuscated kernel messages)
On 01/04/2021 18:39, David Haller wrote:
Hello,
On Thu, 01 Apr 2021, Robin Klitscher wrote:
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. [..] 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).
Have you run 'depmod -a' and have you regenerated the initrd? Because if there's still the old module in there it gets loaded before the new one can.
Thanks. And yes; regenerating the initrd fixed the issue for the time being. -- Robin K Wellington "Harbour City" New Zealand
participants (5)
-
Andrei Borzenkov
-
David Haller
-
Masaru Nomiya
-
Robin Klitscher
-
Stefan Behlert