Voxtype dictation not working on Omarchy
F9 and Super + Ctrl + X do nothing, Voxtype crashes, or the model never loads. The install check, the CPU baseline, the GPU symlink, and the mic.
Run `command -v voxtype` first. If it is missing, install from the Omarchy menu under Install > AI > Dictation. If it is present but the keys do nothing, run `voxtype setup check` and `systemctl --user status voxtype`. The three common faults on Omarchy 4 are a CPU without AVX2 (SIGILL), a GPU backend that never got enabled because the installer omits sudo, and the input group being dropped by a 4.0.2 migration.
Dictation on Omarchy is Voxtype, installed on demand rather than shipped with the system. “Dictation is not working” turns out to be five separate faults with the same symptom, so work through them in order. Everything below was checked against the v4.0.4 source tree and against v3.8.4 for the 3.8 differences.
The fix
1. Confirm Voxtype is actually installed.
command -v voxtype
If that prints nothing, the keys were never bound. Omarchy 4 defines its dictation bindings in default/hypr/bindings/voxtype.lua inside a o.cmd_present("voxtype") guard, so with no binary there is no F9 and no Super + Ctrl + X. Install it from the Omarchy menu under Install > AI > Dictation, or run omarchy voxtype install. On 3.8.x the same bindings lived in default/hypr/bindings/utilities.conf and were unconditional, so there the keys existed but did nothing.
2. Check your CPU before you install anything.
grep -o avx2 /proc/cpuinfo | head -1
If that prints nothing, stop. The packaged voxtype-bin ships only AVX2 and AVX-512 builds (true of both 0.7.5 and 1.0.1), and /usr/bin/voxtype points at the AVX2 one, so it aborts with FATAL: Illegal CPU instruction (SIGILL) on every run. The installer does not check, so you end up with a package that can never work. This is reported in issue #7883 and issue #8312, both still open on 4.0.4. PR #7890 would add a pre-flight refusal but has not merged.
3. If the install “succeeded” but transcription is glacial, fix the GPU symlink.
ls -la /usr/bin/voxtype
sudo voxtype setup gpu --enable
systemctl --user restart voxtype
The installer calls voxtype setup gpu --enable as your user, and an unprivileged process cannot rewrite the root-owned symlink. A trailing || true hides the error, so the install still reports success and still shows the “Voxtype Dictation Ready” notification. Reported in issue #7099 and issue #11110; PR #7129 is open.
4. If Voxtype crash-loops instead, disable the GPU backend.
sudo voxtype setup gpu --disable
systemctl --user restart voxtype
Omarchy enables Vulkan whenever any ICD file exists, which is not the same as the device being usable. On Haswell-era Intel graphics using the hasvk driver, ggml refuses the device at model load, the daemon aborts, and systemd restarts it every five seconds. Issue #11370 reports roughly 127,000 core dumps from this loop.
5. If you use Voxtype’s own hotkey rather than the Hyprland bindings, rejoin the input group.
voxtype setup check
sudo usermod -aG input $USER
Log out and back in afterwards. Migration 1787865477.sh in 4.0.2 removes the blanket input group grant, keeping it only for xpadneo or ydotool users. Voxtype’s own hotkey listener opens /dev/input/event* itself rather than going through Hyprland, so once the group is gone it logs No keyboard device found in /dev/input/ while otherwise looking healthy. Found by kurenn in issue #12013. The stock Omarchy setup is unaffected, because the shipped config has [hotkey] enabled = false and the compositor bindings do not need the group.
6. Check the microphone and the model.
pactl list sources short
systemctl --user status voxtype
journalctl --user -u voxtype -n 50
Voxtype’s [audio] device defaults to default, so it follows your system input. If the wrong source is picked up, set the device name from pactl list sources short in ~/.config/voxtype/config.toml. Model problems show up in the journal at load time; re-run voxtype setup model or omarchy voxtype model to re-download.
Verify it worked
Open a text editor, hold F9, say a sentence, release. The text should land at the cursor. The mic glyph in the bar lights up as active while recording, then changes to an hourglass while transcribing.
Two things that are not proof of failure. Clicking the Dictation indicator opens the Voxtype config rather than toggling dictation. That is what shell/plugins/bar/indicators/Dictation.qml does on 4.0.4, and the shell test fixture asserts it, even though the manual’s top bar chapter says clicking an indicator toggles that mode. Issue #7900 is open on the mismatch. And if Voxtype is not installed, clicking the same glyph opens a terminal that prints voxtype: command not found instead of offering to install, per issue #6823.
For the GPU case, ls -la /usr/bin/voxtype should now point at voxtype-vulkan, and the journal should show a Vulkan device at model load.
Why it happens
Omarchy treats dictation as an optional add-on wired together by one short script. omarchy-voxtype-install adds wtype and voxtype-bin, copies the packaged config.toml into ~/.config/voxtype/, downloads a model, optionally enables the GPU, and registers the systemd user service. Almost every failure above is a missing guard in that sequence rather than a bug in Voxtype itself.
The installer never checks the CPU baseline, never checks the architecture, and never checks whether the Vulkan device can run ggml. It also runs the one step that needs root without root. That step ends in || true and the other checks simply are not there, so the script finishes cleanly and the notification claims dictation is ready.
The menu and the installer key off the package name voxtype-bin while the keybindings key off the voxtype command. On Apple Silicon voxtype-bin is arch=('x86_64') and cannot install at all, so the first-run invitation notification pushes users toward a flow that always fails. Issue #8530 covers the Apple Silicon dead end and issue #11749 covers the package-versus-command mismatch, including the case where an AUR-built voxtype works but Omarchy still reports dictation as not installed.
If that did not work
Keys fire while text is being typed. Releasing Super last after Super + Ctrl + X makes the transcription arrive as a burst of modifier combinations. Issue #4159 collects workarounds using a Hyprland submap that swallows modifiers during output; Voxtype’s maintainer said there that pre- and post-output hooks were his planned upstream answer. The simplest avoidance is to dictate with bare F9.
F9 collides with your editor. It is bound by default once Voxtype is installed. Add hl.unbind("F9") to your Lua config on 4.x, or unbind = , F9 on 3.x, as r3quie noted in issue #5882.
Media does not pause. On voxtype-bin 0.7.5 the pause_media default shells out to playerctl, which Quattro removed and the installer never adds. Issues #7135 and #9243 both record playerctl not found or failed to run in the journal. Voxtype’s maintainer says 1.0.0 switched to a D-Bus call and recommends upgrading the package over reinstalling playerctl.
CJK text arrives corrupted. Switch [output] mode away from type in ~/.config/voxtype/config.toml; the reporter used paste. Issue #10050 traces this to how wtype assigns characters to temporary keycodes, which some clients read as physical keys.
Pre-AVX2 hardware. There is no packaged path on 4.0.4. Voxtype’s maintainer said on issue #8312 that pre-AVX2 binaries would start with 1.0.1, but the 1.0.1 release notes list only AVX2 and AVX-512 builds, and his later comment on issue #7883 says they are still in testing.
Related
Upstream threads about this error
82 issues on the Omarchy tracker match this error cluster. Newest fixes often appear as comments on the most-discussed threads.
| Issue | State | Comments | Opened |
|---|---|---|---|
| #4159 Voxtype keybinding sequence · fixed by #54 #5345 | closed | 13 | 2026-01-08 |
| #2467 Integrate hyprwhspr for whisper dictation/speech-to-text | closed | 4 | 2025-10-15 |
| #12617 amdgpu/TTM: kernel oops in `ttm_lru_bulk_move_tail()` (corrupt LRU `list_head`) from `amdgpu_cs_ioctl` | open | 15 | 2026-09-20 |
| #4185 Voxtype: Transcription triggers system shortcuts if Super key is held | closed | 9 | 2026-01-09 |
| #6024 Browser crash, probably from video autoplay, freezes Hyprland | open | 5 | 2026-06-02 |
| #12208 Lock screen dies during HDMI/display thrash → Hyprland “lockscreen app died” failsafe loop | open | 5 | 2026-09-17 |
| #10207 omarchy-shell SIGSEGV in QQuickItem::mapToScene while Qt synthesizes a context-menu event | open | 5 | 2026-09-04 |
| #7135 Quattro removes playerctl while default Voxtype config requires it · fixed by #570 | open | 4 | 2026-08-16 |
| #8312 Dictation (Voxtype) leaves broken install on CPUs without AVX2 instead of failing gracefully | closed | 5 | 2026-08-25 |
| #5882 F9 should not be bound to Voxtype dictation by default. Bare function keys must not be rebound. · fixed by #5897 | closed | 4 | 2026-05-16 |
Accepted answers upstream
- What's everyone using for Speech to Text? · answered by lukejmorrison
- Dictation: typing is the wrong model for multilingual users — suggest clipboard as the voxtype default · answered by schmunk42
- Add voxtype config to Omarchy menu · answered by peteonrails
- Better voice-to-text dictation default? · answered by pomartel
Questions people ask
- Why do F9 and Super + Ctrl + X do nothing at all?
- Both bindings live in a block guarded by `o.cmd_present("voxtype")`. If the voxtype binary is not on PATH, Hyprland never registers them and the keys fall through to the focused app. Check with `command -v voxtype` before touching any config.
- How do I change which Whisper model Voxtype uses?
- Run `voxtype setup model` in a terminal, or `omarchy voxtype model`, which opens the same thing in a floating terminal and restarts the shell afterwards. The default that Omarchy installs is base.en, about 150MB. The model is also settable directly in ~/.config/voxtype/config.toml under [whisper].
- Can I use dictation on an older laptop without AVX2?
- Not with the packaged voxtype-bin. Both 0.7.5 and 1.0.1 ship only AVX2 and AVX-512 builds, so the binary dies with SIGILL on pre-Haswell CPUs. Voxtype's maintainer said in September 2026 that pre-AVX2 builds were in testing, without a ship date.
- Dictation works but my music keeps playing. Is that a bug?
- Yes, on voxtype-bin 0.7.5. The shipped config sets pause_media = true, but that path shelled out to playerctl, which Omarchy 4 does not install. According to Voxtype's maintainer, 1.0.0 replaced it with a direct D-Bus call, so upgrading the package fixes it.
Sources and credit
Fixes on this page were worked out by sgruendel (First reported the GPU symlink never being rewritten and opened PR #7129), RonildoBraga (Showed on 4.0.2 that the missing sudo on voxtype setup gpu --enable leaves the CPU backend in place), kurenn (Found that migration 1787865477 removes the input group and kills Voxtype's own evdev hotkey), montanasnow (Showed that pause_media is inert because playerctl is never installed), llyorshch (Diagnosed the Haswell Vulkan crash loop and the setup gpu --disable workaround), r3quie (Documented the unbind for the default F9 binding). Text here is our own paraphrase; follow the links for the original threads.
- issueIssue #7883: Dictation installer offers AVX2-only Voxtype on CPUs without AVX2 · t0d0r · 2026-08-23
- issueIssue #8312: Dictation (Voxtype) leaves broken install on CPUs without AVX2 instead of failing gracefully · ironbract · 2026-08-25
- issueIssue #11110: voxtype install silently leaves the CPU backend: 'voxtype setup gpu --enable' runs without sudo · RonildoBraga · 2026-09-10
- issueIssue #7099: Voxtype does not symlink to voxtype-vulkan on Vulkan enabled system · sgruendel · 2026-08-16
- issueIssue #11370: Voxtype install enables Vulkan on Haswell (hasvk) GPUs, causing an endless SIGABRT crash loop · llyorshch · 2026-09-11
- issueIssue #12013: Migration 1787865477 drops the input group, silently breaking Voxtype's evdev hotkey · kurenn · 2026-09-15
- issueIssue #9243: Voxtype pause_media silently fails: playerctl not installed by omarchy-voxtype-install · montanasnow · 2026-08-30
- issueIssue #7135: Quattro removes playerctl while default Voxtype config requires it · barlevalon · 2026-08-16
- issueIssue #8530: Dictation installer offers x86-only voxtype-bin on Apple Silicon, making Voxtype uninstallable · twitchax · 2026-08-27
- issueIssue #11749: Dictation installer and menu check for voxtype-bin instead of the voxtype command · cristim · 2026-09-13
- issueIssue #5882: F9 should not be bound to Voxtype dictation by default. Bare function keys must not be rebound. · r3quie · 2026-05-16
- issueIssue #4159: Voxtype keybinding sequence · pomartel · 2026-01-08
- issueIssue #7900: Dictation indicator opens the config instead of toggling dictation, unlike every other indicator · projmans · 2026-08-23
- issueIssue #6823: Dictation bar icon errors when voxtype isn't installed (missing guard in click handler) · brwaters · 2026-08-13
- issueIssue #10050: Default Voxtype type mode can corrupt longer Japanese/CJK dictation through wtype · komagata · 2026-09-03
- prPR #7129: Fix Voxtype GPU setup failing silently · sgruendel · 2026-08-16
- prPR #7890: Reject Voxtype on CPUs without AVX2 · kx0101 · 2026-08-23
- manualOmarchy manual: Text Extraction and Dictation