Unofficial community reference. Not affiliated with 37signals or the Omacom Foundation. Download Omarchy only from omarchy.org.
omarchylinux.org Unofficial field manual

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.

Workaround available Applies to Omarchy 3.x Last verified 2026-09-16 on 4.0.4
Short answer

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.

On this page
  1. The fix
  2. Verify it worked
  3. Why it happens
  4. If that did not work
  5. Related

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.

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.

IssueStateCommentsOpened
#4159 Voxtype keybinding sequence · fixed by #54 #5345 closed132026-01-08
#2467 Integrate hyprwhspr for whisper dictation/speech-to-textclosed42025-10-15
#12617 amdgpu/TTM: kernel oops in `ttm_lru_bulk_move_tail()` (corrupt LRU `list_head`) from `amdgpu_cs_ioctl`open152026-09-20
#4185 Voxtype: Transcription triggers system shortcuts if Super key is heldclosed92026-01-09
#6024 Browser crash, probably from video autoplay, freezes Hyprlandopen52026-06-02
#12208 Lock screen dies during HDMI/display thrash → Hyprland “lockscreen app died” failsafe loopopen52026-09-17
#10207 omarchy-shell SIGSEGV in QQuickItem::mapToScene while Qt synthesizes a context-menu eventopen52026-09-04
#7135 Quattro removes playerctl while default Voxtype config requires it · fixed by #570 open42026-08-16
#8312 Dictation (Voxtype) leaves broken install on CPUs without AVX2 instead of failing gracefullyclosed52026-08-25
#5882 F9 should not be bound to Voxtype dictation by default. Bare function keys must not be rebound. · fixed by #5897 closed42026-05-16

Accepted answers upstream

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.

Unofficial. Verify against the official manual for your version. Improve this page Markdown version Sources