Installation
Install Hypercolor on Linux, Windows, and macOS. Prebuilt packages and one-line installers first; source build is a labeled developer section.
Most users should install a prebuilt package β no Rust toolchain required. Source builds are for contributors and platform porters.
Not sure which path fits? Read Choose your install first.
Pre-release: the first tagged release (v0.1.0) has not shipped yet, so the prebuilt paths on this page go live with that tag. Until then, use the source build below β it works on Linux, Windows, and macOS.
πLinux β prebuilt installer
The fastest path on any Linux distribution. The script downloads a release tarball from GitHub, verifies its SHA256 checksum, installs the daemon and CLI to ~/.local/bin, sets up a systemd user service, and prompts before applying udev rules and i2c-dev setup for USB and SMBus device access.
curl -fsSL https://raw.githubusercontent.com/hyperb1iss/hypercolor/main/scripts/install-release.sh | bashThe installer is idempotent: re-running it upgrades an existing install. To pin a specific version:
curl -fsSL https://raw.githubusercontent.com/hyperb1iss/hypercolor/main/scripts/install-release.sh | bash -s -- --version v0.1.0To install to a different prefix instead of ~/.local:
curl -fsSL https://raw.githubusercontent.com/hyperb1iss/hypercolor/main/scripts/install-release.sh | HYPERCOLOR_INSTALL_PREFIX=/opt/hypercolor bashIf you installed the system hooks, re-plug your USB devices or log out and back in so the new udev rules take effect. If your devices are still not detected, see Devices not found.
AppImage and Flatpak packages do not automatically apply udev rules. If you use one of those formats, run just udev-install from a repo checkout or copy udev/99-hypercolor.rules to /etc/udev/rules.d/ manually and reload with sudo udevadm control --reload-rules.
πArch Linux (AUR)
An AUR package (hypercolor-bin) will be available at v0.1.0 release. Once published:
yay -S hypercolor-binThe PKGBUILD installs binaries, the systemd user service, shell completions, and udev rules automatically as part of the package install hooks.
πLinux β udev rules (USB device access)
USB device access on Linux requires udev rules. The prebuilt installer prompts for these hooks, and the AUR package handles them automatically. If you are installing manually or from source:
just udev-installThis copies udev/99-hypercolor.rules to /etc/udev/rules.d/, reloads udev, and triggers a rescan of the hidraw, usb, tty, and i2c-dev subsystems. You will need to re-plug connected devices or log out and back in for group membership changes to propagate.
πWindows
Download the NSIS installer from the download page. The installer:
- Bundles
hypercolor-daemon.exeand thehypercolor-appdesktop shell - Registers the app for autostart at login
- Installs the PawnIO helper for SMBus access (motherboard and DRAM RGB)
- Creates Start menu and Desktop shortcuts
Run the installer and launch Hypercolor from the Start menu. The app supervises the daemon automatically, so there is no separate daemon window to manage.
For SMBus devices (ASUS Aura DRAM, some Gigabyte and MSI motherboards), the first-run wizard will prompt you to install the PawnIO kernel helper. Click βInstall SMBus supportβ when prompted, and it runs an elevated helper that handles the driver install.
πmacOS
Download the DMG from the download page. Open the DMG, drag Hypercolor to Applications, and launch it. The app registers a LaunchAgent for autostart and supervises the daemon β no terminal setup required.
Current builds are unsigned while the Developer ID and notarization rollout completes. Gatekeeper will block the app on first launch. Right-click the app and choose Open to confirm.
macOS hardware support covers USB-HID and network devices (Hue, Nanoleaf, WLED, Govee). SMBus/motherboard RGB is Linux and Windows only.
A Homebrew cask (brew install --cask hyperb1iss/tap/hypercolor-app) will be published at v0.1.0 release.
πThe desktop app and autostart
On all platforms, Hypercolor ships a unified desktop app (hypercolor-app) built on Tauri. When you launch it:
- The app checks if a daemon is already running on
127.0.0.1:9420. If so, it connects to it. - On Linux, it checks for an enabled systemd user service (
hypercolor.service) and defers to it. - If no daemon is found, the app spawns one as a supervised child process with a watchdog that restarts it on crash.
- The tray icon appears, and the main window opens (or the app starts minimized if launched with
--minimized).
Autostart is managed by the appβs autostart plugin. On Linux it creates a ~/.config/autostart/ entry; on macOS it registers a LaunchAgent. Toggle it from the tray menu or from within the appβs Settings page.
The app window is 1200Γ800 by default, with a minimum of 800Γ500. Close clicks hide the window rather than quit β Hypercolor stays in the tray. To fully quit, use the tray menu.
πLinux β systemd user service
The prebuilt installer and just install both install a systemd user service. Manage it with the CLI:
hypercolor service enable # enable autostart on login
hypercolor service start # start the daemon now
hypercolor service stop # stop it
hypercolor service restart # restart
hypercolor service status # check current state
hypercolor service logs # last 50 lines
hypercolor service logs --follow # live tailOn Linux this wraps systemctl --user β it is a user service, not a system service. Never use sudo systemctl to manage it.
The unit file lives at ~/.config/systemd/user/hypercolor.service and uses %h/.local/bin/hypercolor-daemon as the executable path.
πmacOS β LaunchAgent
The macOS app install registers a LaunchAgent (tech.hyperbliss.hypercolor) in ~/Library/LaunchAgents. The same hypercolor service subcommands work on macOS, wrapping launchctl.
πVerify the daemon is running
Regardless of install method, confirm the daemon is up:
curl http://localhost:9420/healthA 200 OK response means the daemon is healthy and accepting connections. The web UI is available at http://localhost:9420 in your browser.
πDeveloper install β build from source
This section is for contributors and platform porters. Ordinary users do not need to build from source.
πPrerequisites
- Rust 1.94+ (Edition 2024). Install via rustup.
justβ the task runner.cargo install justor your distroβs package manager.- Bun β required for the web UI and TypeScript SDK.
curl -fsSL https://bun.sh/install | bash. - Platform libraries β see the distribution-specific lists below.
πBootstrap (recommended)
git clone https://github.com/hyperb1iss/hypercolor.git
cd hypercolor
just setupjust setup installs system packages, the Rust toolchain, the WASM target, cargo tools (trunk, cargo-deny, sccache), and frontend dependencies. It is idempotent: re-running only installs what is missing.
Setup flags:
just setup -- -y # non-interactive (no sudo prompts)
just setup -- --minimal # Rust + wasm target only
just setup -- --no-system # skip system package install
just setup -- --with-servo # include Servo HTML renderer build depsOn Windows the same recipe dispatches to scripts/setup.ps1. Use PowerShell-style flags: -Yes, -Minimal, -NoSystem, -WithServo.
πSystem libraries
Debian / Ubuntu:
sudo apt install build-essential pkg-config cmake nasm \
libudev-dev libusb-1.0-0-dev libhidapi-dev \
libasound2-dev libpulse-dev libpipewire-0.3-dev \
libxdo-dev libgtk-3-dev libwebkit2gtk-4.1-dev \
libayatana-appindicator3-dev librsvg2-dev libssl-dev \
clang lldFedora:
sudo dnf install gcc gcc-c++ pkg-config cmake nasm \
systemd-devel libusb1-devel hidapi-devel \
alsa-lib-devel pulseaudio-libs-devel pipewire-devel \
libxdo-devel gtk3-devel webkit2gtk4.1-devel \
libappindicator-gtk3-devel librsvg2-devel openssl-devel \
clang lldArch Linux:
sudo pacman -S base-devel pkgconf cmake nasm \
libusb hidapi alsa-lib libpulse pipewire \
xdotool gtk3 webkit2gtk-4.1 \
libappindicator-gtk3 librsvg openssl \
clang lldmacOS:
xcode-select --install
brew install hidapi pkg-config cmake nasmWindows: Install Visual Studio 2022 Build Tools with the βDesktop development with C++β workload.
πWASM target
Required for the web UI:
rustup target add wasm32-unknown-unknown
# or use the shortcut:
just setup-wasmπAdditional dev tools
cargo install --locked trunk cargo-deny # required
cargo install --locked sccache # optional; speeds rebuildsπFrontend dependencies
cd crates/hypercolor-ui && bun install --frozen-lockfile # Tailwind v4
cd ../../sdk && bun install --frozen-lockfile # TypeScript SDKπBuild
just build # debug build
just build-preview # preview profile (optimized, fast compile)
just release # full release bundle in dist/
just check # type-check only, no artifact
just verify # fmt + lint + test β run this before committingπInstall from source
After building, install the daemon and CLI to ~/.local/bin, the web UI assets, the systemd user service, and, by default, udev rules plus i2c-dev setup:
just installPass --skip-system-hooks if you want to skip the sudo-backed udev and SMBus setup:
just install -- --skip-system-hooksπRun the desktop app from source
just appThis builds the daemon and the Tauri app at the preview profile and launches hypercolor-app. The app supervisor handles starting the daemon.
To run the daemon directly without the app shell:
just daemonThe daemon starts on 127.0.0.1:9420 by default with debug logging enabled.
πWhatβs next
With Hypercolor running, head to First launch to walk through the welcome wizard and connect your first device, or jump straight to the Quick start if you already know your way around.