Free and open source · Linux
Keyboard lighting, fans and performance modes for Linux laptops
The control center your laptop's vendor app never shipped for Linux. Detected and configured automatically.
Version 1.1.0 · October 17, 2026 · .deb and AppImage · GPL-3.0-or-later

For laptops whose lighting, fans and performance modes live in a Windows-only app
- Armoury Crate
- NitroSense
- PredatorSense
- OMEN Gaming Hub
- MSI Center
- MyASUS
What it does
The whole laptop, one control center.
One control center
Live CPU and GPU temperatures, fan speeds and battery, the performance mode and the keyboard on a single screen, in a dark or light look.
Keyboard lighting for almost any laptop
White backlights, single-zone, multi-zone and per-key RGB, through the kernel, built-in drivers for common USB controllers, or OpenRGB.
Performance modes and fans
Switch Silent, Balanced and Performance in sync with your desktop's power settings, draw fan curves per mode on ASUS laptops, and run the fans at full speed.
Battery charge limit
Stop charging at 60 or 80 % on laptops with a charge threshold or conservation mode, and keep it set across reboots and sleep.
The launch key works
The key that opens Armoury Crate, NitroSense, OMEN Gaming Hub or MSI Center on Windows opens ByteKeys instead, even when it is closed.
Modes and effects
Static, Breathing, Color cycle, Wave, Strobe and more, with animated previews. The keyboard's own modes when it has them, software effects on every keyboard.
Zones and per-key color
Click or drag over keys in the live keyboard preview to color them, one zone or one key at a time.
Automations
When this happens, do that: dim on battery, turn off when idle, a night schedule, low battery and overheat warnings, a Caps Lock indicator.
Safe by design
A small root service does the hardware work and the control center runs as you. Fan curves are checked against safety limits, and keyboard memory writes are opt-in.
The control center
Six pages. Dark and light.
Temperatures, fan speeds and CPU load, the performance mode, quick keyboard controls (power, brightness, mode, color) and the battery with its charge limit.

Performance and fans
Quiet when you work. Full power when you play.
Switch Silent, Balanced and Performance in sync with your desktop's power settings. On ASUS laptops, draw a fan curve for each fan and each mode, or run the fans at full speed. Set a battery charge limit so a laptop that lives on its charger lasts longer.

| Feature | Works on | Through |
|---|---|---|
| Performance modes | Laptops whose firmware offers an ACPI platform profile: ASUS, Lenovo, Dell, HP, Acer, Samsung, Huawei, System76, TUXEDO, ThinkPad and more | platform_profile, via power-profiles-daemon when it runs |
| Custom fan curves (8 points per fan, per mode) | ASUS laptops with firmware fan curves (most TUF and ROG since 2021) | asus-wmi asus_custom_fan_curve |
| Full fan speed | ASUS laptops with "SPEC 8.3" fans | asus-wmi |
| Battery charge limit | ASUS, ThinkPad, Dell, Huawei, LG, Samsung, MSI, System76, Toshiba, Fujitsu and others with a charge threshold; Lenovo IdeaPad and Legion conservation mode | charge_control_end_threshold, charge_types, conservation_mode |
| Temperatures and fan speeds | Everything with hwmon sensors; NVIDIA GPUs through nvidia-smi without waking the GPU | hwmon |
Launch key
The Armoury Crate key opens ByteKeys.
ByteKeys knows the key of your laptop and can learn any other special key in Settings. With the service running, the key brings ByteKeys to the front from anywhere. On GNOME and KDE Plasma it also adds a desktop shortcut, so the key starts ByteKeys when it is closed. The service watches only that one key.
| Laptop | Key |
|---|---|
| ASUS TUF and ROG with WMI hotkeys (e.g. TUF F15 FX507) | Armoury Crate |
| ASUS ROG and newer TUF with an N-KEY keyboard (hid-asus) | Armoury Crate / ROG |
| ASUS Zenbook and Vivobook | MyASUS |
| Acer Nitro and Predator | NitroSense / PredatorSense |
| HP OMEN and Victus | OMEN |
| MSI gaming | MSI Center |
| MSI Modern and Prestige | Creation Center |
| Samsung Galaxy Book | Samsung Settings (Fn+F1) |
| Huawei MateBook | PC Manager |
Keyboard lighting
Effects on every keyboard.
One-click modes for the everyday looks: Static, Breathing, Color cycle, Wave and Strobe, with animated previews. Your keyboard's own hardware modes are used when it has them, and these software effects work on every keyboard, even plain white ones:
- Breathing
- Blink
- Color cycle
- Wave
- Gradient
- Starlight
- Reactive typing
- Candle

Automation
When this happens, do that.
Automations apply top to bottom, and a manual change wins until the automation stops applying. Ready-made ones come with ByteKeys, all off until you turn them on:
- Turn off when idleafter 2 minutes without input
- Dim on batteryto 40%
- Night modethe Night profile from 22:00 to 07:00
- Low battery warninga red pulse below 15%
- Caps Lock indicatorRGB keyboards
- Overheat warningan orange pulse above 90 °C, RGB keyboards
When
- Power source is on battery or plugged in
- Battery is below a level
- Time is between two times
- No keyboard or mouse input for a while
- Caps Lock is on
- CPU is hotter than a temperature
- CPU load is above a level
- Room is darker than a light level
Do
- Turn the lights off
- Set brightness
- Set color
- Play an effect
- Switch to profile
- Flash as a warning
- Color by CPU temperature
- Color by battery level
- Color by CPU load
Command line
Scripts and keyboard shortcuts.
Lighting, performance modes, fans and the charge limit are all one bytekeys command away. Bind bytekeys brightness up, bytekeys brightness down or bytekeys toggle to shortcuts for laptops whose Fn keys don't reach the backlight.
bytekeys status # keyboards and their lightingbytekeys brightness 60 # or: up / downbytekeys mode breathing # static, breathing, cycle, wave, strobebytekeys color "#ff8800" # whole keyboardbytekeys color red green blue white # one color per zonebytekeys profile apply Nightbytekeys perf performance # quiet, balanced, performance...bytekeys fans # temperatures, fan speeds and fan curvesbytekeys fans boost on # full fan speedbytekeys charge-limit 80 # stop charging at 80 %bytekeys report # diagnostics for bug reportsHow it works
A small root service owns the hardware. Everything else runs as you.
Clients, as your user
- Control center (bytekeys-gui)
- Command line (bytekeys)
- Tray icon
bytekeysd, as root
Applies lighting, renders effects, runs automations, switches performance modes, keeps fan curves and the charge limit active, and restores everything after boot and resume.
Hardware
- Kernel LED drivers (/sys/class/leds, WMI zones)
- USB HID controllers (/dev/hidraw*)
- Platform profile, hwmon fan curves, battery
- OpenRGB SDK server (TCP 6742)
- Who may change thingsAnyone may read the service's state. Only root, the
bytekeysgroup and the user at the active local session may change it. - No keyloggingIt notes when an input event happened, for idle automations and the Reactive effect. The only key it ever looks at is your launch key.
- Portable modeWithout the service, the control center and the command line run the same engine themselves, with whatever your user may access.
Supported keyboards
From plain white backlights to per-key RGB.
Keyboard lights the kernel exposes (ASUS, ThinkPad, Dell, System76, TUXEDO, Clevo, Apple, Framework, Chromebooks, Samsung, LG, Toshiba, Sony), common USB controllers (Lenovo Legion 4-zone, ITE 8291 per-key, ASUS ROG Aura, Dell G-series and Alienware, MSI 3-zone, HID LampArray) and everything OpenRGB supports.
- ASUS TUF GamingTested
RGB; Static, Breathing, Color cycle, Strobe, Pulse; boot, awake and sleep lighting
- ASUS ROG (USB Aura)Experimental
RGB; Breathing, Color cycle, Wave, Pulse
- Lenovo Legion, LOQ and IdeaPad Gaming 4-zoneExperimental
4 zones; Breathing, Color cycle, Wave
- Clevo, Tongfang, XMG, Eluktronics and TUXEDO per-key (ITE 8291)Experimental
Per-key; 9 hardware effects
- TUXEDO, Clevo and Uniwill with tuxedo-driversSupported
1-zone, 3-zone or per-key; hardware modes
- System76Supported
RGB or white
- Dell G15 and G16, Alienware (AW-ELC)Experimental
4 zones; Breathing
14 keyboard families: 1 tested, 7 supported and 6 experimental. See all of them.
Open source
Free software. Help it reach your laptop.
ByteKeys is released under the GPL-3.0-or-later and written in Python: the standard library only, plus Qt for the control center. The most valuable help is a hardware report, especially for keyboards marked Experimental. Adding a keyboard is usually one small driver class.
Questions
Frequently asked
Is ByteKeys free?
Yes. ByteKeys is free and open-source software, released under the GNU General Public License v3.0 or later. The source is on GitHub.
Is ByteKeys an Armoury Crate alternative for Linux?
On ASUS laptops it gives Linux keyboard lighting, performance modes, custom fan curves, full fan speed, a battery charge limit and live temperatures, and the Armoury Crate key opens it. It isn't made by ASUS and doesn't do everything Armoury Crate does. It also works on Acer, HP, MSI, Lenovo, Dell and other laptops, with the controls each one's firmware offers.
Which laptops does ByteKeys support?
Keyboard lighting works on laptops whose keyboard light the Linux kernel exposes (ThinkPad, Dell, ASUS, System76, TUXEDO, Apple, Framework, Chromebooks, Samsung, LG and more), on common USB controllers such as Lenovo Legion 4-zone, ITE 8291 per-key, ASUS ROG Aura and Dell G-series, and through OpenRGB. Performance modes need an ACPI platform profile, custom fan curves need an ASUS laptop with firmware fan curves.
Can ByteKeys break my fans?
It only uses controls the laptop's firmware runs itself and never drives fan speeds directly, so a crash or a stopped service can't leave a fan off. Curves must keep the fans at 50% or more from 80 °C and end at 70% or more.
Which Linux distributions does it run on?
The .deb package is for Debian, Ubuntu, Linux Mint, Pop!_OS and Zorin. The AppImage runs on any x86_64 distribution. From source it needs Python 3.10 or later and PyQt6 or PySide6.
Why does ByteKeys install a service?
Lighting, fans and battery settings need root. A small service, bytekeysd, does that work so the control center runs as your normal user. Without it, ByteKeys runs in portable mode: brightness still works for the active desktop user, but colors, fan control and background automations need the service.
Does ByteKeys record what I type?
No. For idle automations and the Reactive effect it notes when an input event happened, and the only key it ever looks at is your launch key. Key codes are never stored or logged.
Take control of your laptop.
A .deb for Debian and Ubuntu, an AppImage for every other distribution.