Louvre 1.0 is available, a library for developing composite servers based on Wayland.

The developers of the Cuarzo OS project have released the first version of the Louvre library, which provides components for developing composite servers based on the Wayland protocol. The code is written in C++ and is distributed under the GPLv3 license.

The library handles 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 Wayland protocol extensions. The availability of these components allows developers to save months of work on creating standard low-level elements and instead quickly obtain a ready-to-use composite framework. server, which can be adapted to specific needs and supplemented with the necessary extended functionality. If needed, developers can override the methods provided by the library for handling protocols, input events, and drawing.

According to the developers, the library significantly outperforms competing solutions in performance. For instance, the composite server example louvre-weston-clone, created using Louvre and replicating the functionality of the Weston project, consumes fewer CPU and GPU resources in conducted tests compared to Weston and Sway, and also achieves consistently high FPS even in complex scenarios.

Louvre 1.0 is available, a library for developing composite servers based on Wayland.

Key features of Louvre:

  • Support for operation in multi-GPU configurations (Multi-GPU).
  • Support for multiple user sessions (Multi-Session, TTY switching).
  • A rendering system supporting 2D rendering-based methods (LPainter), scenes (Scene), and views (Views).
  • The ability to use custom shaders and OpenGL ES 2.0 programs.
  • Automatic redraw executed as needed (only when the content area changes).
  • Multithreading, allowing for high FPS with v-sync enabled even when rendering complex scenarios (single-threaded implementations struggle to maintain high FPS due to dropped frames caused by delays waiting for synchronization with the vertical blanking interval (vblank)).
  • Support for single, double, and triple buffering.
  • Implementation of a clipboard for text data.
  • Support for Wayland and extensions:
    • XDG Shell — an interface for creating and interacting with surfaces as windows, allowing them to be moved across the screen, minimized, maximized, resized, etc.
    • XDG Decoration — rendering window decorations on the server side.
    • Presentation Time — ensures video display.
    • Linux DMA-Buf — sharing multiple graphics cards using the dma-buf technology.
  • Support for working in environments based on Intel (i915), AMD (amdgpu), and NVIDIA (proprietary driver or nouveau) drivers.
  • Unimplemented features (on the roadmap):
    • Touch Events — handling touch screen events.
    • Pointer Gestures — control from touch screens.
    • Viewporter — allows the client to perform scaling and cropping actions on the server side.
    • Transformation of LView objects.
    • XWayland — running X11 applications.

Louvre 1.0 is available, a library for developing composite servers based on Wayland.
Louvre 1.0 is available, a library for developing composite servers based on Wayland.


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster