§ When something breaks
Troubleshooting on Linux
Start with dettivo doctor. It checks the service, the socket, the configuration, every engine and its backend, the insertion chain, the hotkeys, the history store and the pill, and names what is missing.
Who this is for
Anyone whose keys, insertion, models or meetings are not doing what they should.
First checks
Terminal
bash
dettivo doctor # the whole picture
dettivo setup omarchy --check # is the binding snippet loaded?
dettivo insert target # which insertion backend runs next, and why
dettivo speech status # every model, then each engine: cold, loaded or warm
dettivo config validate # the key and line that do not parse
journalctl --user -u dettivod # the daemon logSymptoms
F9 does nothing
Run dettivo setup omarchy --check, or the same with your compositor's name, to see whether your main config loads the binding snippet. dettivo hotkeys status shows the backend inside the daemon. Running the setup line again fixes a missing include.
F9 keeps recording after I let go
A double tap locks the take hands-free, and the pill shows locked · press to finish. Press F9 once to finish it. If your compositor dropped the key release, a press a second or more into the hold finishes the take too. A snippet from an older release lacks both, so run dettivo setup omarchy again.
The pill says Nothing heard
The speech gate found the take silent: its loudest 30 ms stayed under [dictation] silence_dbfs (-50 by default), or the Silero model heard no voice in it. A press shorter than 300 ms is a tap and never records. If quiet speech is gated, check the microphone level and dettivo doctor, whose voice gate row names a missing whisper/silero-vad.
The first dictation is slower than the rest
dettivo speech status says whether each speech engine is cold, loaded or warm. An engine unloads after [engines] stt_idle_seconds (300 by default) and loads again while you speak. The first Whisper dictation after an install or a graphics driver update also compiles the driver's shaders once.
The text arrived as a paste, or not at all
Some windows refuse the virtual keyboard, and Dettivo pastes into those. dettivo insert target shows the focused window, the backend the next insertion will use and why the others are out. The pill's error state says what failed and what to do next.
A model shows as quarantined or missing
A file that fails its checksum is moved aside. dettivo speech status lists every model, and dettivo speech download --model <id> --wait fetches it again.
Dettivo stopped working while a game was running
A speech engine that runs out of GPU memory moves to the CPU and finishes the dictation, and goes back to the GPU once there is room. A Dettivo window the GPU cannot draw restarts once on the software renderer. [app] renderer = "software" draws every window on the CPU from the start.
My settings stopped applying
dettivo config validate names the key and line that do not parse. The daemon keeps running on defaults until the file is fixed.
A meeting will not start
Meetings need a Whisper model, because the Parakeet models are for dictation. The first meeting also asks you to acknowledge the recording notice. The message names whichever one is in the way.
Where are the logs?
journalctl --user -u dettivod. No log level writes transcript text or audio.
Free and open source · GPL-3.0
Dettivo for Linux 0.5.0 is on GitHub.
The release page has the pacman package and its checksum. Bug reports go to the issue tracker. On a Mac? The native Mac app does all of this with Apple Silicon models.