How to Voice Type on Linux: Wayland, X11, GNOME, KDE
Linux desktops don't ship voice typing that works in every app. How to add it on Ubuntu, Fedora or Arch, and the extra Wayland step GNOME and KDE need.
Quick answer: To voice type on Linux, install a dictation app, then check your session with echo $XDG_SESSION_TYPE. On X11 the app can type into any window straight away. On Wayland it needs a helper: on GNOME and KDE that's ydotool plus membership of the input group; on Hyprland and Sway, wtype is enough.
Why voice typing on Linux takes an extra step
On a Mac or a Windows PC, voice typing that works in every app is built into the system. The main Linux desktops don't come with an equivalent, so you add it with an app. That part is easy. The extra step comes from how the app gets your words into other windows.
On X11, any app can listen for a global hotkey and type into whichever window has focus. Dictation apps just work.
On Wayland, apps can't type into each other's windows by default. That's deliberate: it stops one program from injecting keystrokes into another. A dictation app needs a helper that's allowed to send keystrokes:
ydotoolcreates a virtual input device through the kernel'suinputframework, so it works on any desktop, including GNOME and KDE. Its README notes that its daemon,ydotoold, is mandatory since version 1.0 and needs access to/dev/uinput, which usually requires root. Adding your user to theinputgroup is the usual way to give it that access without running as root.wtypedescribes itself as "xdotool type for wayland". On wlroots compositors such as Hyprland and Sway, it can type withoutydotool.
So the setup depends on two things: X11 or Wayland, and which desktop you run.
Step 1: Check whether you're on Wayland or X11
Open a terminal and run:
echo $XDG_SESSION_TYPE
It prints x11 or wayland. Note the answer; step 4 only applies to Wayland.
Step 2: Choose a dictation app
The app decides where your voice is processed and how clean the text is:
- Local and free: apps that run Whisper models on your machine. They work offline, but the accurate models want a GPU.
- Cloud with AI cleanup: apps that send audio to a server and return text with filler words removed and punctuation fixed. They run well on any laptop but need a connection.
We compared the options, including which ones handle Wayland, in the best dictation apps for Linux. The steps below use Blip AI, which is the app we build, but the Wayland part is the same idea for most apps.
Step 3: Install the app
For Blip AI, the AppImage installs with four commands:
mkdir -p ~/.local/bin
curl -L -o ~/.local/bin/BlipAI.AppImage "https://www.blipai.app/download/linux"
chmod +x ~/.local/bin/BlipAI.AppImage
~/.local/bin/BlipAI.AppImage
If it complains about FUSE, run sudo apt install libfuse2 on Ubuntu or Debian, or start it with --appimage-extract-and-run.
On X11 you're done. Skip to step 5.
Step 4: Set up typing on Wayland
Install the helpers
| Distro | Command |
|---|---|
| Ubuntu / Debian | sudo apt install wtype wl-clipboard ydotool |
| Fedora | sudo dnf install wtype wl-clipboard ydotool |
| Arch | sudo pacman -Syu wtype wl-clipboard ydotool |
Join the input group
sudo usermod -aG input $USER
Log out completely and log back in (or reboot), then check with groups | grep input. The group change doesn't apply to the session you were in.
On GNOME or KDE, start the ydotool daemon
systemctl --user enable --now ydotool
On Hyprland or Sway you can skip this: wtype handles typing there.
Step 5: Dictate
Click into any text field: a browser, a chat app, your editor or a terminal. With Blip AI, hold Ctrl + Super, speak, and let go. The cleaned-up text appears at your cursor. Add Space to the hotkey for hands-free dictation, and change the hotkey in settings if it clashes with your desktop's shortcuts.
The full guide, with copy buttons and the same steps for each distro, is in our Linux setup guide.
Fixing the usual problems
- Text doesn't appear on Wayland. Check
systemctl --user status ydotoolon GNOME or KDE. If it saysydotooldcan't open/dev/uinput, you haven't logged out and back in since joining theinputgroup. - The hotkey does nothing. Make sure the
inputgroup change is active (groups | grep input); push-to-talk relies on it on Wayland. - It worked, then stopped after you moved the AppImage. Point your launcher or
PATHat the new location.
How Blip AI makes Linux voice typing faster
Once typing works, the speed comes from talking instead of typing: conversational speech runs at about 150 words per minute, against about 52 for the average typist. Blip AI is built for that on Linux:
- Works in any app with a text field, including terminals and SSH sessions, because it types into your local window. See voice in Claude Code for a coding example.
- Clean text, not a transcript. Filler words are removed and punctuation is fixed as you dictate.
- Action Mode. Start with "Hey Blip" and describe a message, and Blip drafts it instead of transcribing word for word.
- Cloud or offline. Blip Cloud is the default; you can download an on-device Whisper model to transcribe offline.
- Same account everywhere. Blip also runs on Mac, Windows, iOS and Android, and history is stored on your device, not on Blip's servers.
The free plan includes 2,000 words a month. Download Blip AI or follow the Linux setup guide.
FAQ
Does Linux have built-in voice typing? Not system-wide on the main desktops. GNOME and KDE don't include voice typing that works in every app the way macOS Dictation or Windows Voice Typing do, so you add it with a dictation app.
How do I voice type on Ubuntu? Install a dictation app, then run echo $XDG_SESSION_TYPE. If it prints wayland, also install ydotool, join the input group, log out and back in, and start the ydotool user service.
Why doesn't dictation type into other apps on Wayland? Wayland stops apps from sending keystrokes to other windows. A dictation app needs a helper such as ydotool (any desktop, via a virtual input device) or wtype (wlroots compositors like Hyprland and Sway) to type for it.
Do I need ydotool on Hyprland or Sway? Usually not. On wlroots compositors wtype can type without ydotool; you still need it on GNOME and KDE.
Can I voice type into the Linux terminal? Yes. A system-wide dictation app types into whichever window has focus, including terminal emulators and SSH sessions running in them.