Install
Cuemark is currently source-only — you build and run it yourself. It targets Linux, developed against Ubuntu, with PipeWire for audio and Tauri (Rust + WebKit) as the app shell.
Runtime requirements
| Requirement | Notes |
|---|---|
| PipeWire | Audio routing. Standard on Ubuntu 22.04+, Fedora 34+. |
| WirePlumber | PipeWire session manager; provides wpctl for device enumeration. |
| GStreamer + plugins | Audio/video decode and playback. |
Build requirements
- Rust ≥ 1.75 — install via rustup.
- Node.js ≥ 18 + npm
- Tauri CLI —
cargo install tauri-cli --version "^2"
Linux packages
Install all build and runtime dependencies in one shot:
# Tauri build dependencies (WebKit, GTK, SSL, icon rendering, system tray)
sudo apt-get install \
libwebkit2gtk-4.1-dev \
libgtk-3-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev
# GStreamer dev headers (required to compile the Rust GStreamer bindings)
sudo apt-get install \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev
# ALSA dev headers (required by the midir MIDI crate on Linux)
sudo apt-get install \
libasound2-dev
# GStreamer runtime plugins
sudo apt-get install \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
gstreamer1.0-pipewire
# PipeWire + WirePlumber (usually pre-installed on modern desktops)
sudo apt-get install \
pipewire \
pipewire-audio \
wireplumber
pactl (from pulseaudio-utils) is not
required — Cuemark uses pw-dump (from pipewire-bin)
for device enumeration.
Build and run
git clone https://github.com/charlesbrandt/cuemark.git
cd cuemark
npm install
cargo tauri dev
cargo tauri dev starts the Vite dev server and opens the Tauri
window with hot-reload for the frontend. See
Running Cuemark for a production build and
dual-display setup.
Verify GStreamer plugins landed
The build can succeed and the app can launch even if a runtime plugin package is missing — that only shows up when you try to play a track (it loads but never plays, with no visible error). Confirm before reporting a fresh install as working:
gst-inspect-1.0 pitch # soundtouch tempo element, from plugins-bad
If this prints "No such element or plugin", re-check the plugins-bad install above.