Skip to content

johva1312/razer-control-revived

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

65 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐍 Razer Laptop Control β€” Revived

Take full control of your Razer Blade on Linux. No kernel modules. No DKMS. Just works.

License: GPL-2.0 Release Downloads Stars

Fan curves Β· Power profiles Β· CPU/GPU boost Β· Battery health Β· RGB effects Β· System tray β€” all in one place.


Donate


πŸ–ΌοΈ Screenshots

Main Window - Overview

GTK4 / libadwaita GUI β€” AC & Battery profiles with live system stats

Power Profile Tab
⚑ Power Profiles & Fan Control
RGB & Keyboard Tab
🌈 Keyboard RGB & Effects
System Tray
πŸ”” System Tray with Sensor Tooltip

⚠️ DISCLAIMER: This is experimental community software. Use at your own risk. No warranty is provided.


πŸ“₯ Download & Install

Pick your distro and get started in seconds


Download .deb Β Β  Download .rpm Β Β  Download AppImage Β Β  Download Tarball



🟠 Ubuntu / Debian

# Download the .deb from the releases page, then:
sudo apt install ./razercontrol-revived_0.3.0-rc1_amd64.deb

Installs everything: daemon, CLI, GUI, systemd service, udev rules, and desktop entry.

πŸ”΅ Fedora / RHEL

# Download the .rpm from the releases page, then:
sudo dnf install ./razercontrol-0.3.0-rc1-1.fc41.x86_64.rpm

Installs everything: daemon, CLI, GUI, systemd service, udev rules, and desktop entry.

🟒 AppImage (Any Distribution)

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.AppImage

❄️ NixOS

Add 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;

πŸ”¨ Arch Linux / Build from Source

# 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.


✨ Features

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

πŸ“‹ Supported Devices

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 PID

πŸ› οΈ Build Dependencies

Fedora / RHEL / CentOS
sudo dnf install -y rust cargo dbus-devel libusb1-devel hidapi-devel \
    pkgconf systemd-devel gtk4-devel libadwaita-devel git
Ubuntu / 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 git
Arch Linux
sudo pacman -S rust cargo dbus libusb hidapi pkgconf systemd gtk4 libadwaita git

🧩 KDE Plasma Widget

A native KDE Plasma 6 widget is available for quick access from your panel.

Install the Widget

cd razer_control_gui/kde-widget
./install-plasmoid.sh

Then 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.


πŸš€ Usage

GUI Application

Launch from your application menu (search "Razer Settings") or run:

razer-settings

The GUI provides separate tabs for AC and Battery power profiles, allowing different settings for each.

⌨️ Command Line Interface

# 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

🌈 RGB Effects

# 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 off

πŸ”„ Service Management

The 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

πŸ”§ Troubleshooting

"No supported device found"

Your laptop's USB PID might not be in the device list.

  1. Find your PID:

    lsusb | grep -i razer
  2. Add it to the device list:

    sudo nano /usr/share/razercontrol/laptops.json
  3. 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 trigger

Then 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 razer

Disable any conflicting services:

sudo systemctl stop razer-service
sudo systemctl disable razer-service
GUI shows "Cannot connect to daemon"
  1. Check if the daemon is running:

    systemctl --user status razercontrol
  2. If not running, start it:

    systemctl --user start razercontrol
  3. Check logs for errors:

    journalctl --user -u razercontrol -n 50

πŸ—‘οΈ Uninstallation

cd razercontrol-revived/razer_control_gui
./install.sh uninstall

βž• Adding Support for New Devices

If your Razer laptop isn't supported, you can add it:

  1. Find your device's USB PID:

    lsusb | grep -i razer
    # Example output: ID 1532:02c6 Razer USA, Ltd
    # Your PID is: 02c6
  2. 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]
    }
  3. Add your PID to udev rules (data/udev/99-hidraw-permissions.rules):

    KERNEL=="hidraw*", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="YOUR_PID", MODE="0666"
    
  4. Reinstall:

    ./install.sh install
  5. Submit a PR! Help others with the same laptop.


⚠️ Warning

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)

πŸ™ Credits

Core

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

πŸ“„ License

This project is licensed under the GPL-2.0 license β€” see the LICENSE file for details.


Donate



⭐ If this project helps you, give it a star!

About

fork to fix problem. revived version of an old software to support 2025 Razer Blade 16 with newer UI etc... (Experiemental but works)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 76.8%
  • QML 13.7%
  • Shell 5.4%
  • C++ 2.9%
  • Nix 0.8%
  • CMake 0.2%
  • CSS 0.2%