docs: correct whisrs dependencies and describe hold-to-talk

wtype is not actually used by whisrs: injection happens through the
Wayland virtual-keyboard protocol with a uinput fallback, so listing
wtype as a dependency would send fresh installs down the wrong path.
pipewire-alsa on the other hand is essential and was missing: whisrs
captures through raw ALSA, and without the PipeWire bridge the default
PCM is the silent headset-jack mic.

Also document the hold-to-talk binding, the [audio] device setting, and
the local rebuild (-march=native plus the vulkan feature) that moved
decoding to the iGPU, since the stock AUR build is far too slow for
dictation.
This commit is contained in:
Jeena 2026-09-15 08:32:02 +09:00
parent 0b9718cf2c
commit 0651dd13ef

View file

@ -106,7 +106,10 @@ You also need to install all the dependencies:
portal startup script falls back to launching the portals manually.)
- fcitx5
- fcitx5-hangul
- wtype (types the transcribed text)
- pipewire-alsa (whisrs captures audio via raw ALSA; without it the default
PCM is the headset-jack mic, which is silent when nothing is plugged in)
- vulkan-intel and vulkan-icd-loader (iGPU decode; already standard on systems
with Intel graphics set up for Vulkan)
- whisrs-git (AUR; voice dictation daemon, see below)
There are probably more, I will update the list next time I'm
@ -116,15 +119,25 @@ Voice dictation
===============
The Copilot key (on newer laptops this replaced the right Ctrl key; it
sends SUPER+SHIFT+F23) toggles voice dictation. Press it once to start
recording and again to stop. whisrs transcribes locally with a
whisper.cpp model and types the text at the cursor via wtype, in any
window, including terminals running the dockerized agent harnesses.
sends SUPER+SHIFT+F23) toggles voice dictation. Hold it to record and
release to transcribe: one whisrs toggle fires on press, another on
release. whisrs transcribes locally with a whisper.cpp model and types
the text at the cursor in any window, including terminals running the
dockerized agent harnesses. Text injection uses the Wayland
virtual-keyboard protocol on Hyprland, with a uinput fallback that the
package's udev rule grants access to.
The config lives in ~/.config/whisrs/config.toml and the model in
The config lives in ~/.config/whisrs/config.toml (set [audio] device =
"pipewire" so capture goes through PipeWire) and the model in
~/.local/share/whisrs/models/. The daemon runs as the systemd user
service whisrs.service.
The stock AUR build decodes on the CPU with generic -march flags, which
makes dictation take around five seconds. On this machine the package
is rebuilt locally with -march=native plus the vulkan cargo feature so
decoding runs on the Intel iGPU instead; that drops latency to roughly
a second. Re-apply those two PKGBUILD edits after AUR updates.
License
=======