Wayland 1.24 Released: Enhancing Linux Graphics & Compatibility
After 13 months of development, the stable release of Wayland 1.24 has been officially published—a protocol for interprocess communication and a suite of libraries powering modern graphical environments in Linux. This new version maintains full API and ABI compatibility with prior 1.x releases while introducing primarily bug fixes and moderate improvements. The source code is available under the MIT license on GitLab, and the official specification is hosted on the project’s website.
The most significant enhancement in this release is the introduction of the wl_fixes
interface, designed to resolve incompatibilities in core protocol implementations. For instance, the new destroy_registry
method enables the removal of the wl_registry
object, preventing further usage by clients and halting the propagation of related events.
A new pseudo-state called repeated
has been added for keyboard interaction, allowing the compositor to distinguish between a key being held down and multiple discrete key presses—an important refinement for remote access systems and gaming environments.
The library now includes wl_display_dispatch_queue_timeout()
and wl_display_dispatch_timeout()
functions, enabling dispatching with timeout awareness. This enhancement allows compositors to respond gracefully in the absence of events.
For memory management, the newly introduced wl_shm_buffer_ref()
and wl_shm_buffer_unref()
functions provide access to shared memory even after the destruction of the primary object. Additionally, methods such as wl_proxy_get_interface()
and wl_resource_get_interface()
improve integration with dynamically typed programming languages.
The wl_resource_post_error_vargs()
function has also been introduced, utilizing va_list
to expand error reporting capabilities.
Parallel to the core protocol updates, several auxiliary protocols are also progressing, including support for HDR (via color-management
), background blur effects (ext-background-effect
), window state transfer (xx-session-management
), and system-level alerts (xdg-system-bell
).
Over the past year, the Wayland ecosystem has seen marked evolution. The GTK toolkit has deprecated its X11 backend, Fedora 43 has removed X11 support from GNOME, and both Ubuntu and Kubuntu have adopted Wayland as the default. Desktop environments like KDE, Budgie, and MATE are actively preparing or have already implemented similar transitions. Compositors such as Weston, Niri, Hyprland, Sway, and others continue to receive updates, embracing the new capabilities Wayland offers.
Wayland operates on a model in which UI rendering is delegated to the client, while the compositor handles buffer composition. This architecture enhances security, ensures input/output isolation, and reduces rendering overhead. The project evolves in tandem with Weston, its reference implementation, and enjoys broad support across popular graphical toolkits—from GTK and Qt to SDL and EFL.
Finally, to run X11 applications atop Wayland, the XWayland component serves as a compatibility layer, akin to Xwin and XQuartz.