The status and the future of TUXEDO / Clevo WMI

Issue #44 new
Christian Loritz created an issue

Hi folks,

In this mail i will inform of the current status and the future of the TUXEDO / Clevo WMI kernel module.

The current status

When we look up the WMI Module we find the following functionality

  • Controlling the Keyboard color and brightness
  • Controlling the LEDs
  • Poll the Hotkeys
  • RFKILL subdriver
  • hwmon Support
  • EXPERIMENTAL Fan Support over hwmon

Yes, the Kernel Module have 6 use cases, that's great or? NO!

What is the problem with the current state

Short Version: This is too big and ugly.

Long Version:

All Software they have a big code base, are terrible maintainable. When we show the code we see the big struct dmi_system_id named "clevo_xsm_dmi_table" and keep going with the code style, all logic in one file, and so on.
Another example, add a new device. For adding a new device, add the lines into clevo_xsm_dmi_table and the devices should working. On the other side, the list was longer and longer. We search to a solution to fix it.
In the Kernel module gives too many use cases. The best is we split the cases into separate kernel modules.

What is our plan of the TUXEDO WMI

We have the following plans

  • Split the Kernel module into separates modules (Keyboard, Hotkeys, hwmon/Fan, and so on...)
  • Upstreaming the driver in the mainline kernel (We have contact with a kernel developer)
  • Clean Up the code
  • Rename the project

Cheers
Chris

Comments (5)

  1. Alexandre Moraes

    Sup Chris!

    Keep up the good work! I love what you guys have done with this kernel module!

    Question. When you refer to the "Experimental fan support" you mean controlling it? As of today, when I turn my notebook on, the fans starts to work like crazy after a few minutes and never stops.

    Cheers from Brazil.

  2. Christian Loritz reporter

    Hi folks,

    we have finish the first step of refectoring the kernel modul and publsh today the new kernel modul on github (https://github.com/tuxedocomputers/tuxedo-keyboard).

    @alcmoraes i have not been currently tested the fan support. We need more information about fan controlling for implement a new module. But this task is on our task list.

    Cheers Chris

  3. Wojciech Żupa

    Great job! I have been trying this module before with no success (Archlinux). After splitting the code - using keyboard module, everything works great on my cleveo laptop. Thanks! And keep up the good work!

  4. Matheus Afonso Martins Moreira

    @tuxedo_cl What information do you need to implement the fan control? How can we help?

    I've been reading what I could find. It appears there is a dedicated microprocessor (ACPI embedded controller) that implements both the monitoring of CPU and GPU temperatures and individual fan speed control. Someone developed a fan controller based on a leaked Clevo program called ECView.

    Do you plan to integrate support for other Clevo models? My laptop's keyboard allows setting the backlight color of each individual key but tuxedo-keyboard supports 3 different regions only.

  5. Christian Loritz reporter

    @matheusmoreira @alcmoraes We working currently on a Fan Control at TUXEDO. The Implementation looks like at the moment fine, but we adjust the Fan Tables.

    If you have interest for testing it, send us a mail to tux@tuxedocomputers.com and refer to this thread (Pls write witch model you use). We plan to the next week roll out internally the beta

    Cheers Chris

  6. Log in to comment