After nine months of development, a stable release of the composite server Weston 15.0 has been published, promoting technologies that support full Wayland protocol integration in Enlightenment, GNOME, KDE, and other desktop environments. The development of Weston aims to provide a high-quality codebase and working examples for using Wayland in desktop environments and embedded solutions, such as platforms for automotive infotainment systems, smartphones, TVs, and other consumer devices. The project's code is distributed under the MIT license.
Changes in the new branch of Weston:
- A new graphical shell called 'lua-shell' has been added (invoked as 'weston --shell=lua'), which allows for Lua scripting to customize window management behavior and create fully tailored user environments. An example based on 'lua-shell' has implemented a simple tiled window management system.
- An experimental rendering backend has been added that utilizes the Vulkan graphics API for output (activated with 'weston --renderer=vulkan'). This backend allows Weston to run on top of other Wayland and X11 compositors while working directly with the kernel's DRM subsystem drivers supporting Vulkan 1.0. In addition to the backend, Wayland clients simple-vulkan and simple-dmabuf-vulkan have been added. servers Support has been added for Wayland protocols commit-timing-v1 and fifo-v1. The commit-timing protocol allows time constraints to be bound to the surface content (the composite server must display content changes within the specified time, but not earlier). The fifo protocol implements a FIFO mechanism for processing the content update queue of the displayed surface. Together, these protocols enable smooth rendering and frame display, taking vertical sync into account for applications such as gaming and video playback. Support has been added for Vulkan extensions VK_KHR_present_id2 and VK_KHR_present_wait2, allowing for frame transfer in FIFO mode without increased latency.
- Support for Wayland protocols commit-timing-v1 and fifo-v1 has been added. The commit-timing protocol allows for timing constraints to be attached to surface content (the composite server should display content changes as soon as possible within a specified time, but not earlier). The fifo protocol implements a FIFO mechanism for processing the update queue of the displayed surface content. Together, these protocols allow for smooth rendering and frame display considering vertical synchronization in applications such as gaming and video playback. Vulkan extensions VK_KHR_present_id2 and VK_KHR_present_wait2 have been introduced, enabling frame transfers in FIFO mode without increased latency.
- Support has been added for the Wayland protocol color-representation-v1 to define the color representation of a Wayland surface, necessary for HDR support and accurate rendering of full-color YUV buffers. The protocol allows Wayland clients to transmit metadata necessary for determining transparency, color model, subsampling, and quantization range, which are used when converting YUV color model data into the RGB representation. Support has been added for pixel formats with 10 bits per channel, such as NV15, NV20, NV30, and P030.
- The ability to utilize KMS (Kernel Mode Setting) kernel modules for off-loading color conversion operations to the display controller has been added.
- The Perfetto profiler can now be used to identify performance issues during rendering, as well as to track and visualize the execution time of various operations.
- Basic support for the VRR (Variable Refresh Rate) mechanism has been added to the DRM backend, adaptively changing the monitor's refresh rate to ensure smoothness and eliminate tearing during gaming and video playback. A DRM driver with VRR support is required for use.
Source: opennet.ru
