Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 933268

Summary: app-laptop/tuxedo-drivers didn't get an initramfs use flag
Product: Gentoo Linux Reporter: Antonio Perra <antoperra692>
Component: Current packagesAssignee: Marc Schiffbauer <mschiff>
Status: RESOLVED INVALID    
Severity: normal CC: antoperra692, mschiff
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Output of the emerge --info command

Description Antonio Perra 2024-05-31 14:24:20 UTC
Created attachment 894727 [details]
Output of the emerge --info command

During the last update to the dracut kernel module handling, the packages that Dracut would have loaded in the kernel by default received an "initramfs" use flag. That didn't happen for app-laptop/tuxedo-drivers, which contains the drivers one would want to load in case of running Gentoo on a Tuxedo laptop.

Before the Dracut changes, it was possible to list the modules in a file inside /etc/modules-load.d and Dracut would automatically find them and generate an initramfs that would allow them to be loaded. Now Dracut can't detect the drivers anymore and generates an initramfs that's able to boot the system, but without the functionalities the Tuxedo drivers provide (fan control, power profiles and keyboard lighting). Since the drivers stopped being loaded, but an override was proposed in the news article, I've added a new file in /etc/dracut.conf.d called tuxedo-drivers.conf. Its content is as follows:

add_drivers+=" clevo_acpi clevo_wmi tuxedo_keyboard uniwill_wmi tuxedo_io "

I've also tried to name the file /etc/dracut.conf.d/10-tuxedo-drivers.conf, but the following results were the same.

Even when the override set, Dracut couldn't find and load the drivers. The error lines in Dracut's logs are the following:

 dracut-install: Failed to find module 'clevo_acpi'
 dracut[E]: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.DEVAgC/initramfs --kerneldir /lib/modules/6.6.30-gentoo-dist/ -m clevo_acpi clevo_wmi tuxedo_keyboard uniwill_wmi tuxedo_io 

Note: the module 'clevo_acpi' is the first one in the file inside /etc/modules-load.d. By changing the order of the drivers in the file, Dracut will always point out the fact that it can't find the first module on the drive, then generate the initramfs without the tuxedo drivers.

My system is running the dist kernel, version 6.6.30.

The custom file I've been mentioning is /etc/modlues-load.d/tuxedo.conf. I've created it personally, by copying the one described in the following wiki article:

https ://wiki .gentoo. org/wiki/TUXEDO_Software
(This is a new account, so I still can't share URLs. Apologies for the inconvenience)

(Note: this article is quite out of date, but the information about loading the drivers was still enough to get the drivers working until the dracut changes. The only outdated bit of information is the name of the package, which is now app-laptop/tuxedo-drivers.)

The /etc/modules-load.t/tuxedo conf file content, in my pc, is as follows:

tuxedo_keyboard
tuxedo_io
clevo_acpi
clevo_wmi

This is the first bug I'm reporting, so I hope I followed the filing process correctly, in case more information is needed or I missed something, I'll be here to provide it. Thanks in advance.
Comment 1 Marc Schiffbauer gentoo-dev 2024-06-02 20:23:02 UTC
Hi Antonio,

thanks for reporting!

The source itself is installing a file called /usr/lib/dracut/dracut.conf.d/10-tuxedo-drivers.conf with the following content:

omit_drivers+=" tuxedo_nb04_wmi_ab clevo_acpi tuxedo_nb04_keyboard tuxedo_io tuxedo_nb05_sensors ite_8291 ite_829x tuxedo_nb04_power_profiles tuxedo_keyboard tuxedo_nb05_keyboard clevo_wmi tuxedo_nb04_sensors ite_8291_lb tuxedo_nb04_wmi_bs tuxedo_nb05_ec uniwill_wmi tuxedo_nb05_fan_control tuxedo_nb05_power_profiles tuxedo_nb02_nvidia_power_ctrl ite_8297 tuxedo_nb05_kbd_backlight tuxedo_compatibility_check tuxedo_nb04_kbd_backlight "

So as you can see, upstream considers their drivers not being required during boot.

I agree that the tuxedo drivers are not critical for bootup so why would you want to add them to your initramfs?

Normally you only let dracut or any other initrd building tool inclute drivers critical for boot like storage and maybe network drivers.

Cheers
-Marc
Comment 2 Antonio Perra 2024-06-03 18:45:18 UTC
Hello Marc,

I've been reading the news article and your answer some more and it seems I misunderstood the role of an initrd tool. I'm still new to Gentoo and I still have much to learn. I understand the point now and, given your definition of critical modules, I agree that the Tuxedo drivers don't fit it. I tried to add them to the kernel in hope for them to be loaded when they stopped working out of the blue after the Dracut update, but maybe it wasn't the right thing to do and I assumed Dracut to be the issue.

Regardless, with today's update, the Tuxedo drivers seem to have resumed working out of the box. I'll keep an eye on them, but the problem seems solved.

Thank you very much for your time on the matter. I'll be sure to read more in the future.

Best regards,
-Antonio
Comment 3 Marc Schiffbauer gentoo-dev 2024-06-03 21:19:49 UTC
(In reply to Antonio Perra from comment #2)
> Hello Marc,

Hey Antonio,

[…]

> Regardless, with today's update, the Tuxedo drivers seem to have resumed
> working out of the box. I'll keep an eye on them, but the problem seems
> solved.

Thanks for your update and all the best!

I will close this bug now.
-Marc