Install
Skald ships as Linux archives and Rust source builds. There is no distro package yet.
Dependencies
Section titled “Dependencies”System packages (Arch-oriented names):
- PipeWire or PulseAudio for microphone capture
wl-clipboardorxclipfor clipboard integration- Session tools as needed:
hyprctl,xdotool,wtype,notify-send - GTK 4 development libraries to build
skald-overlay - Optional: CUDA toolkit for the GPU ASR build profile
sha256sumandgpgfor archive verification
Install from an archive
Section titled “Install from an archive”Download the archive, checksum manifest, and detached signatures from the GitHub release. Verify before extracting:
sha256sum --check skald-0.1.0-linux-x86_64-unknown-linux-gnu-cpu.tar.gz.sha256gpg --verify skald-0.1.0-linux-x86_64-unknown-linux-gnu-cpu.tar.gz.ascgpg --verify skald-0.1.0-linux-x86_64-unknown-linux-gnu-cpu.tar.gz.sha256.ascExtract and install user-local binaries:
tar -xzf skald-0.1.0-linux-x86_64-unknown-linux-gnu-cpu.tar.gzinstall -m 0755 skald-0.1.0-linux-x86_64-unknown-linux-gnu-cpu/bin/* ~/.local/bin/skald version --jsonskaldd --build-info-jsonskald setup --if-missingskald doctorUse the cuda archive only on hosts matching the documented CUDA driver target.
The archive records the tested driver/toolkit in BUILD-METADATA.toml.
Build from source
Section titled “Build from source”CPU-only workspace:
just releasePower-user CUDA daemon (RTX-class GPU):
just release-cudaBinaries install to target/release/ (skald, skaldd, skald-overlay,
skald-tray).
User-local install (runs the setup wizard when no config exists):
just install # after just release (CPU)just install-cuda # after just release-cuda (CUDA skaldd)Skip the wizard (CI or manual setup):
SKALD_SKIP_SETUP=1 just installSKALD_SKIP_SETUP=1 just install-cudaMigrate from VoxLine
Section titled “Migrate from VoxLine”Skald deliberately uses separate binary, service, XDG path, socket, and keyring names. Stop VoxLine before moving an existing installation:
systemctl --user disable --now voxlined.servicemv ~/.config/voxline ~/.config/skaldmv ~/.local/share/voxline ~/.local/share/skaldsed -i 's|/voxline|/skald|g; s|voxline/|skald/|g' ~/.config/skald/config.tomlskald config validateskald service installsystemctl --user daemon-reloadsystemctl --user start skaldd.serviceAfter validation, remove the old voxlined.service file and VoxLine binaries.
Keyring entries do not migrate between application names; run
skald secrets set openrouter again when needed.
First-time setup
Section titled “First-time setup”Recommended: run the Setup wizard (skald setup).
Manual path:
skald config initskald config profile power-user-nvidia # or cpu-safeDownload Whisper GGML models into ~/.local/share/skald/models/:
- Power-user: a large quantized model (for example
ggml-large-v3-turbo-q5_0.bin) - CPU-safe:
ggml-small.en.bin - Preview (optional):
ggml-small.en.binwhenpreview.enabled = true
Validate:
skald config validateskald doctorProfiles
Section titled “Profiles”| Profile | ASR model | Lifecycle | Use case |
|---|---|---|---|
power-user-nvidia | Large CUDA model | keep_warm | Primary workstation target |
cpu-safe | small.en on CPU | on_demand | Laptops and CPU-only hosts |
Restart skaldd after changing profiles.
Upgrade
Section titled “Upgrade”Archives replace binaries only. They do not overwrite user configuration, styles, snippets, app profiles, managed models, keyring entries, or the systemd user service state.
systemctl --user stop skaldd.service || trueinstall -m 0755 skald-0.1.0-linux-x86_64-unknown-linux-gnu-cpu/bin/* ~/.local/bin/skald config upgradeskald service installsystemctl --user restart skaldd.serviceskald doctorConfig migrations are one-way unless release notes explicitly say otherwise.
Back up ~/.config/skald before upgrading across config schema versions.
Rollback
Section titled “Rollback”Keep the previous archive and checksum manifest. To roll back:
systemctl --user stop skaldd.service || trueinstall -m 0755 skald-previous-linux-x86_64-unknown-linux-gnu-cpu/bin/* ~/.local/bin/skald service installsystemctl --user restart skaldd.serviceskald doctorIf the newer version performed an irreversible config migration, restore the
backed-up ~/.config/skald before restarting the daemon.
Benchmarks
Section titled “Benchmarks”skald bench model-loadskald bench end-to-end ./sample.wavskald bench dictation ./sample.wav --no-cleanupskald bench dictation ./sample.wav --cleanupskald bench dictation ./sample.wav --pasteSee Benchmark results for recorded numbers on the reference workstation.