Guide

Get set up, get lit. Pick your install path and your interface, then go from zero to RGB.

Hypercolor is an open-source RGB lighting orchestration engine for Linux, written in Rust. One daemon drives every RGB device you own β€” Razer peripherals, WLED strips, ASUS motherboards, Corsair gear, Philips Hue, Nanoleaf panels, Govee lights, and more β€” all running from the same render engine at up to 60 fps.

Effects are HTML Canvas pages rendered by an embedded Servo browser. Audio FFT, screen capture, and keyboard input feed the render every frame. A spatial sampler maps canvas pixels onto your physical LED positions. The result: one effect paints your whole rig, synchronized, regardless of how many devices or protocols are involved.

Hypercolor dashboard showing the Neon City effect active across multiple devices

πŸ”—βš‘ Where to start

Your path through this guide depends on two questions: how you’re installing, and which interface you prefer.

πŸ”—Pick your install path

Not everyone needs to build from source. The right starting point depends on your OS and your goals.

If you are…Start here
A Linux user who wants a quick installChoose your install β†’ prebuilt one-liner
On Windows or macOSChoose your install β†’ desktop package
Running Arch LinuxChoose your install β†’ AUR package
A developer hacking on Hypercolor itselfInstallation β†’ build from source

πŸ”—Pick your interface

Hypercolor has six entry points. Understanding which one you want saves a lot of confusion.

InterfaceWhat it isWhen to use it
Desktop appTauri shell that owns the tray, supervises the daemon, and renders the web UI nativelyThe recommended starting point on Windows and macOS; available on Linux too
Web UILeptos app served by the daemon at http://localhost:9420Daily use: browsing effects, tweaking controls, managing layouts
TUIRatatui terminal dashboard with live LED preview and audio spectrumSSH sessions, headless setups, or if you live in the terminal
CLIhypercolor binary for scripting and quick controlAutomation, shell scripts, CI pipelines
Tray appletSystem tray icon with a brightness submenu and quick actionsMinimal desktop footprint; change effects without opening a window
REST + WebSocket APIDaemon’s full HTTP interface on :9420Integrations, agents, and anything programmatic

The pieces walks through how these connect and which to open first.

πŸ”—What’s in this section

This section takes you from zero to a fully configured rig.

Getting set up

  • Choose your install β€” prebuilt vs. packaged vs. source, by OS and skill level
  • Installation β€” full install instructions for every path
  • The pieces β€” mental model: daemon, app, tray, TUI, CLI, web UI, and how they connect
  • Scope β€” what Hypercolor does and does not control today

First steps

  • First launch β€” what happens on first run: the welcome wizard, device discovery, autostart
  • Your first 10 minutes β€” opinionated happy path: open app β†’ find devices β†’ apply an effect β†’ save a profile
  • Quick start β€” zero to RGB in five minutes via CLI and web UI
  • First session β€” longer hands-on walkthrough covering the full feature set

Going deeper

  • The TUI β€” terminal dashboard: LED preview, audio spectrum, fullscreen mode
  • Finding devices β€” USB discovery, network mDNS, pairing Hue and Nanoleaf, udev permission fixes
  • Audio setup β€” configure PipeWire or PulseAudio for audio-reactive effects
  • Profiles and scenes β€” save full rig state in a profile, automate lighting with scenes
  • Configuration β€” full config reference: ~/.config/hypercolor/hypercolor.toml
  • Desktop app β€” the Tauri shell: tray menu, autostart, diagnostics, window controls

Reference

πŸ”—How the engine works

graph LR
    subgraph Input
        A[Audio FFT]
        B[Screen capture]
        C[Keyboard / MIDI]
    end

    subgraph Engine
        D[Effect renderer
Servo Β· Canvas Β· GLSL] E[Canvas
640Γ—480 default] SF[SparkleFlinger
compositor] F[Spatial sampler] end subgraph Hardware G[Razer Β· Corsair Β· ASUS
USB / HID / SMBus] H[WLED Β· Hue Β· Nanoleaf Β· Govee
UDP / REST / mDNS] I[QMK Β· Ableton Push 2
USB HID / MIDI] end A & B & C --> D D --> E --> SF --> F F --> G & H & I

Effects render into a virtual RGBA canvas (640Γ—480 by default, tunable). SparkleFlinger β€” the render-thread compositor β€” latches the newest surface from each active layer at the frame boundary and blends them into one canonical frame per tick. The spatial engine samples that frame at each LED’s physical position using normalized [0.0, 1.0] coordinates, so effects stay resolution-independent regardless of canvas size. Device output is queued asynchronously so a slow device never stalls the render loop.

The daemon runs an adaptive render loop across five FPS tiers (10 / 20 / 30 / 45 / 60). The default target is 30 fps. The loop downshifts fast on consecutive budget misses and upshifts slowly on sustained headroom, so Servo-heavy effects and simpler ones share the same engine without tuning.

πŸ”—Supported hardware

Hypercolor currently ships working drivers for 179 devices across 12 driver families, with 233 more researched or in progress. See the full compatibility matrix for the current state by vendor and device.

If you own hardware that is not yet supported, see contributing a driver.

Remove conflicting RGB software before starting. openrazer daemon, OpenRGB, Aura Sync, and iCUE all grab USB HID devices exclusively. If one of them is running when Hypercolor starts, your devices will appear in lsusb but not in hypercolor devices list. Stop them first β€” or run hypercolor diagnose to identify the conflict.

πŸ”—Effects

Hypercolor renders effects through an embedded Servo browser (HTML Canvas and WebGL2 / GLSL) and a set of native Rust built-ins compiled directly into the engine. Browse the full library in the effect catalog, or head to the effects section to learn how to write your own.

The TypeScript SDK is published to npm as hypercolor (early 0.1.x release). Scaffold a workspace with bun create hypercolor β€” see effects setup.

The Hypercolor effects browser

πŸ”—Interfaces

Web UI β€” served by the daemon at http://localhost:9420 with no separate process needed. Browse effects, adjust controls live, manage devices, and design spatial layouts from any browser.

Web UI showing the Studio zone editor

Studio β€” the zone editor inside the web UI. Divide your canvas into zones, each running an independent effect with its own controls and priority. See the Studio section for the full walkthrough.

TUI β€” a Ratatui terminal dashboard with true-color LED preview, audio visualization, and fullscreen effect rendering.

TUI dashboard with live preview and device table

CLI β€” the hypercolor binary talks to the daemon over HTTP. Every action you can take in the UI is available via the CLI. See the CLI reference.

MCP server β€” 16 tools, 5 resources, and 3 prompts for AI assistant integration (Claude Code, Cursor, and friends). The MCP server is disabled by default β€” see the MCP server reference for how to enable it and connect your agent.

πŸ”—Getting help

If something is not working, start with hypercolor diagnose β€” it runs a health check and prints a summary of what the daemon can see. From there, the troubleshooting section has symptom-first answers for the most common issues: devices not found, audio not reacting, network discovery failures, and performance problems.

In this section

Choose your install

Pick the right Hypercolor install path for your OS and skill level β€” prebuilt, packaged, or source.

Installation

Install Hypercolor on Linux, Windows, and macOS. Prebuilt packages and one-line installers first; source build is a labeled developer section.

The pieces

Mental model: daemon, app, tray, TUI, CLI, and web UI β€” what each is, when to use it, and how they all connect on :9420.

What Hypercolor controls (and what it doesn't)

Which devices Hypercolor drives today, what it does not control yet, and how to find out whether your hardware is supported.

First launch

What happens the first time Hypercolor runs: app starts, daemon boots, single-instance guard, the first-run wizard, and the tray appearing.

Quick start

Zero to RGB in five minutes, including a no-hardware simulator path and a conflicting-software callout.

Your first 10 minutes

Open the app, see your devices, apply an effect, dial in brightness, and save a profile β€” from zero to lit in under ten minutes.

Your first session

Hands-on walkthrough from daemon start to a saved, audio-reactive setup β€” devices, effects, layouts, profiles, scenes, and Studio.

The terminal UI (TUI)

Launch the Ratatui TUI, navigate its panels, browse effects, and read the live spectrum view.

Finding devices

USB auto-discovery, mDNS network scanning, pairing network devices for credentials, identify, and udev permission fixes.

Audio setup

Make your lights react to music: configure a PipeWire/PulseAudio monitor source, set the device field, and verify with the TUI spectrum strip.

Profiles & scenes

Profiles save your full lighting state; scenes hold automated configurations. Learn how each works and how start_profile restores your setup on boot.

Configuration

The hypercolor.toml reference: every section and key, their defaults, and the CLI and REST config surface.

Desktop app

The Tauri shell: window, tray menu, pause/resume, brightness submenu, autostart, export diagnostics, logs and effects folders.

Uninstall & reset

Remove Hypercolor cleanly: stop the daemon, remove binaries, udev rules, systemd units, launchd plists, autostart entries, and config directories.

Changelog & versions

What's in each Hypercolor release, how versioning works, and how to check the version you have installed.