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.) portal startup script falls back to launching the portals manually.)
- fcitx5 - fcitx5
- fcitx5-hangul - 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) - whisrs-git (AUR; voice dictation daemon, see below)
There are probably more, I will update the list next time I'm 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 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 sends SUPER+SHIFT+F23) toggles voice dictation. Hold it to record and
recording and again to stop. whisrs transcribes locally with a release to transcribe: one whisrs toggle fires on press, another on
whisper.cpp model and types the text at the cursor via wtype, in any release. whisrs transcribes locally with a whisper.cpp model and types
window, including terminals running the dockerized agent harnesses. 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 ~/.local/share/whisrs/models/. The daemon runs as the systemd user
service whisrs.service. 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 License
======= =======