Skip to content

Installation ​

Requirements ​

  • Linux with udev and systemd
  • Python 3.10+
  • Razer Chroma peripheral (keyboards, mice, mousepads, headsets, keypads, laptops)

Linux Installation ​

OS packages are the recommended way to install UChroma. They include udev rules, systemd service files, and all dependencies.

Arch Linux (AUR) ​

bash
# Using yay
yay -S uchroma

# Using paru
paru -S uchroma

Ubuntu / Debian ​

bash
# Add the PPA
sudo add-apt-repository ppa:hyperbliss/uchroma
sudo apt update

# Install
sudo apt install uchroma

Fedora ​

bash
# Enable COPR repository
sudo dnf copr enable hyperbliss/uchroma

# Install
sudo dnf install uchroma

Post-Install Setup ​

Add User to plugdev Group ​

Your user needs access to USB HID devices:

bash
sudo usermod -aG plugdev $USER

Log out and back in for the group change to take effect.

Enable the Daemon ​

UChroma runs as a user service:

bash
systemctl --user enable --now uchromad

Verify Installation ​

Check that your devices are detected:

bash
uchroma devices

Expected output:

[0]: Razer BlackWidow V3 (PM2142XXXXXX / v1.0)

If you see your device, you're ready. Proceed to the Quick Start.

Troubleshooting ​

Device not detected?

  1. Ensure you logged out and back in after adding yourself to plugdev
  2. Try unplugging and replugging your device
  3. Check the daemon status: systemctl --user status uchromad
  4. Check logs: journalctl --user -u uchromad -f

Development Setup ​

For Contributors Only This section is for developers who want to work on UChroma itself.

End users should use the OS packages above. :::

Clone and Install ​

bash
git clone https://github.com/hyperbliss/uchroma.git
cd uchroma

# Install dependencies (including GTK frontend)
uv sync --extra gtk

Run from Source ​

bash
# Run the daemon
uv run uchromad

# Run the CLI
uv run uchroma devices

# Run the GTK frontend
uv run python -m uchroma.gtk

Rebuild Rust Extensions ​

After modifying .rs files, rebuild the native extensions:

bash
make rebuild

Useful Make Targets ​

bash
make              # Show all commands
make sync         # Install dependencies
make rebuild      # Rebuild Rust extensions
make server       # Run daemon
make gtk          # Run GTK frontend
make check        # Lint + format + typecheck

Released under the LGPL-3.0 License.