Fan curves Β· Power profiles Β· CPU/GPU boost Β· Battery health Β· RGB effects Β· System tray β all in one place.
β‘ Power Profiles & Fan Control |
π Keyboard RGB & Effects |
π System Tray with Sensor Tooltip |
|
β οΈ DISCLAIMER: This is experimental community software. Use at your own risk. No warranty is provided.
# Download the .deb from the releases page, then:
sudo apt install ./razercontrol-revived_0.3.0-rc1_amd64.debInstalls everything: daemon, CLI, GUI, systemd service, udev rules, and desktop entry.
# Download the .rpm from the releases page, then:
sudo dnf install ./razercontrol-0.3.0-rc1-1.fc41.x86_64.rpmInstalls everything: daemon, CLI, GUI, systemd service, udev rules, and desktop entry.
The AppImage is a portable GUI. You still need the daemon installed:
# 1. Install daemon from tarball
tar -xzf razer-control-0.3.0-rc1-x86_64.tar.gz
cd razer-control-0.3.0-rc1-x86_64
sudo ./install.sh
# 2. Run the AppImage
chmod +x RazerControl-0.3.0-rc1-x86_64.AppImage
./RazerControl-0.3.0-rc1-x86_64.AppImageAdd to your flake inputs:
inputs.razerdaemon = {
url = "github:encomjp/razer-control-revived";
inputs.nixpkgs.follows = "nixpkgs";
};Import and enable:
imports = [ inputs.razerdaemon.nixosModules.default ];
services.razer-laptop-control.enable = true;# Install dependencies (Arch example)
sudo pacman -S rust cargo dbus libusb hidapi pkgconf systemd gtk4 libadwaita git
# Clone and install
git clone https://github.com/encomjp/razercontrol-revived
cd razercontrol-revived/razer_control_gui
./install.sh installπ Note: Log out and back in (or reboot) after installation for udev rules to take effect.
| Feature | Description | |
|---|---|---|
| π | Fan Control | Auto mode or manual RPM (2200β5000+ depending on model) |
| β‘ | Power Profiles | Balanced, Gaming, Creator, Silent, or Custom |
| π | CPU/GPU Boost | Fine-tune performance β Low / Normal / High / Boost |
| π‘ | Logo LED | Off, On, or Breathing modes |
| π | Keyboard RGB | Brightness + effects: Static, Wave, Breathing, Spectrum, Reactive |
| π | Battery Health (BHO) | Limit charge to 50β80% to extend battery lifespan |
| π | System Monitor | Live CPU/iGPU/dGPU temps, power draw, utilization, battery |
| π | System Tray | KDE tray icon with sensor tooltip, close-to-tray |
| π₯οΈ | GTK4 GUI | Modern libadwaita interface with separate AC/Battery profiles |
| β¨οΈ | CLI | Full command-line control for scripting & automation |
| π | Daemon | Auto-loads your saved settings on startup |
Works with 50+ Razer Blade laptops β from 2015 Stealth to 2025 Blade 16.
Click to expand full device list
| Model | Year | USB PID | Status |
|---|---|---|---|
| Blade Stealth | 2015β2020 | Various | β Supported |
| Blade 15 | 2016β2023 | Various | β Supported |
| Blade Pro | 2017β2021 | Various | β Supported |
| Blade 14 | 2021β2025 | Various | β Supported |
| Blade 16 | 2023β2025 | Various | β Supported |
| Blade 17 | 2022 | 028B | β Supported |
| Blade 18 | 2023β2025 | Various | β Supported |
| Razer Book 13 | 2020 | 026A | β Supported |
| Blade 16 2025 | 2025 | 02C6 | β Tested |
Check if your laptop is supported:
lsusb | grep -i razer
# Look for: Bus XXX Device XXX: ID 1532:XXXX Razer USA, Ltd
# The XXXX after 1532: is your device's USB PIDFedora / RHEL / CentOS
sudo dnf install -y rust cargo dbus-devel libusb1-devel hidapi-devel \
pkgconf systemd-devel gtk4-devel libadwaita-devel gitUbuntu / Debian
sudo apt install -y rustc cargo libdbus-1-dev libusb-1.0-0-dev libhidapi-dev \
pkg-config libsystemd-dev libgtk-4-dev libadwaita-1-dev gitArch Linux
sudo pacman -S rust cargo dbus libusb hidapi pkgconf systemd gtk4 libadwaita gitA native KDE Plasma 6 widget is available for quick access from your panel.
cd razer_control_gui/kde-widget
./install-plasmoid.shThen add it to your desktop or panel: Right-click β Add Widgets β Search "Razer Control"
The widget shows:
- Live system monitor - CPU/iGPU/dGPU temps, frequencies, power draw (including CPU package via RAPL), and utilization
- Battery status - charge %, charging/discharging wattage with progress bar
- Clickable settings - Profile, Fan, KB Brightness, Logo, Charge Limit (click to cycle) in a unified grouped card
- Correct iGPU naming - Properly detects Radeon 880M (AI 365) vs 890M (AI 370) from CPU model
See kde-widget/README.md for more details.
Launch from your application menu (search "Razer Settings") or run:
razer-settingsThe GUI provides separate tabs for AC and Battery power profiles, allowing different settings for each.
# Get help
razer-cli --help
razer-cli read --help
razer-cli write --help
# Read current settings (use 'ac' for plugged in, 'bat' for battery)
razer-cli read fan ac # Fan speed
razer-cli read power ac # Power profile
razer-cli read brightness ac # Keyboard brightness
razer-cli read logo ac # Logo LED state
razer-cli read bho # Battery Health Optimizer
# Fan control (0 = auto, or specify RPM)
razer-cli write fan ac 0 # Auto
razer-cli write fan ac 4000 # 4000 RPM
# Power modes: 0=Balanced, 1=Gaming, 2=Creator, 3=Silent, 4=Custom
razer-cli write power ac 1 0 0 # Gaming mode (basic)
razer-cli write power ac 4 2 2 # Custom with CPU=High, GPU=High
# Keyboard brightness (0-100)
razer-cli write brightness ac 75
# Logo LED: 0=Off, 1=On, 2=Breathing
razer-cli write logo ac 1
# Battery Health Optimizer (limit charge %)
razer-cli write bho on 80 # Limit to 80%
razer-cli write bho off # Disable limit# Static color
razer-cli standard-effect static 0 255 0 # Green
# Wave effect (direction: 1=left, 2=right)
razer-cli standard-effect wave 1
# Breathing (type: 1=single, 2=dual, 3=random)
razer-cli standard-effect breathing 1 255 0 0 # Red breathing
# Spectrum cycle
razer-cli standard-effect spectrum
# Reactive (speed 1-4, then R G B)
razer-cli standard-effect reactive 2 255 255 0
# Turn off
razer-cli standard-effect offThe daemon runs as a systemd user service (no root required):
# Check daemon status
systemctl --user status razercontrol
# Restart daemon
systemctl --user restart razercontrol
# View logs
journalctl --user -u razercontrol -f
# Enable/disable auto-start
systemctl --user enable razercontrol
systemctl --user disable razercontrol"No supported device found"
Your laptop's USB PID might not be in the device list.
-
Find your PID:
lsusb | grep -i razer -
Add it to the device list:
sudo nano /usr/share/razercontrol/laptops.json
-
Restart the daemon:
systemctl --user restart razercontrol
See Adding Support for New Devices for details.
"Permission denied" on hidraw
The udev rules might not have been applied:
sudo udevadm control --reload-rules
sudo udevadm triggerThen log out and back in, or reboot.
Daemon not starting / Socket doesn't exist
Check if another Razer service is conflicting:
systemctl --user list-units | grep -i razerDisable any conflicting services:
sudo systemctl stop razer-service
sudo systemctl disable razer-serviceGUI shows "Cannot connect to daemon"
-
Check if the daemon is running:
systemctl --user status razercontrol
-
If not running, start it:
systemctl --user start razercontrol
-
Check logs for errors:
journalctl --user -u razercontrol -n 50
cd razercontrol-revived/razer_control_gui
./install.sh uninstallIf your Razer laptop isn't supported, you can add it:
-
Find your device's USB PID:
lsusb | grep -i razer # Example output: ID 1532:02c6 Razer USA, Ltd # Your PID is: 02c6
-
Edit the device list (
data/devices/laptops.json):{ "name": "Blade XX 20XX", "vid": "1532", "pid": "YOUR_PID_HERE", "features": ["logo", "boost", "bho"], "fan": [2200, 5000] } -
Add your PID to udev rules (
data/udev/99-hidraw-permissions.rules):KERNEL=="hidraw*", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="YOUR_PID", MODE="0666" -
Reinstall:
./install.sh install
-
Submit a PR! Help others with the same laptop.
This software is provided AS-IS with NO WARRANTY.
| β | Not affiliated with Razer Inc. |
| β | Not responsible for any damage to your hardware |
| β | No official support β community project only |
| β | Works on my machineβ’ (Blade 16 2025 / RTX 5070 Ti) |
Core
- Original project: Razer-Linux/razer-laptop-control-no-dkms
- HID modifications, GTK4 implementation & packaging: @encomjp
- UI rework (native libadwaita widgets, CSS cleanup): Claude by Anthropic
Contributors
| Who | What |
|---|---|
| @johva1312 | HID device init fallbacks β prefer iface-0, use hidraw as fallback for broader device compatibility |
| @sini | NixOS flake fixes β updated nixpkgs, fixed typos, ensured version parity |
This project is licensed under the GPL-2.0 license β see the LICENSE file for details.
β If this project helps you, give it a star!



