Files

3.1 KiB

Installer internals

The release bundle includes Frame Voice, its tray and clipboard helper, ydotool/ ydotoold, an audio-only FFmpeg build, the Whisper engine, and microphone setup. SteamOS supplies the SteamVR/PipeWire/ALSA runtime, Python, playback tools and Desktop dialogs. Users do not install compilers or fetch these helpers separately.

Entry points

User installation is documented in the README; GUI/terminal/agent entry points are in Development. The default downloader opens the GUI when Desktop is available and the terminal menu otherwise. Explicit backend flags retain the scripted setup path.

Canceling interactive setup restores the previous installation/service state. Models downloaded before a failed/canceled setup may remain cached.

Installation verifies archive and file checksums, channel and architecture before replacement. Helpers live under ~/.local/share/frame-voice/bin; existing shared ydotool/Whisper installations and their services are untouched. Updates preserve configuration and models, snapshot all managed files, and restore service state. New snapshots never copy an existing config containing your API key.

When upgrading the old voice setup, add --replace-legacy-helpers to stop and disable ydotoold.service and voice-mixer.service in favor of the bundled helpers. Use this only if other applications no longer need those services. Their files remain, and rollback or uninstall restores their previous service state. For an extracted release:

./install.sh ./bin/frame-voice --tray-binary ./bin/frame-voice-tray --setup --enable-tray --replace-legacy-helpers

The keyboard-only input service clears DISPLAY because ydotoold's optional X11 setup only adjusts mouse acceleration. This avoids xinput/Xwayland warnings without changing keyboard injection.

Tray

Open Desktop for status, Pause/Resume, Restart, configuration and logs. The tray runs on Plasma's private bus; service controls use the outer user bus. Hiding the tray leaves dictation running. Configuration changes restart dictation.

Rollback and removal

User-facing retention choices are in Uninstall; terminal flags are in Development. Rollback restores the last snapshot and previous service state while preserving modified files. Removal deletes managed application data, units, and snapshots. Configuration and managed model downloads are independently retained by default. Older/shared tools and their model directories are not removed.

Building

Use the native ARM64 distribution workflow for a complete bundle. Development builds need current stable Rust, C/C++, CMake, pkg-config, libpulse headers, scdoc and matching OpenVR headers. The workflow checks out pinned helper sources under .build/; run ./build-local.sh and ./tools/build-runtime.sh, then ./install.sh --setup. Production builds use glibc. The installer can read built helpers from .build/runtime/bin.

Diagnostics

Use the canonical diagnostic commands.