DKMS not rebuilding Nvidia-Bumblebee on kernel upgrade

The Nvidia-Bumbleee kernel driver is not automatically rebuilt when installing a new kernel, which means that after a kernel upgrade bumblebee won’t work until you manually run “dkms autoinstall”.

This is not true, in general; for instance see what was automatically built and installed on my Leap 42.2 system:

bruno@LT_B:~> /usr/sbin/dkms status
bbswitch, 0.8-3.27, 4.4.27-2-default, x86_64: installed
bbswitch, 0.8-3.27, 4.4.36-5-default, x86_64: installed
bbswitch, 0.8-3.27, 4.4.36-8-default, x86_64: installed
bbswitch, 0.8-3.27, 4.9.2-1.g2d3c294-default, x86_64: installed
bbswitch, 0.8-3.27, 4.9.2-1.gc693a29-default, x86_64: installed
bbswitch, 0.8-3.27, 4.9.3-2.g2c7dfab-default, x86_64: installed
bbswitch, 0.8-3.27, 4.9.5-2.g9bb1a8a-default, x86_64: installed
nvidia, 375.26-42.1, 4.4.36-8-default, x86_64: installed
nvidia, 375.26-42.1, 4.9.2-1.g2d3c294-default, x86_64: installed
nvidia, 375.26-42.1, 4.9.2-1.gc693a29-default, x86_64: installed
nvidia, 375.26-42.1, 4.9.3-2.g2c7dfab-default, x86_64: installed
nvidia, 375.26-42.1, 4.9.5-2.g9bb1a8a-default, x86_64: installed

Maybe your dkms was not activated properly, the Nvidia modules not added or something is missing in the build chain in the last TW snapshot?

Could you clarify what you mean by “not activated properly”? Where would one activate dkms?

Here’s what it looks like for me:

# dkms status
nvidia, 375.26, 4.9.6-1-default, x86_64: installed

Looking at the openSUSE Support Data Base here SDB:NVIDIA Bumblebee - openSUSE Wiki
you can find the following:

OPTIONAL: Install NVIDIA driver

Prerequisites: Kernel headers are needed - of course the version has to match with your kernel - if you are unsure, update your system with ‘zypper update’ first.
zypper in linux-glibc-devel

Alternative: you could also just install the ‘devel_kernel’ pattern
zypper in -t pattern devel_kernel

If you want to use the advanced features of the secondary Nvidia graphics card, you can install the proprietary Nvidia driver as follows:

First, add the X11:Bumblebee repository from the Open Build Service. To accomplish this, follow the instructions at this page.

Then, execute the following commands as root:
zypper in nvidia-bumblebee
systemctl enable dkms

If you followed another guide, maybe you have to ask the source for help…

Here’s what it looks like for me:

# dkms status
nvidia, 375.26, 4.9.6-1-default, x86_64: installed

That looks OK, so the kernel module was installed. Disregard my version of bbswitch, that is not part of the standard install.

WARNING: the SDB:NVIDIA_Bumblebee page has just been updated and you no longer find the instructions mentioned in my post #4 there.
But those instructions remain valid as long as you don’t change your install to the new fashion :wink:

So now the normal packages supports installation for Optimus systems (without overwriting Mesa libgl)? That’s nice, although those can’t be used on Tumbleweed.

I’ve enabled the dkms systemd service now. Let’s wait for another kernel update and see if it works.

Seems to work.