Linux control center for Avell Storm 590X (Clevo barebone) laptops. Per-key RGB keyboard LEDs, rear lightbar, fan control, and thermal monitoring — no Windows required.
Single static binary, zero dependencies.
| Component | Details |
|---|---|
| Keyboard LED Controller | ITE IT8295, USB 048d:8910 |
| Lightbar Controller | ITE 048d:8911 (X58 protocol) |
| Fans | 2x ACPI fans via WMI/hwmon |
| WMI | Clevo WMBB (ABBC0F6D) for fan control |
curl -fsSL https://raw.githubusercontent.com/hugo-andrade/avellcc/main/install.sh | bashThis downloads the latest release, verifies the checksum, installs the binary to /usr/local/bin, sets up udev rules, and installs the systemd restore service.
You can customize the install:
# Install a specific version
VERSION=0.2.0 curl -fsSL https://raw.githubusercontent.com/hugo-andrade/avellcc/main/install.sh | bash
# Install to a custom directory
INSTALL_DIR=~/.local/bin curl -fsSL https://raw.githubusercontent.com/hugo-andrade/avellcc/main/install.sh | bashgo install github.com/hugo-andrade/avellcc@latestNote:
go installonly installs the binary. You still need to set up udev rules manually for non-root access (see udev rules below).
git clone https://github.com/hugo-andrade/avellcc.git
cd avellcc
make installOr manually:
go build -o avellcc .
sudo install -m 755 avellcc /usr/local/bin/Required for non-root access to the keyboard and lightbar HID devices:
sudo cp udev/99-avellcc.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm triggerFan speed control requires the acpi_call kernel module:
# Arch Linux
sudo pacman -S --needed linux-headers acpi_call-dkms
# Debian / Ubuntu
sudo apt install dkms acpi-call-dkms linux-headers-$(uname -r)sudo modprobe acpi_callavellcc keyboard --color red # All keys solid color
avellcc keyboard --color "#FF6600" # Hex color
avellcc keyboard --color 255,100,0 # RGB values
avellcc keyboard --key w --color blue # Single key
avellcc keyboard --key space --color green
avellcc keyboard --brightness 7 # Brightness (0-10)
avellcc keyboard --effect rainbow # Hardware animation
avellcc keyboard --effect sw_rainbow # Software rainbow wave
avellcc keyboard --effect sw_breathing # Software breathing
avellcc keyboard --profile gaming.json # Load profile
avellcc keyboard --off # Turn off
avellcc kb -c red -b 7 # Short aliasavellcc lightbar # Show status and available effects/colors
avellcc lightbar --effect static --color blue --brightness 4
avellcc lightbar --effect wave --speed 5
avellcc lightbar --effect color-wave
avellcc lightbar --effect change-color
avellcc lightbar --effect granular --color cyan
avellcc lightbar --off
avellcc lb -e static -c blue -b 4 -s 3 # Short aliasAvailable effects: static, breathe, wave, change-color, granular, color-wave
Available colors: red, yellow, lime, green, cyan, blue, purple
avellcc fan # Live TUI dashboard (interactive terminal)
avellcc fan --status # Plain text output
avellcc fan --speed 80 # All fans 80%
avellcc fan --speed 100 --fan 1 # Fan 1 at 100%
avellcc fan --auto # Back to automaticThe TUI dashboard shows live RPM sparklines, duty progress bars, and temperatures. Keyboard shortcuts: + max, - min, a auto, q quit.
avellcc keyboard keys # List known key names
avellcc keyboard keys -v # With grid positions
avellcc keyboard calibrate # Interactive key-to-LED calibration
avellcc keyboard firmware # Show keyboard firmware infoJSON files in ~/.config/avellcc/profiles/:
{
"brightness": 10,
"color": "black",
"lightbar": {
"effect": "static",
"color": "blue",
"brightness": 4,
"speed": 3
},
"keys": {
"w": "#FF0000",
"a": "#FF0000",
"s": "#FF0000",
"d": "#FF0000",
"space": "#FF4400",
"esc": "#FFFFFF"
}
}avellcc reload # Reload saved keyboard and lightbar statesudo cp systemd/avellcc.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable avellcc.servicesudo install -Dm755 systemd/system-sleep/avellcc /usr/lib/systemd/system-sleep/avellccBoth the boot service and suspend/resume hook call avellcc reload to restore saved keyboard and lightbar state.
Tip: The quick install script sets up both automatically.
make uninstallOr manually:
sudo systemctl disable --now avellcc.service
sudo rm -f /usr/local/bin/avellcc
sudo rm -f /etc/udev/rules.d/99-avellcc.rules
sudo rm -f /etc/systemd/system/avellcc.service
sudo rm -f /usr/lib/systemd/system-sleep/avellcc
sudo udevadm control --reload-rules
sudo systemctl daemon-reloadHID feature reports on report ID 0xCC (6 bytes) via Linux hidraw.
| Command | Format | Description |
|---|---|---|
| Set key color | CC 01 <led_id> R G B |
Per-key RGB |
| Set brightness | CC 09 <level> 02 00 00 |
Level 0-10 |
| Hardware animation | CC 00 09 00 00 00 |
Random color effect |
LED addressing: led_id = (row << 5) | col on a 6x20 grid.
HID feature reports on report ID 0xCD, command 0xE2, 64-byte frames via hidraw. Protocol reverse-engineered from the Windows CC.Device.LightBar_X58 driver. Details in docs/lightbar-re.md.
ACPI method \_SB.WMI.WMBB (GUID ABBC0F6D, 3 args: instance, command, data).
| Command | Function |
|---|---|
0x63 |
Get fan 1 duty + period |
0x64 |
Get fan 2 duty + period |
0x68 |
Set fan duty (packed: fan1[7:0] | fan2[15:8]) |
0x69 |
Set auto mode (bitmask: bit0=fan1, bit1=fan2) |
Built and tested on Arch Linux. Should work on any distro with hidraw support. Other Clevo-based laptops with ITE IT8295 (TUXEDO, Sager, etc.) should also work.