

DemoStage
Installation
Last updated
DemoStage ships a single binary, demo.
One-line installer
curl -fsSL https://install.univerlab.org/demostage | sh
With cargo
cargo install demo-stage
From source
git clone https://github.com/UniverLab/demo-stage
cd demo-stage
cargo install --path .
Self-update
If you installed the demo binary yourself (installer script or a GitHub
release archive), it updates itself — only when you ask:
demo update # asks first; the default answer is no
demo update --check # exit 0 = current, exit 1 = a newer stable release exists, exit 2 = the check could not be completed
There is no background update check: demo only contacts GitHub when you
run demo update. The swap replaces just the binary — your demo.toml
scores, recordings and capture sources are untouched.
A binary installed with cargo is owned by cargo, so demo update refuses
and tells you to run:
cargo install --force demo-stage
Optional external tools
gif works with no external dependencies.
mp4→ ffmpeg. You don’t have to install it: the firstmp4export auto-downloads a managed static ffmpeg (tectonic-style) into a cache and reuses it. A system ffmpeg on yourPATHis used if present.- browser panes (
demo open, composited intogif/mp4) → Chromium/Chrome. A system browser is used if present, otherwise a managed one is fetched.
Run demo doctor to check all of this and get platform-specific fixes
(demo doctor --fix installs them on apt-based Linux). One gotcha it flags: on
Ubuntu/WSL the default Chromium is a snap, whose sandbox blocks the debug port
the automation needs — install a non-snap Google Chrome (picked automatically), or
just run demo doctor --fix.
If a download can’t run (offline), demo export fails with a clear message; the
pure-Rust targets keep working regardless.