NVidia does not work with Leap 42.3

Hello,

first i upgraded Leap 42.2 with yast which leaved a system with many broken applications or versions which would not fit together (for example python etc.)

Therefore i decided to install Leap 42.3 on a fresh system which worked very well. I installed the NVidia driver VIDIA-Linux-x86_64-384.111.run which was working.
Then, after reboot of the new system yast wanted to make some updates, applications, kernel, etc.

After the reboot the screen was flickering and it would not allow to do any input over keyboard because it didn´t recognized the keystrokes, it is impossible to login in.

I reboot to the older kernel (vmlinuz-4.4.76-1-default) which at least has no flickering and seems to work.

I am unable to boot with the updated kernel vmlinuz-4.4.104-39-default.

Although NVidia says that the driver is supporting Leap 42.3 it seem to be not true under every circumstance. I try something with the older kernel

You need to uninstall drm-kmp-default before trying to install the nvidia driver via the .run installer.
That package contains backported graphics stuff from kernel 4.9 and will break the nvidia module compilation.

To be sure, run mkinird after uninstalling that package and then reboot before installing the driver (or compiling the kernel module) again.

But why don’t you just use the rpm packages from the nvidia repo?
Much less hassle… (you should uninstall the .run installation first though)

See https://en.opensuse.org/SDB:NVIDIA_drivers

NVidia will not install if you don´t uninstall drm drivers. I made that as well as with the older kernel. While the older kernel is working with the NVidia, the newer one is not working.

Since i can´t boot to the new kernel there is no way to install or uninstall something anyway.

It seems as if i have to install the whole system again…

Thanks

If you install the Nvidia driver from the .run file, you need to rebuild the kernel module for every new version of the kernel. It looks like that you didn’t do that.
You can do that while still running the old kernel with the following procedure ( with root rights from command line ):

  1. Unpack the .run file by running the .run file with the --extract-only option

  2. cd into the directory with the unpacked driver files. There should be a file called nvidia-installer

  3. run that file with ./nvidia-installer -aK -k <new kernel-version> where
    <new kernel-version> should exactly match the name of the subdirectory of /lib/modules, where the new kernel stores its modules

Right, that’s what I was getting at.

The newer kernel modules probably might not get loaded by the old 4.4.76 kernel for some reason, which would explain why that one works…

But I take it that you did uninstall it.

Since i can´t boot to the new kernel there is no way to install or uninstall something anyway.

You can boot to the older kernel, uninstall the nvidia driver, and try to install the RPM packages instead.

With the .run installer, you do need to reinstall the driver (or recompile the kernel module) after every kernel update.
So did you do that? Otherwise it is to be expected that the driver doesn’t work with the new kernel.

I am not aware of any incompatibilities with kernel 4.4.104…

$ sudo zypper rm drm-kmp-default

$ sudo zypper addrepo --refresh Index of /opensuse/leap/42.3 NVIDIA

$ sudo zypper install-new-recommends

Beside that, the above description is not working since the server is not reachable

Seems very much broken in the installation procedure and documentation…

I have no problems when clicking on that link.

What exactly did you do and what exact error message did you get?

Seems very much broken in the installation procedure and documentation…

Not really.

The installation procedure should be rather trivial though.
Add the repo, and install the x11-video-nvidiaG0X package that suits your card. (in your case, x11-video-nvidiaG04)
That’s all there is to it.

You can either use YaST or zypper for both. The nvidia repo should even be listed in the “Community Repositories” list that you get if you click on “Add” in YaST->Sofware Repositories and choose that option (should be selected by default).

Instead of manually selecting the right package, it should also just work to run “zypper inr” (install recommended packages) after you added the repo, and IIANM YaST->Software Management offers such an option in its menu as well.

Sorry, after i wrote it, i recognized that the proxies were not active, i tried to delete that posting but as it seems, it didn´t delete.

$ sudo zypper rm drm-kmp-default

$ sudo zypper addrepo --refresh Index of /opensuse/leap/42.3 NVIDIA

$ sudo zypper install-new-recommends

This worked now (thought i do not know why it will update more than 100 packets).

Nevertheless, before Leap42.3 i downloaded the NVidia Drivers and ran that and the kernel was updated, did that several hundreds time, always no problem. With Leap42.3 it has to be done with zypper. Ok.

Thank you.

You can only modify (or delete) posts for 10 minutes.
The main reason for this is that after 10 minutes posts get synced to the NNTP gateway.

(and of course it can cause confusion if posts are changed again and again, or deleted after people replied to them…)

This worked now (thought i do not know why it will update more than 100 packets).

“zypper inr” will install all recommended packages.
“Unfortunately”, there is no command to just install recommended hardware drivers (yet?).

If you’d have explicitly installed the nvidia driver, it should have installed 5 packages only.

Nevertheless, before Leap42.3 i downloaded the NVidia Drivers and ran that and the kernel was updated, did that several hundreds time, always no problem. With Leap42.3 it has to be done with zypper. Ok.

No, the .run driver should work fine too (if drm-kmp-default is not installed).
You need to reinstall it after every kernel update, but that’s nothing new. And the procedure to get it working (e.g. you need to blacklist nouveau or boot with “nomodeset” to prevent it from loading) hasn’t changed either.

No, with Suse 13.1 the only thing to remove was the nouveau driver, nothing else. Afer that you could execute the nvidia-run File. I did it about hundred times at one of our customer.

The problem with Leap 42.3 and this method is that you can´t do i offline. It seems as if you need to be online. The packet is not in the cache. Or i didn´t find it.

The run File is working.
I installed the Nvidia Dirver several times here on my PC, you do not need any Network Connection and you do not need any removing of nouveau.
Only remove drm-kmp-default.

Sure, and that hasn’t changed. The only difference in Leap 42.3 is that you have to uninstall drm-kmp-default, such a thing didn’t exist in previous openSUSE versions.

But you still need to reinstall it after every kernel update (was also the case on 13.1), unless you use dkms to automate that.
Mesa updates will overwrite your nvidia installation as well (the OpenGL libs, should be “fixed” in Leap 15 due to the usage of libglvnd), and on 13.1 even xorg-x11-server updates did, that has been mitigated in later openSUSE versions (by using update-alternatives for libglx).

And I suppose you mean “blacklisting” nouveau here, because you cannot remove the nouveau kernel module (it’s part of the kernel package), and you don’t have to remove the Xorg driver anyway.
But not even blacklisting should be necessary anymore I think, AFAIK the .run installer does that for you meanwhile.

The problem with Leap 42.3 and this method is that you can´t do i offline. It seems as if you need to be online. The packet is not in the cache. Or i didn´t find it.

If you mean the rpms from the nvidia repo here, then yes of course you have to be online.
You can download and install the packages manually though (with “zypper in xxx.rpm yyy.rpm …” or “rpm -i xxx.rpm yyy.rpm …”), and add the repo later to get updates.

And doens’t work on Tumbleweed.

See my thread on reddit: https://www.reddit.com/r/openSUSE/comments/7ujnr4/how_to_fix_nvidia_black_screen_on_tumbleweed/

I’m pretty sure there are (quite a few) people who have it working on Tumbleweed as well… :wink: