Kernel fails to compile due to the module tuxedo-keyboard

After a update to kernel 6.11 through the normal KDE update procedure, i.e. Discover and/or pkcon upon rebuilding the kernel the build modules process fails and the computer cannot be booted. The way I recovered from this situation was, from the grub menu select an older kernel in order to boot Neon, then delete the following directory and it’s contents, /var/lib/dkms/tuxedo-keyboard/

Then if you run sudo apt autoremove the kernel modules get built without error.

I don’t really know whether this is a kernel or a packaging issue so posted here instead of in KDE bugs.

Here are the errors you get

make -j20 KERNELRELEASE=6.11.0-17-generic KDIR=/lib/modules/6.11.0-17-generic/build…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.11.0-17-generic (x86_64)
Consult /var/lib/dkms/tuxedo-keyboard/3.0.10/build/make.log for more information.
dkms autoinstall on 6.11.0-17-generic/x86_64 succeeded for nvidia virtualbox
dkms autoinstall on 6.11.0-17-generic/x86_64 failed for tuxedo-keyboard(10)
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.

  • dkms: autoinstall for kernel 6.11.0-17-generic
    …fail!
    run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 11
    dpkg: error processing package linux-headers-6.11.0-17-generic (–configure):
    installed linux-headers-6.11.0-17-generic package post-installation script subprocess returned error exit status 11
    Setting up linux-headers-6.8.0-53-generic (6.8.0-53.55) …
    /etc/kernel/header_postinst.d/dkms:
  • dkms: running auto installation service for kernel 6.8.0-53-generic
    Sign command: /usr/bin/kmodsign
    Signing key: /var/lib/shim-signed/mok/MOK.priv
    Public certificate (MOK): /var/lib/shim-signed/mok/MOK.der

Building module:
Cleaning build area…
make -j20 KERNELRELEASE=6.8.0-53-generic KDIR=/lib/modules/6.8.0-53-generic/build…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.8.0-53-generic (x86_64)
Consult /var/lib/dkms/tuxedo-keyboard/3.0.10/build/make.log for more information.
dkms autoinstall on 6.8.0-53-generic/x86_64 succeeded for nvidia virtualbox
dkms autoinstall on 6.8.0-53-generic/x86_64 failed for tuxedo-keyboard(10)
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.

  • dkms: autoinstall for kernel 6.8.0-53-generic
    …fail!
    run-parts: /etc/kernel/header_postinst.d/dkms exited with return code 11
    dpkg: error processing package linux-headers-6.8.0-53-generic (–configure):
    installed linux-headers-6.8.0-53-generic package post-installation script subprocess returned error exit status 11
    Setting up linux-image-6.11.0-17-generic (6.11.0-17.17~24.04.2) …
    I: /boot/initrd.img.old is now a symlink to initrd.img-6.11.0-17-generic
    dpkg: dependency problems prevent configuration of linux-headers-generic:
    linux-headers-generic depends on linux-headers-6.8.0-53-generic; however:
    Package linux-headers-6.8.0-53-generic is not configured yet.

dpkg: error processing package linux-headers-generic (–configure):
dependency problems - leaving unconfigured
Setting up linux-image-6.8.0-53-generic (6.8.0-53.55) …
I: /boot/initrd.img is now a symlink to initrd.img-6.8.0-53-generic
dpkg: dependency problems prevent configuration of linux-headers-generic-hwe-24.04:
linux-headers-generic-hwe-24.04 depends on linux-headers-6.11.0-17-generic; however:
Package linux-headers-6.11.0-17-generic is not configured yet.

dpkg: error processing package linux-headers-generic-hwe-24.04 (–configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic:
linux-generic depends on linux-headers-generic (= 6.8.0-53.55+1); however:
Package linux-headers-generic is not configured yet.

dpkg: error processing package linux-generic (–configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-generic-hwe-24.04:
linux-generic-hwe-24.04 depends on linux-headers-generic-hwe-24.04 (= 6.11.0-17.17~24.04.2+2); however:
Package linux-headers-generic-hwe-24.04 is not configured yet.

dpkg: error processing package linux-generic-hwe-24.04 (–configure):
dependency problems - leaving unconfigured
Processing triggers for man-db (2.12.0-4build2) …
Not building database; man-db/auto-update is not ‘true’.
Processing triggers for libc-bin (2.39-0ubuntu8.4) …
Processing triggers for linux-image-6.11.0-17-generic (6.11.0-17.17~24.04.2) …
/etc/kernel/postinst.d/dkms:

  • dkms: running auto installation service for kernel 6.11.0-17-generic
    Sign command: /usr/bin/kmodsign
    Signing key: /var/lib/shim-signed/mok/MOK.priv
    Public certificate (MOK): /var/lib/shim-signed/mok/MOK.der

Building module:
Cleaning build area…
make -j20 KERNELRELEASE=6.11.0-17-generic KDIR=/lib/modules/6.11.0-17-generic/build…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.11.0-17-generic (x86_64)
Consult /var/lib/dkms/tuxedo-keyboard/3.0.10/build/make.log for more information.
dkms autoinstall on 6.11.0-17-generic/x86_64 succeeded for nvidia virtualbox
dkms autoinstall on 6.11.0-17-generic/x86_64 failed for tuxedo-keyboard(10)
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.

  • dkms: autoinstall for kernel 6.11.0-17-generic
    …fail!
    run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
    dpkg: error processing package linux-image-6.11.0-17-generic (–configure):
    installed linux-image-6.11.0-17-generic package post-installation script subprocess returned error exit status 11
    Processing triggers for linux-image-6.8.0-53-generic (6.8.0-53.55) …
    /etc/kernel/postinst.d/dkms:
  • dkms: running auto installation service for kernel 6.8.0-53-generic
    Sign command: /usr/bin/kmodsign
    Signing key: /var/lib/shim-signed/mok/MOK.priv
    Public certificate (MOK): /var/lib/shim-signed/mok/MOK.der

Building module:
Cleaning build area…
make -j20 KERNELRELEASE=6.8.0-53-generic KDIR=/lib/modules/6.8.0-53-generic/build…(bad exit status: 2)
Error! Bad return status for module build on kernel: 6.8.0-53-generic (x86_64)
Consult /var/lib/dkms/tuxedo-keyboard/3.0.10/build/make.log for more information.
dkms autoinstall on 6.8.0-53-generic/x86_64 succeeded for nvidia virtualbox
dkms autoinstall on 6.8.0-53-generic/x86_64 failed for tuxedo-keyboard(10)
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.

  • dkms: autoinstall for kernel 6.8.0-53-generic
    …fail!
    run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
    dpkg: error processing package linux-image-6.8.0-53-generic (–configure):
    installed linux-image-6.8.0-53-generic package post-installation script subprocess returned error exit status 11
    Errors were encountered while processing:
    linux-headers-6.11.0-17-generic
    linux-headers-6.8.0-53-generic
    linux-headers-generic
    linux-headers-generic-hwe-24.04
    linux-generic
    linux-generic-hwe-24.04
    linux-image-6.11.0-17-generic
    linux-image-6.8.0-53-generic
    E: Sub-process /usr/bin/dpkg returned an error code (1)

These were the errors from the tuxedo-keyboard make file:

more /var/lib/dkms/tuxedo-keyboard/3.0.10/build/make.log
DKMS make.log for tuxedo-keyboard-3.0.10 for kernel 6.8.0-53-generic (x86_64)
Fri 14 Feb 14:44:42 GMT 2025
make -C /lib/modules/6.8.0-53-generic/build M=/var/lib/dkms/tuxedo-keyboard/3.0.10/build modules
make[1]: warning: jobserver unavailable: using -j1. Add ‘+’ to parent make rule.
make[1]: Entering directory ‘/usr/src/linux-headers-6.8.0-53-generic’
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
CC [M] /var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/tuxedo_keyboard.o
In file included from /var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/tuxedo_keyboard.c:21:
/var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/tuxedo_keyboard_common.h:64:6: warning: no previous prototype
for ‘sparse_keymap_report_known_event’ [-Wmissing-prototypes]
64 | bool sparse_keymap_report_known_event(struct input_dev *dev, unsigned int code,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/tuxedo_keyboard.c:22:
/var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_keyboard.h:727:5: warning: no previous prototype for ‘c
levo_keyboard_init’ [-Wmissing-prototypes]
727 | int clevo_keyboard_init(void)
| ^~~~~~~~~~~~~~~~~~~
CC [M] /var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_wmi.o
/var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_wmi.c:67:5: warning: no previous prototype for ‘clevo_w
mi_interface_method_call’ [-Wmissing-prototypes]
67 | u32 clevo_wmi_interface_method_call(u8 cmd, u32 arg, u32 *result_value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC [M] /var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_acpi.o
/var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_acpi.c:87:5: warning: no previous prototype for ‘clevo_
acpi_interface_method_call’ [-Wmissing-prototypes]
87 | u32 clevo_acpi_interface_method_call(u8 cmd, u32 arg, u32 *result_value)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_acpi.c:139:6: warning: no previous prototype for ‘clevo
_acpi_notify’ [-Wmissing-prototypes]
139 | void clevo_acpi_notify(struct acpi_device device, u32 event)
| ^~~~~~~~~~~~~~~~~
/var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_acpi.c:183:27: error: initialization of ‘void (
)(struc
t acpi_device )’ from incompatible pointer type ‘int ()(struct acpi_device *)’ [-Werror=incompatible-pointer
-types]
183 | .remove = clevo_acpi_remove,
| ^~~~~~~~~~~~~~~~~
/var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_acpi.c:183:27: note: (near initialization for ‘clevo_ac
pi_driver.ops.remove’)
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/tuxedo-keyboard/3.0.10/build/./src/clevo_acpi.o] Error
1
make[2]: *** [/usr/src/linux-headers-6.8.0-53-generic/Makefile:1925: /var/lib/dkms/tuxedo-keyboard/3.0.10/buil
d] Error 2
make[1]: *** [Makefile:240: __sub-make] Error 2
make[1]: Leaving directory ‘/usr/src/linux-headers-6.8.0-53-generic’
make: *** [Makefile:29: all] Error 2

It is a packaging error the added out of tree module tuxedo-keyboard causes it to fail to upgrade when it broken files try to be built. I doubt you have such a keyboard to need the driver for that is not included in the default kernel but in the dkms build system. the solution as you have found is too remove the junk from the system to prevent it from being built. Seems to be an ubuntu feature that is breaking the upgrade as that does not exist on my Debian system.

root@9600k:~# apt-cache search tuxedo keyboard dkms
root@9600k:~# 

Use the command above to find how it is named in their system then.

root@9600k:~# apt --purge remove tuxedo-keyboard-dkms

If that is how it is named and it will never darken your doorstep again with its brokenness.

Edit: You may want to check their bug tracker to see if has been reported, if not report it so they can further clean up their mess that is the disaster of a release they have done.

1 Like

If you are using a clevo based laptop you may switch to this fork of tuxedo-keyboard

otherwise you can try with the replacing tuxedo-drivers

1 Like

Thanks for your help. Yes I am indeed running a Clevo based laptop made by Novatech.

I’ll give that software a try. Thanks.

1 Like

It’s all coming back to me now!

Back in 2020 I installed the tuxedo-keyboard driver direct from github tuxedocomputers/tuxedo-keyboard to enable control of the keyboard lights.

And I can see your software is a fork of that software but with bug fixes.

Thanks again for reminding me and I’ll downloaded your updated version tomorrow.

1 Like