clevo-keyboard/README.md

130 lines
4 KiB
Markdown
Raw Normal View History

2023-09-12 13:39:23 +02:00
# The change we made
General Clevo compatibility: Regular Clevo laptops do not have modified UEFI firmware variables like the manufacturer name. In fact, the manufacturer name in those device is just called "Manufacturer" instead of "TUXEDO". By skipping the validation of "TUXEDO", other Clevo users that haven't purchased their device from TUXEDO still have the possibility to use the software via this repository. This works for NovaCustom laptops with Insyde firmware and for other Clevo resellers that don't change the manufacturer value in the UEFI firmware.
Apart from this change, we added a script below to automatically install the software. Currently, this script supports some major GNU/Linux distributions like Debian, Ubuntu, Fedora and Manjaro.
## Automated installation
To install the software automatically, open a terminal and execute:
```sh
2023-09-12 13:44:40 +02:00
wget https://github.com/wessel-novacustom/clevo-keyboard/raw/master/kb.sh && chmod +x kb.sh && sudo ./kb.sh
2023-09-12 13:39:23 +02:00
```
After the installation, reboot the laptop in order to make the application work. You might want to clean up the installation files with the following command:
```sh
sudo rm -rf ~/tuxedo-keyboard/ && rm ~/kb.sh
```
## A special note for Dasharo coreboot firmware users
2023-09-12 13:42:04 +02:00
<a href="https://configurelaptop.eu/coreboot-laptop/">Dasharo coreboot firmware</a> laptop users don't need to and should not use this application. This also applies for users of other coreboot firmware distributions. The keyboard backlight control is already included in the firmware for that firmware version.
2023-09-12 13:39:23 +02:00
# Original unchanged content below
2018-06-08 11:56:32 +02:00
# Table of Content
- <a href="#description">Description</a>
- <a href="#building">Building and Install</a>
- <a href="#using">Using</a>
# Description <a name="description"></a>
2023-03-27 08:28:48 +02:00
TUXEDO Computers kernel module drivers for keyboard, keyboard backlight & general hardware I/O using the SysFS interface (since version 3.2.0)
2018-06-08 11:56:32 +02:00
2020-12-09 12:56:19 +01:00
Features
- Driver for Fn-keys
2023-03-27 08:04:41 +02:00
- SysFS control of brightness/color/mode for most TUXEDO keyboards
2023-03-27 08:28:48 +02:00
- [https://docs.kernel.org/leds/leds-class.html](https://docs.kernel.org/leds/leds-class.html)
- [https://docs.kernel.org/leds/leds-class-multicolor.html](https://docs.kernel.org/leds/leds-class-multicolor.html)
2020-12-09 12:56:19 +01:00
- Hardware I/O driver for TUXEDO Control Center
Modules included in this package
- tuxedo-keyboard
- tuxedo-io
- clevo-wmi
- clevo-acpi
2023-03-27 08:04:41 +02:00
- uniwill-wmi
2018-06-08 11:56:32 +02:00
# Building and Install <a name="building"></a>
2019-10-15 21:59:30 +02:00
## Dependencies:
2018-06-08 11:56:32 +02:00
- make
2023-04-15 22:15:58 +02:00
- gcc or clang
2018-06-08 11:56:32 +02:00
- linux-headers
2019-12-19 18:00:00 +01:00
- dkms (Only when using this module with DKMS functionality)
2018-06-08 11:56:32 +02:00
2019-12-19 18:00:00 +01:00
## Warning when installing the module:
Use either method only. Do not combine installation methods, such as starting with the build step below and proceeding to use the same build artifacts with the DKMS module. Otherwise the module built via dkms will fail to load with an `exec_format` error on newer kernels due to a mismatched version magic.
This is why the DKMS build step begins with a `make clean` step.
For convenience, on platforms where DKMS is in use, skip to the DKMS section directly.
2019-10-15 21:59:30 +02:00
## Clone the Git Repo:
2019-07-10 18:16:25 +02:00
```sh
git clone https://github.com/tuxedocomputers/tuxedo-keyboard.git
cd tuxedo-keyboard
git checkout release
2019-07-10 18:16:25 +02:00
```
2019-10-15 21:59:30 +02:00
## Build the Module:
2018-06-08 11:56:32 +02:00
```sh
make clean && make
```
## The DKMS route:
2018-06-08 11:56:32 +02:00
### Add as DKMS Module:
2018-06-08 11:56:32 +02:00
Install the Module:
2018-06-08 11:56:32 +02:00
```sh
make clean
2019-08-18 21:18:54 +02:00
sudo make dkmsinstall
2018-06-08 11:56:32 +02:00
```
2019-10-15 21:59:30 +02:00
Load the Module with modprobe:
2018-06-08 11:56:32 +02:00
```sh
modprobe tuxedo_keyboard
```
2019-10-15 21:59:30 +02:00
or
```sh
sudo modprobe tuxedo_keyboard
```
2018-06-08 11:56:32 +02:00
You might also want to activate `tuxedo_io` module the same way if you are using [TCC](https://github.com/tuxedocomputers/tuxedo-control-center).
2019-12-19 18:00:00 +01:00
### Uninstalling the DKMS module:
2018-06-08 11:56:32 +02:00
2019-12-19 18:00:00 +01:00
Remove the DKMS module and source:
2018-06-08 11:56:32 +02:00
```sh
sudo make dkmsremove
2019-11-08 21:43:46 +01:00
sudo rm /etc/modprobe.d/tuxedo_keyboard.conf
2018-06-08 11:56:32 +02:00
```
# Using <a name="using"></a>
## modprobe
```sh
modprobe tuxedo_keyboard
```
2019-10-15 21:59:30 +02:00
## Load the Module on boot:
2018-06-08 11:56:32 +02:00
2020-12-09 12:56:19 +01:00
If a module is relevant it will be loaded automatically on boot. If it is not loaded after a reboot, it most likely means that it is not needed.
2018-06-08 11:56:32 +02:00
Add Module to /etc/modules
```sh
sudo su
2019-08-18 21:18:54 +02:00
2018-06-08 11:56:32 +02:00
echo tuxedo_keyboard >> /etc/modules
```