Skip to content

Quick Start

This guide walks you through basic UChroma usage. Make sure you've completed installation first.

Start the Daemon

The daemon must be running for any commands to work:

bash
uchromad

Leave it running in a terminal, or use systemd for background operation.

List Devices

bash
uchroma devices

Output:

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

The number in brackets is the device index. Use it to target specific devices with -d 0.

Set Brightness

Query current brightness:

bash
uchroma brightness
Razer BlackWidow V3: 100%

Set brightness (0-100):

bash
uchroma brightness 80
Razer BlackWidow V3 brightness set to 80%

Hardware Effects

List available effects:

bash
uchroma fx list

Apply an effect:

bash
uchroma fx wave
Effect: wave

Effects with parameters:

bash
uchroma fx static --color red
uchroma fx reactive --color skyblue --speed 2
uchroma fx breathe --colors "purple,cyan"
uchroma fx starlight --colors "gold,white" --speed 3

Turn off all effects:

bash
uchroma fx disable

Custom Animations

Custom animations use software renderers that draw frames and send them to the device. You can stack multiple layers with blend modes.

List Renderers

bash
uchroma anim list
Available renderers and arguments:

         plasma │ Colorful moving blobs of plasma
────────────────┼─────────────────────────────────
          author│ Stefanie Jane
         version│ v1.0
────────────────┼─────────────────────────────────
    color_scheme│ colors: default: ['#ff00ff', '#00ffff', ...]
 gradient_length│ int: min: 0, default: 360

         rainbow │ Flowing rainbow gradient
...

Add a Layer

bash
uchroma anim add plasma
Created layer 0: Plasma

Add more layers:

bash
uchroma anim add rainbow
Created layer 1: Rainbow

View Active Layers

bash
uchroma anim show
 Active Layers (2)

  [0] Plasma
      Colorful moving blobs of plasma
      │ blend_mode: normal · opacity: 1.0

  [1] Rainbow
      Flowing rainbow gradient
      │ blend_mode: normal · opacity: 1.0

Modify a Layer

Change parameters on an active layer:

bash
uchroma anim set 0 --gradient-length 180
Updated layer 0

Remove a Layer

bash
uchroma anim rm 1
Removed layer 1

Pause/Resume

bash
uchroma anim pause
Animation paused

Run again to resume.

Stop All

bash
uchroma anim stop
Animation stopped

Profiles

Save your current setup for later:

bash
uchroma profile save gaming
Saved profile: gaming
  ~/.config/uchroma/profiles/gaming.json

List saved profiles:

bash
uchroma profile list

Load a profile:

bash
uchroma profile load gaming

Multiple Devices

Target a specific device by index:

bash
uchroma -d 0 brightness 100
uchroma -d 1 fx spectrum

Or by name (partial match):

bash
uchroma -d blackwidow fx wave
uchroma -d deathadder brightness 50

Launch the GTK App

For a visual interface:

bash
uchroma-gtk

Or via make:

bash
make gtk

See GTK App Guide for details.

Debug Output

For troubleshooting, dump full device info:

bash
uchroma dump

Enable debug logging:

bash
UCHROMA_LOG_LEVEL=DEBUG uchromad

Command Reference

CommandDescription
uchroma devicesList connected devices
uchroma brightness [VALUE]Get/set brightness
uchroma fx <effect>Apply hardware effect
uchroma fx listList available effects
uchroma anim add <renderer>Add animation layer
uchroma anim showShow active layers
uchroma anim set <N> [OPTIONS]Modify layer N
uchroma anim rm <N>Remove layer N
uchroma anim pauseToggle pause
uchroma anim stopStop all animations
uchroma profile save <name>Save current state
uchroma profile load <name>Restore saved state
uchroma dumpFull device dump

All commands support -d <device> to target specific devices.

Next Steps

Released under the LGPL-3.0 License.