Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 1 commit ahead of rafaelgieschke:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Kernel module for keyboard backlighting of Clevo SM series notebooks. (And several EM/ZM/DM series models)

Based upon tuxedo-wmi, created by TUXEDO Computers GmbH.

Additions over tuxedo-wmi

  • Sysfs interface to control the brightness, mode, colour, on/off state after the module has loaded. In the original code you can only set these before the module loads.
  • Small QT based application to visually control the keyboard lighting using the sysfs interface.
  • Cycle through colours rather than modes with the keyboard key.
  • Experimental support for touchpad illumination / lower led bar on the front of the machine.



  • standard compile stuff (c compiler, make, etc)
  • linux-headers
  • qt5-base (for utility)

Fedora 22+ Dependencies:

  • use qmake-qt5 instead of qmake
  • install qt5-qt3d-devel with DNF


# For the module
$ cd module && make && sudo make install

# For the utility
$ cd utility && qmake && make
$ sudo install -Dm755 clevo-xsm-wmi /usr/bin/clevo-xsm-wmi
$ sudo install -Dm755 systemd/clevo-xsm-wmi.service /usr/lib/systemd/system/clevo-xsm-wmi.service


Adjusting keyboard settings:

$ sudo clevo-xsm-wmi

Restoring state during boot:

# With the module:
$ modinfo clevo-xsm-wmi
$ sudo tee /etc/modprobe.d/clevo-xsm-wmi.conf <<< options clevo-xsm-wmi kb_color=white,white,white kb_brightness=1

# With systemd:
$ sudo systemctl enable clevo-xsm-service
$ sudo systemctl start clevo-xsm-service

# With others:
run '/usr/bin/clevo-xsm-wmi -r' at boot to restore state
run '/usr/bin/clevo-xsm-wmi -s' at shutdown/change to save state


Arch Linux: Module DKMS Utility

Common issues

  • 'Can't read private key' during 'make install'.

This is a common issue on Ubuntu as the module isn't signed so manual install is required.

$ sudo install -m644 clevo-xsm-wmi.ko /lib/modules/$(uname -r)/extra
$ sudo depmod
  • Module installed but not loaded during boot.

Specify that the module should be loaded just in case.

$ sudo tee /etc/modules-load.d/clevo-xsm-wmi.conf <<< clevo-xsm-wmi
  • I'm absolutely positive that the module is installed but still nothing happens!
$ sudo modprobe clevo-xsm-wmi
$ dmesg | grep clevo

If it returns no line such as 'clevo_xsm_wmi: Model Clevo P15SM found', then your model isn't supported. Please open an issue and supply the output of 'uname -a', 'sudo dmidecode' and 'dmesg | grep clevo'.


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see