The Louvre 1.2.0 library is now available, providing components for developing composite servers based on the Wayland protocol. The library takes care of all low-level operations, including managing graphics buffers, interacting with input subsystems and graphics APIs in Linux, and also offers ready-made implementations of various extensions of the Wayland protocol. A composite server based on Louvre consumes significantly less resources and demonstrates higher performance compared to Weston and Sway. The code is written in C++ and distributed under the GPLv3 license. An overview of Louvre's capabilities can be read in the announcement of the first release of the project.
In the new version:
- Added support for setting non-integer scale values ββ(fractional scale) and oversampling (oversampling) to reduce anti-aliasing artifacts when increasing the scale. For fractional scaling, the Wayland protocol fractional-scale is used.
- Using the tearing-control protocol, it is possible to disable vertical synchronization (VSync) with a vertical damping pulse, used to protect against tearing in full-screen applications. In multimedia applications, artifacts due to tearing are an undesirable effect, but in gaming programs, artifacts can be tolerated if dealing with them causes additional delays.
- Added support for gamma correction using the Wayland protocol wlr-gamma-control.
- Added support for the Wayland βviewporterβ protocol, which allows the client to perform scaling and surface edge trimming actions on the server side.
- Methods have been added to the LPainter class for drawing texture areas with high precision and applying transformations.
- The LTextureView class provides support for source rectangles (βsource rectβ, a rectangular area for display) and transformations.
- Added the LBitset class to reduce memory consumption when storing flags and states.
Source: opennet.ru