Skip to content

Getting Started

UChroma is a userspace RGB control daemon for Razer Chroma peripherals on Linux. Pure Python, no kernel drivers required.

What You Can Do

Hardware Effects — Apply built-in lighting effects directly on your device: wave, spectrum, reactive, starlight, breathe, and more.

Custom Animations — Stack multiple renderer layers with blend modes and live parameter control. Plasma, rainbow, ripples, fire—all rendered at up to 30fps.

GTK4 Frontend — A gorgeous libadwaita app with real-time LED matrix preview, effect cards, and a layer editor for custom animations.

CLI Control — Full control from the terminal. Script your lighting, save profiles, batch-control multiple devices.

GuideDescription
InstallationPrerequisites, udev rules, systemd setup
Quick StartFirst commands, your first animation
GTK AppVisual frontend walkthrough
ConfigurationPreferences, profiles, environment variables
TroubleshootingCommon issues and debug techniques

Architecture Overview

The daemon discovers devices via udev, manages hardware communication over USB HID, and exposes everything through D-Bus. Both the CLI and GTK app are pure clients—they never touch hardware directly.

Supported Devices

UChroma supports most Razer Chroma devices:

  • Keyboards — BlackWidow, Huntsman, Ornata, DeathStalker, and more
  • Mice — DeathAdder, Naga, Basilisk, Viper series
  • Mousepads — Firefly, Goliathus Chroma
  • Headsets — Kraken, BlackShark
  • Laptops — Blade series with per-key RGB

Device definitions live in YAML files under uchroma/server/data/. If your device isn't recognized, check the troubleshooting guide for how to add support.

Next Steps

  1. Install UChroma
  2. Run through the Quick Start
  3. Explore the GTK app

Released under the LGPL-3.0 License.