Use with tuxedo_keyboard module?
Opened this issue · 3 comments
Hi there, first of all, thank you very much for your work on controlling the backlight for this laptop!
In my case, I need to turn off the backlight by default with ite8291r3-ctl
and then occasionally turn it on with the Fn+F7/F6 keys. I also install and load the tuxedo_keyboard
to turn off the lightbar. But with this loaded, it shows an OSD for the keyboard backlight change, but the backlight level doesn't actually change. Is there any way to use both concurrently?
Thanks again.
I think the problem is that the tuxedo-wmi
kernel module switches the embedded controller (or parts of the firmware) to some kind of manual mode. In this manual mode, the keyboard hotkeys do not change the backlight, only emit an event, which may be processed by a kernel module. The tuxedo-wmi
then converts these events to appropriate Linux events, which then get processed by your desktop environment, which then changes the backlight via upower, which controls the LED class devices created by the tuxedo_keyboard
driver. However, running ite8291r3-ctl
detaches any kernel drivers from the device, and thus the LED class devices goes away, and upower is no longer able to set the brightness.
At the moment, there is no convenient way to use this program and any kernel-space solution at the same time.
For the moment, you might want to check if the qc71_laptop
kernel module can control the lightbar. That, and this program can be used concurrently - because the qc71_laptop
does not switch the embedded controller to this "manual mode", so the keyboard hotkeys remain functional, as they are handled by the firmware. Of course, then the tuxedo control center won't work... and you will not be able to manually control the fan.
Thanks a lot for the helpful response. That makes sense, I'll keep an eye on the qc71_laptop
module, it's currently not packaged for openSUSE and I hate dealing with compiling modules and DKMS and all that. The Tuxedo Control Center wouldn't be a huge loss, it feels kind of bloated and brings along tons of dependencies. And in case this helps anyone, regarding fan control I just discovered a very nice and easy solution for my needs, described here:
https://linux.org/threads/how-to-use-tlp-profile-in-battery-mode-but-with-1-exception.36636
An update:
I managed to compile qc71_laptop
with the openSUSE OBS. It seems to work well. I use a Systemd service to run ite8291r3-ctl off
at boot, and another one to run echo 0 > /sys/class/leds/qc71_laptop::lightbar/brightness
. With this, it boots and resumes from suspend with the backlight and lightbar turned off, which is how I want it. It won't let me use the Fn keys to adjust the brightness after running ite8291r3-ctl off
, but after turning using the GUI to turn on mono white mode, then the keys will also work to increase/decrease brightness or to turn it off. It's a decent solution.