Kernel 5.9 And nVidia Proprietary Display Driver?

Hi,

Will Linux Kernel version 5.9 be released soon on “Tumbleweed”?
Also when 5.9 is released will the nVidia proprietary display driver be updated?
Let me know, thanks!

Jesse

I use here the kernel from kernel:stable so I will get the kernel 5.9 earlier as in Tumbleweed and see, if the driver is working.

But I use it by installing the “hard way” from the run file of the nvidia side.

I think in the driver in the repo will be updated if not working, but that take a little time.
But only if it will not working automatically.

If you use the repo, so try it, when not working you can start with the last kernel 5.8 , delete the kernel 5.9, pin it from update and wait…

Hi,

I use the nVidia proprietary display driver “Easy Way”.
Guess I should wait then…
Thanks!

Jesse

There was a post in the opensuse-factory mailing list today:

https://lists.opensuse.org/opensuse-factory/2020-10/msg00093.html

If I read it correctly, 5.9 was being held back to give Nvidia a little time to resolve some licensing issues. If that doesn’t happen soon, 5.9 will be released anyway.

There is a licence.patch but I don’t think it’s legal. I think it’s still out there but I’m not sure if it would be gpl or nvidia who would complain (sue?).

Having just build a custom 5.9.0 kernel myself (while still on openSUSE 15.0), I can report my experience here:

After compiling the kernel and its modules, the Nvidia 440.100 installer I’ve had lying around didn’t work anymore (as they usually don’t), because Linux 5.9’s get_user_pages() has the »wrong« params (again!); updating from 440.100 to 455.28, after fixing some __mmu_notifier_register() nonsense, the installer finally set up most of its stuff successfully.

As far as I understand it from the NVidia developer forums, __mmu_notifier_register() only gets included in Linux kernels when you do a compile for AMD CPUs, not for Intel CPUS (I have an old Haswell i5-4670 and a cheap-o Zotac Geforce GTX 1050). Quick and dirty fix for the 455.28 driver:

  • follow Isaak I. Aleksandrov’s steps in https://gitlab.com/snippets/1965550 (replace 440.82 with 455.28) until but excluding the patch.
  • change to directory NVIDIA-Linux-x86_64-455.28/
  • in header file kernel/nvidia-uvm/uvm_linux.h
    and manually set #define UVM_CAN_USE_MMU_NOTIFIERS() 0
  • ./nvidia-installer
    –kernel-name=‘5.9.0’

Now everything but nvidia_uvm works with 5.9, even my Steam games. Boot times are under two seconds from GRUB to KDE/Plasma and static IPv4 networking. (I’ve making a little challenge for myself to minimize resources and boot times; achieved largely with systemd’s assistance, a fast SSD, omitting everything superfluous while booting, even the initrd — no more dracut runs. Turns out that the kernel itself can do all things I need it to do for which openSUSE usually uses the initrd, e.g. patching Intel microcode and mounting my ext4 root fs.)

As for the nvidia_uvm module: it only seems to be needed when doing CUDA or OpenCL stuff (for example, some Gimp filters use some UVM functionality). Oh well.

The following two links contain the latest info on the nvidia driver for 5.9+

In a nutshell: Nvidia expects to have an official driver ready around mid November.

Hi,

Ugg…

How do I hold back kernel updates until nVidia driver is ready?
Let me know, thanks!

Jesse

Hi
Hopefully you have a newer card…? See my ML post… [opensuse-kernel] Re: No kernel 5.9 in Kernel:stable and Tumbleweed - openSUSE Kernel - openSUSE Mailing Lists

My desktop has an nVidia GeForce GTX 1050 Ti 4GB GDDR5 CPU

Hi
The Pascal architecture will be fine at present (it’s sm_6x), maybe a couple of years at best…

Hi,

I am using openSUSE Tumbleweed KDE 64Bit.
How do I stop the Kernel from updating?

Jesse

Hi
If you check what is installed and just add a lock…

For example;


zypper se -si kernel-de

S  | Name                 | Type    | Version    | Arch   | Repository
---+----------------------+---------+------------+--------+----------------------
i+ | kernel-default       | package | 5.8.12-1.1 | x86_64 | (System Packages)
i+ | kernel-default       | package | 5.8.14-1.2 | x86_64 | Main Repository (OSS)
i+ | kernel-default-devel | package | 5.8.12-1.1 | x86_64 | (System Packages)
i+ | kernel-default-devel | package | 5.8.14-1.2 | x86_64 | Main Repository (OSS)
i  | kernel-devel         | package | 5.8.12-1.1 | noarch | (System Packages)
i  | kernel-devel         | package | 5.8.14-1.2 | noarch | Main Repository (OSS)

zypper al kernel-de*

zypper se -si kernel-de*

S  | Name                 | Type    | Version    | Arch   | Repository
---+----------------------+---------+------------+--------+----------------------
il | kernel-default       | package | 5.8.12-1.1 | x86_64 | (System Packages)
il | kernel-default       | package | 5.8.14-1.2 | x86_64 | Main Repository (OSS)
il | kernel-default-devel | package | 5.8.12-1.1 | x86_64 | (System Packages)
il | kernel-default-devel | package | 5.8.14-1.2 | x86_64 | Main Repository (OSS)
il | kernel-devel         | package | 5.8.12-1.1 | noarch | (System Packages)
il | kernel-devel         | package | 5.8.14-1.2 | noarch | Main Repository (OSS)

The lower case L has been added, indicating it’s locked. Just use rl to remove the lock when you want to update.

You could just keep a favoured 5.8 old kernel around by adding it to the multiversion.kernels setting in /etc/zypp/zypp.conf (the comments in the file explain how to retain a specific version). You could combine this with manually setting the boot loader options in Yast to default to the desired 5.8 kernel. This is probably what I will do.

If decide I need 5.9 a bit sooner I might alter the Nvidia module source and set it’s license to GPL before upgrading the kernel, but that’s a bit messy. I’m not sure but I believe it might only require changes to a couple of files:

michael@kosmos1  ~  find /usr/src/kernel-modules/ -type f -name '*.[ch]' | xargs grep  LICENSE | grep NVIDIA
 /usr/src/kernel-modules/nvidia-450.80.02-default/nvidia-modeset/nvidia-modeset-linux.c:  MODULE_LICENSE("**NVIDIA**");
/usr/src/kernel-modules/nvidia-450.80.02-default/nvidia/nv-frontend.c:MODULE_LICENSE("**NVIDIA**");
  

I’ve not yet tried this, so if someone has more detailed instructions, they might want to chip in.

Hi,

We see Linux Kernel 5.9 was just released on Tumbleweed.
Does the nVidia proprietary display driver work with 5.9 yet or we should wait?
Let us know, thanks!

Jesse

Ok, we installed new Linux Kernel 5.9 on Tumbleweed and rebooted…
…everything appears to be working with nVidia driver version 450.80.02…
…thanks!

Jesse

Not quite everything.

I’m writing this from TW kernel 5.9.1-1 and nvidia driver 450.80.02. I’m sitting at a plasma desktop and compositing is working just fine.

The one issue is that some applications that use GPU for computation can no longer do so. For example, I use the Olympus Workspace image processing application under Wine, after booting 5.9.1 the application reports my GPU is not supported and reverts to a slower unaccelerated mode. I believe gimp also uses the GPU for some computation, hopefully it also falls back to something slower.

I altered multiversion.kernels in /etc/zypp/zypp.conf to keep 5.8.15-1-default and set grub to default to booting that kernel. So by default I’m staying on 5.8 until nvidia releases a driver that restores full GPU functionality. But I can use 5.9 if I feel the need.

Thanks for the heads up…going back to Kernel 5.8

Appears to be a problem with cuda on 5.9 thus no math acceleration for the GPU. As I understand it is being worked on should be fixed soon.

Up to Archlinux users forum, nvidia has developed a new driver (455.38) that is now compatible with 5.9 kernels.
https://bbs.archlinux.org/viewtopic.php?id=259936&p=2