new Kernel4.16 and Nvidia Driver

With the new Kernel4.16 the Nvidia Drivers do not work, I also tried to uninstall them and compile them from Driver, but they fail

Normally you need to wait for the fixes to propagate through for the latest drivers and kernels…

Good to know, did you try the latest .run from nvidia site.

There should be a log, look at the last ~100 lines of the log. It’s probably this issue: Kernel 4.16-rc1 Breaks latest drivers - 'Unknown symbol swiotlb_map_sg_attrs' - Linux - NVIDIA Developer Forums . That thread contains a patch for the issue as well.

I have an old card and the 340.106 custom .run driver, compiled and works fine with 4.16.0 :wink:

The last one is the same as that of the Repo Linux x64 Nvidia 390.48
There is also 384.130 but I doubt it works, and I have not even tried it.
I had in my / home / the and I tried with this.
Now I’m with the Kernel 4.15.

Xorbe was kind enough to provide a link awhile back to a page with the latest-and-greatest nvidia driver downloads (betas, me thinks):

I’m now on 390.48, but don’t think it works unpatched with the 4.16 kernel. My guess is that an nvidia driver that works with 4.16 will appear at this page first.

The patch as posted in the link I provided has been confirmed to work on the opensuse-factory@ ML.

I used the recommended patch with driver 390.48 in Tumbleweed and the driver built and installed for me.

I think this has affected my system too, ran zypper dup and rebooted when finished. System now only boots as far as a flashing tty1 on which I can just make out that its kernel 4.16.0-1-default and I think 20180406 but its difficult to read due the it pulsing on and off quickly. I cannot log on at this screen. I am having to boot into openSUSE by using advanced options where I can still access kernel 4.15.13-2-default.

I’m on Tumbleweed, KDE, and normally using nvidia drivers 390.48. Graphics card is a GeForceGTX970. Processor is Intel i7-5930K.

Any help appreciated.


You either need to patch the nvidia driver (see the link above), or stick to the older kernel for now until an updated driver is available.

Another alternative would be to uninstall the nvidia driver completely and use nouveau instead, but that’s probably not what you want I suppose… :wink:

Hello Wolfi323, I have no idea at all on how to patch the driver (its something I have never done or tried to do) so it looks as if I will just have to wait until an updated driver is made available. How will I know when a patch is provided for the nvidia drivers? Until then I will need to refrain from updating anything on my system I suppose. When a patch is available will it be automatically applied when I run zypper dup or will I have to apply the patch first from the nvidia repos with yast and then run zypper to update the whole system. Apologies for my ignorance on all this and sorry to be a nuisance, but I have to admit I am thoroughly enjoying learning about openSUSE as well as using it, reminds me a bit of when I first started out using Mandrake Linux many years ago.

I have the nouveau driver blacklisted as I had a severe warning when initially installing openSUSE that it did not play well with later Nvidia cards so have never allowed it to install, was I correct in blacklisting it?

I have had open source drivers working with openSUSE, not sure which, when I first installed but screen resolution always too low, I could find no way to get things to look right at my monitors native 1920 x 1200.

Thanks again for your help.



Thanks the patch from the link works here.

There are only 3 lines to change, 2 lines to add, 1 line to delete.
You can do it in the file which is named in the first line of the patch.

And run the installer from inside the unzipped run File by typing:


I rolled a patched 390.48 driver, but I don’t know how to post it, or if that would be frowned upon. Hopefully they post an updated driver for everyone else …

Please, apologize for my failure.
Could you be more specific, please. I downloaded file “missing-exports-for-swiotlb.patch”, I read it, but I did not understand what I need to do.
I think I am not the only one who did not know how to patch it.
Thank you very much.

No need to stop updating. The new kernels are installed alongside the old ones, not replacing it, so you should be able to boot into the old kernel (if it’s still installed), from the “advanced options” menu in GRUB. If you have installed the driver from the repo, you can just keep updating with “zypper dup”, and when you see a driver update, boot into the new kernel to see if it works.

cd /usr/src/nvidia$VERSION
patch -p 0 < /path/to/downloaded/dotpatch

then re-run the installer.

Left side is original, right side is after patching:

nano /usr/src/kernel-modules/nvidia-390.48-default/comon/inc/nv-linux.h
I will modify the lines.
And run installer.
Thank you.