Extramodules for Zen Kernel

Well, looks like a bit more than just installing zen is required, at least on my machine.

Had a bit of a panic situation this morning when back at my desk (2 monitor setup) after a week off and the nVidia card wouldn’t load any longer. Turns out that all of my kernel extra modules were missing:

Not a big deal because I am now back on the regular kernel and back in business. But as an eager learner :-), what do I have to do to get all these modules linked to the Zen kernel?

By the way, after running Zen for a week I can’t tell a difference between Zen and the regular kernel.

3 Likes

Same here

2 Likes
see

Here is the result of one benchmark test comparing linux-zen an linux-hardened. My guess is that the result is more or less the same for the other kernels as well

Looking at Hardened - #45 by pebcak

2 Likes

Did a bit of research on this but without any luck. Does anyone have an idea why off the three kernels I have installed only one, 5.8.x, has got the extramodules folder?
For LTS to be a true backup kernel I would need all those modules available for LTS as well.

If you want to use modules for other kernels, you should consider using dkms modules instead. Those will work with most other kernels.

3 Likes

LTS has nvidia modules ready-built, vbox should be taken care of by dkms.
(PS: I don’t even have extramodules folder on vanilla 5.8, lol)

2 Likes

Thanks guys, I need to read up on this some more, switching to dkms seems like a pretty fundamental change which I need to better understand before I ruin my current install :slight_smile:

nVidia and vBOX seem to be covered, last one I need is bbswitch.

I think you will find it mostly just works if you install the relevant dkms packages.

1 Like

bbswitch has a dkms package: https://www.archlinux.org/packages/community/x86_64/bbswitch-dkms/

1 Like

Yes, indeed. So I guess I need the base dkms package (#1), nVidia (#2), bbswitch (#5) and the two vBox packages (#11 and #12)

image

No need to remove the existing modules or reconfigure any config files?

You only need vbox-host (12) on the host.

You’ll probably run into a conflict when installing the dkms packages, telling you to remove the prebuilt modules.

1 Like

Excellent! On it now… :drum:

Looks good so far! Now a reboot with LTS…

==> dkms install --no-depmod -m vboxhost -v 6.1.12_OSE -k 5.8.7-arch1-1
==> dkms install --no-depmod -m bbswitch -v 0.8 -k 5.8.7-zen1-1-zen
==> dkms install --no-depmod -m nvidia -v 450.66 -k 5.4.63-1-lts
==> dkms install --no-depmod -m nvidia -v 450.66 -k 5.8.7-zen1-1-zen
==> dkms install --no-depmod -m bbswitch -v 0.8 -k 5.4.63-1-lts
==> dkms install --no-depmod -m nvidia -v 450.66 -k 5.8.7-arch1-1

Good news! Module version 450.66 for nvidia.ko.xz
exactly matches what is already found in kernel 5.8.7-arch1-1.
DKMS will not replace this module.
You may override by specifying --force.

Good news! Module version 450.66 for nvidia-modeset.ko.xz
exactly matches what is already found in kernel 5.8.7-arch1-1.
DKMS will not replace this module.
You may override by specifying --force.

Good news! Module version 450.66 for nvidia-drm.ko.xz
exactly matches what is already found in kernel 5.8.7-arch1-1.
DKMS will not replace this module.
You may override by specifying --force.
==> dkms install --no-depmod -m vboxhost -v 6.1.12_OSE -k 5.4.63-1-lts
==> dkms install --no-depmod -m vboxhost -v 6.1.12_OSE -k 5.8.7-zen1-1-zen
==> dkms install --no-depmod -m bbswitch -v 0.8 -k 5.8.7-arch1-1
==> depmod 5.8.7-arch1-1
==> depmod 5.4.63-1-lts
==> depmod 5.8.7-zen1-1-zen
1 Like

I think you’re fine :slight_smile:

2 Likes

I am indeed, all services up and running with the LTS kernel. That was indeed a lot easier than expected!
Thanks for helping along :+1:t2:

$ sudo dkms status
bbswitch, 0.8, 5.4.63-1-lts, x86_64: installed
bbswitch, 0.8, 5.8.7-arch1-1, x86_64: installed
bbswitch, 0.8, 5.8.7-zen1-1-zen, x86_64: installed
nvidia, 450.66, 5.4.63-1-lts, x86_64: installed
nvidia, 450.66, 5.8.7-arch1-1, x86_64: installed (original_module exists) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
nvidia, 450.66, 5.8.7-zen1-1-zen, x86_64: installed
vboxhost, 6.1.12_OSE, 5.4.63-1-lts, x86_64: installed
vboxhost, 6.1.12_OSE, 5.8.7-arch1-1, x86_64: installed
vboxhost, 6.1.12_OSE, 5.8.7-zen1-1-zen, x86_64: installed

According to this https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_Support upgrades seem to take care of themselves as well.

Is there anything else I need to know as a fresh dkms user?

2 Likes

Well if you don’t need any other extramodules, and use only the dkms packages and kernels that come directly from the repos, then I think you don’t have to worry.

dkms can sometimes get complicated if you 1) use a custom kernel, 2) use clang compiler and 3) want to sign your extramodules.

EDIT: semi off-topic:
Funnily enough, in some cases (custom kernel) you can have both dkms and the extramodule installed, in which case the extramodule takes precedence.

1 Like

Looks like there is a bit more to dkms, as this morning when I put my laptop in it’s dock my primary screen, which is attached via the nVidia card, goes dark after a few minutes?
In fact, both screens will go dark for a second and then only the secondary screen will come back.
Rebooted twice now with the same results. Nothing obvious in journalctl.

The strange thing is that I can see a cursor, and the cursor will move on both screens in parallel but none of the application windows on the primary screens show. I can try to drag them over to the working second screen and will catch one by chance.
Maybe it’s Plasma or X which is struggling with the screen reset…

Coincidentally a new nVidia dkms driver arrived this morning so maybe this bug is because of the new nVidia driver and not the switch to dkms. I’ll report back once I know more.


Update: Had a few more crashes yesterday, some so bad that I couldn’t even rescue the machine with REISUB. After another bad one this morning I decided to roll back step by step, starting with the nVidia driver.
Installed the standard nVidia driver and didn’t have a crash all morning. Yesterday I was able to reliably crash the machine just be plugin in a USB device. Today things seem to be back to normal.

Interestingly yay didn’t ask me if I want to replace the dkms driver but simply installed. Means I don’t even know what I am running now? Is there a way to determine if I am running dkms or standard driver?