stable release of the protocol, inter-process communication mechanism, and libraries . The 1.18 branch is backward compatible at the API and ABI level with the 1.x releases, but also includes a number of improvements. The composite server Weston 8.0, which develops the codebase and working examples for using Wayland in desktop environments and embedded solutions, was released at the end of January.
Key improvements in Wayland 1.18:
- Added support for the Meson build system. The ability to build using autotools is still preserved but will be removed in future releases;
- API for partitioning proxy objects based on tags, allowing applications and toolkits to share a single Wayland connection;
- Server wayland timer tracking in user space has been implemented, which helped eliminate the creation of an excessive number of file descriptors;
- wl_global_remove() function, which sends a global object deletion event without cleaning it up. The new function eliminates the occurrence of race conditions when deleting global objects. Such race conditions could happen because clients were unable to confirm receipt of the deletion event. The wl_global_remove() function allows the deletion event to be sent first and only after a certain delay to clean up the object.
Status of Wayland support in applications, desktop environments, and distributions:
- In Fedora Wayland-based Firefox builds are supplied by default. Issues with using proprietary NVIDIA binary drivers with Wayland have been resolved.
an experimental ability to automatically launch XWayland when trying to run an application based on the X11 protocol.
In the Wayland environment, the ability to run X11 applications with root privileges under XWayland has been added. SDL for Wayland has resolved scaling issues when running older games that work in low screen resolutions. The Qt library for use in the GNOME environment is built by default with Wayland support; - In GNOME is offered as the desktop utilizing the Wayland-based display server by default;
- In the GTK 4 preview release in GDK the implementation of APIs developed with regard to using the Wayland protocol. The GDK backend for Wayland has added support for the portal interface to access GtkSettings, and for handling input methods, support for the text-input-unstable-v3 protocol extension has been proposed;
- the project aimed at eliminating GNOME's bugs and shortcomings that manifest when operating over Wayland;
- In XWayland a GLX handler based on the EGL API, which will eliminate the need for the software rasterizer swrast;
- Among the development goals for KDE in the next two years the transition of KDE to Wayland. The KDE environment running on Wayland is planned to become primary, while the X11-based environment will be relegated to optional dependencies. During the reporting period in KDE support for fractional scaling when operating over Wayland. The KDE session based on Wayland has been adapted to work with proprietary NVIDIA drivers. The ability to drag and drop application windows using XWayland and Wayland has been introduced. KWin ensures correct mouse wheel scrolling in the Wayland environment;
- In GNOME the possibility to automate the launch of XWayland when attempting to execute an application based on the X11 protocol (previously, XWayland had to be constantly running);
- work on porting the user environment applications MATE for Wayland. In the image viewer Eye of MATE has been adapted for Wayland, and the support for Wayland in the MATE panel has been improved;
- In Qt Wayland Compositor support for the linux-dmabuf-unstable-v1 and wp_viewporter protocols. The Qt platform components for Wayland have added support for the fullscreen-shell-unstable-v1 protocol;
- Waypipe — a proxy for the Wayland protocol, allowing applications to run on another host;
- In the user environment significantly improved support for operation under Wayland;
- For Firefox a new backend for Wayland that uses the DMABUF mechanism for rendering to textures;
- In Ubuntu in the Wayland-based environment the ability to run X11 applications with root privileges under Xwayland;
- a set of Wine-wayland patches and the winewayland.drv driver, which allow using Wine in environments based on the Wayland protocol, without the use of XWayland and components related to X11;
- The development of Mir as a composite server for Wayland continues. In the tools for launching Wayland applications in the Mir environment Wayland protocol extensions. Code performance optimization related to Wayland has been enhanced, and a new graphical platform "wayland" has been added, enabling Mir to run as a client under another Wayland compositing server. Experimental support for the dynamic launching of X11 applications in a Wayland-based environment.
- New releases of the Sway user environment that uses Wayland;
- The Lubuntu distribution the transition to Wayland for 2020. Support for Wayland is expected to be implemented by porting the Openbox window manager to utilize the Mir display server, which will serve as a compositing server for Wayland;
- Is under development , a Wayland-based compositing server for running individual applications in kiosk mode;
- Work continues on the release of LXQt 1.0.0, with the main task being to ensure full readiness for operation over Wayland;
- Output system in the mechanism for running Linux virtual machines on ChromeOS integrated support for Wayland clients (virtio-wayland) with the compositing server running on the main host and efficient GPU utilization from guest systems;
- For FreeBSD ports necessary for building KDE with Wayland support;
- In DragonFly BSD OS Wayland and Weston ported, support for XWayland;
- User environments utilizing Wayland and have merged into a new project . Liri is based on Qt 5 (QML) and promotes a Material Design style;
- Wayland is utilized by default on mobile platforms , , ,
