Glossary
Wayland
Wayland is the display system that Linux desktops are moving to in place of the X Window System, called X11. Its compositor delivers input to each app, so a typing tool that worked on X11 may not type on a Wayland desktop.
Updated October 17, 20264 cited facts, each traced to its source
Also called Wayland, Wayland display server, Wayland protocol.
Wayland is a display system for Linux desktops. It is the newer replacement for the X Window System, usually called X11, and it is a protocol that apps use to talk to the display. On a Wayland desktop, the server is called a compositor. For dictation, the important change is that Wayland does not let one program type keystrokes into another the way X11 did. A dictation tool on Wayland needs a different route to put your words into the app you are writing in.
Wayland is a protocol, and the compositor runs it
The Wayland project describes Wayland as "a new display server and compositing protocol" 1. Apps are the clients. They draw their own windows and send the finished pictures to the compositor, which assembles the screen. The compositor also sends each app its input 2, so keyboard and mouse events reach an app through the compositor, not from another program.
Why typing tools that worked on X11 fail on Wayland
On X11, a tool could send keystrokes to any window. The xdotool README says that typing does not work on Wayland, and that it is unclear whether it could ever work there 3. That matters for dictation because the last step of dictation is typing the recognized words into the focused window. A speech engine can run perfectly and still leave the text nowhere if the typing step fails.
One workaround types below the display server
ydotool types by emulating an input device through the Linux kernel's uinput framework, so it works below the display server. Its daemon needs access to /dev/uinput 4, which is part of its setup on a Wayland desktop.
Example: choosing a tool for a Wayland session
Suppose you dictate on Ubuntu 26.04 with GNOME. An xdotool-based app can recognize your speech and still type nothing. A tool that types through ydotool, or that lists it as a typing method, is the route to test first. Our guide to speech to text on Linux compares the options and gives the setup steps for each session type. Try a short note before you rely on any tool, because the typing step is the part that fails.
Why it matters for dictation
Dictation has two jobs: recognizing your words, and typing them into the field that has focus. On Linux, the typing step is where dictation setups most often break. Check whether your session is X11 or Wayland before you pick an app. If you dictate into many apps, a system-wide dictation tool is only useful if its text insertion works on your session.
Related terms
- Text insertion: the step that types recognized words into the focused app.
- System-wide dictation: dictation that types into any app, which is harder on Wayland.
- Input method editor (IME): a typing layer that turns keystrokes into characters, used for languages such as Chinese and Japanese.
- Voice typing: the general term for typing with your voice.
Guides that cover it
Evidence
Every number on this page, with where it comes from. Open a fact to see the exact words in its source.
- 1.
- 2.
- 3.
- 4.
Related terms
- Voice Typing in Google Docs, Word and Every Other AppThe topic this term belongs to
- Connected experiences (Microsoft 365)Connected experiences are Microsoft 365 features backed by cloud services, and Dictate is one of the experiences that analyze your content. You can turn them off in Manage Settings, but that setting also turns off other services.
- CursorlessCursorless is a spoken language for structural code editing that lets developers code by voice. Every command is an action performed on a target in the code, and it runs on Talon with a VS Code extension.
- Dictate (Microsoft 365)Dictate is the speech-to-text feature in Microsoft 365 apps such as Word, Outlook and PowerPoint. It needs a Microsoft 365 subscription, a microphone and a reliable internet connection.
- Dictation (ChromeOS)Dictation on ChromeOS is a built-in accessibility feature that types recognized speech into an editable field. You turn it on with Search + D or the microphone icon in the status tray.
- Site microphone permissionSite microphone permission is the browser's setting for each website that decides whether that site may use your microphone, usually chosen when the browser prompts you. It works alongside the operating system's own microphone setting, so both must allow the microphone before a site can listen.
- Talon VoiceTalon Voice, usually called Talon, is hands-free input software for writing, coding, browsing and gaming. It runs alongside a speech-recognition engine, and it is used for voice coding, often together with the Cursorless editing language.
- Text insertionText insertion is the step where dictation software places recognized words into the text field that has the cursor. It is done either by simulating keystrokes or by pasting the text from the clipboard.
- Transcribe (Microsoft 365)Transcribe is a Word for Microsoft 365 feature that turns an uploaded audio file into text in the Transcribe pane, rather than typing your speech into the document. Its monthly limits depend on your license.
- Vibe codingVibe coding is building software by describing what you want to an AI model and accepting the code it writes, without reviewing that code. Andrej Karpathy introduced the term, and the developer Simon Willison argues for a narrower meaning than the broad one now in use.
- Voice codingVoice coding, also called programming by voice or coding by voice, is writing and editing source code by speaking instead of typing. It needs a speech-recognition engine and a separate platform that turns spoken words into code editing actions.
- Voice typing (Google Docs)Voice typing in Google Docs is a built-in speech-to-text tool that types as you speak. You start it from the Tools menu in a supported browser, and the browser controls the speech-to-text service.
- Web Speech APIThe Web Speech API is a set of browser interfaces that let a web page start speech recognition and receive the recognized words as text, through an object called SpeechRecognition. Where the recognition runs, on your device or on a server, depends on the browser.