Wayland 1.25 is now available

After eight months of development, a stable release of the Wayland protocol, inter-process communication mechanism, and libraries 1.25 has been presented. The 1.25 branch is backward compatible at the API and ABI levels with the 1.x releases and mainly includes bug fixes and minor protocol updates. The project's developments are distributed under the MIT license. The reference compositor server Weston, which provides code and working examples for using Wayland in desktop environments and embedded solutions, is evolving within a separate development cycle.

Key changes in the protocol:

  • The documentation has been converted from DocBook format to mdBook (Markdown).
  • The Wayland XML dialect, content update model, and color management capabilities are fully documented.
  • A new 'frozen' attribute has been added for interfaces with multiple parent interfaces.
  • A new request wl_surface.get_release has been added to receive notifications about the release of a buffer attached by the client via wl_surface.attach. Unlike wl_buffer.release, the notification in wl_surface.get_release is tied to a specific rendering moment.
  • The function wl_display_dispatch_pending_single() has been added, allowing the retrieval of a single event from the queue and processing only that event instead of processing all accumulated events as wl_display_dispatch_pending() does.
  • Color highlighting for WAYLAND_DEBUG output has been provided.

The extensions added since the release of Wayland 1.25 complementing the core Wayland protocol and provided in a separate set of Wayland-Protocols include:

  • xx-input-method — allows applications to implement text input methods for compositors servers and to compose the entered text, which can be used, for instance, to create virtual keyboards and IME layers (Input Method Editor) for handling input.
  • xx-text-input — allows composite servers to implement input methods and send text to applications. The protocol standardizes interaction between the compositor proxy server and applications and enables management of features like text entry transfer, focus change events handling, and consideration of input field specifics (language, text selection, content type).
  • The color-management-v1 and color-representation-v1 protocols have been refined, providing capabilities for color management, HDR support, and determining the color representation of Wayland surfaces.

The most notable events related to Wayland that have occurred since the last release:

  • Support for X11 has been removed in GNOME 50. In KDE Plasma 6.8, it has been decided to discontinue X11 support.
  • JetBrains is transitioning the IntelliJ IDE to use Wayland by default.
  • Xfce has announced the Xfwl4 compositor server, which uses Wayland.
  • The Budgie 10.10 desktop environment has been ported to Wayland.
  • QNX Developer Desktop based on Wayland.
  • Marathon OS — a mobile OS based on Wayland.
  • Release of Wayback, a layer for launching X11 desktops using Wayland components.
  • Cinnamon has added the optional ability to install session files for Wayland and implemented the ability to switch keyboard layouts while using Wayland.
  • The wine driver now supports clipboard, input methods, non-rectangular windows, and transparency in Wayland-based environments.
  • Cairo-Dock has added support for Wayland.
  • Update of compositing servers: Weston 15.0, River 0.4.0, Hyprland 0.54, labwc 0.9.4, Niri 25.11, miracle-wm 0.8, Wayfire 0.10, wlmaker 0.6, labwc 0.9.0.

Remember that Wayland is a protocol for communication between compositors server and the applications that operate with it. Clients independently render their windows in a separate buffer, sending update information to the compositor server, which combines the content of each application's buffers to form the final output, accounting for nuances such as window overlaps and transparency. In other words, the compositor does not provide an API for rendering individual elements but operates only with already formed windows, which eliminates double buffering when using high-level libraries like GTK and Qt that handle the layout of window content.

Wayland addresses many security issues of X11, as unlike the latter, it isolates input and output for each window, prevents a client from accessing the contents of other clients' windows, and does not allow interception of input events related to other windows. Direct support for working with Wayland is implemented for most graphical libraries used in Linux, including GTK, Qt, SDL, FLTK, wxWidgets, Clutter, and EFL (Enlightenment Foundation Library).

Interaction with hardware in Wayland/Weston, such as performing initialization, switching video modes (drm modesetting), and managing memory (GEM for i915 and TTM for radeon and nouveau) of graphics cards, can be done directly through a module operating at the kernel level, allowing for operation without superuser privileges. To run standard X11 applications in a Wayland-based environment, the DDX component XWayland (Device-Dependent X) is used, which operates similarly to Xwin and Xquartz for Win32 and macOS platforms.

Wayland 1.25 is now availableWayland 1.25 is now available

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster