Disponible Louvre 1.0, una biblioteca para desarrollar servidores compuestos basados ​​en Wayland

Los desarrolladores del proyecto Cuarzo OS han publicado la primera versión de la biblioteca Louvre, que proporciona componentes para desarrollar servidores compuestos basados ​​en el protocolo Wayland. El código está escrito en C++ y se distribuye bajo la licencia GPLv3.

La biblioteca gestiona todas las operaciones de bajo nivel, incluyendo la gestión de búferes gráficos, la interacción con subsistemas de entrada y las API gráficas de Linux, y también ofrece implementaciones listas para usar de diversas extensiones del protocolo Wayland. La disponibilidad de componentes listos para usar elimina la necesidad de dedicar meses a crear elementos típicos de bajo nivel y permite contar con un marco compuesto listo para usar y funcional. servidor, que puede adaptarse a sus necesidades y complementarse con la funcionalidad extendida necesaria. Si es necesario, el desarrollador puede anular los métodos proporcionados por la biblioteca para gestionar protocolos, eventos de entrada y renderizado.

Según los desarrolladores, la biblioteca supera significativamente el rendimiento de las soluciones de la competencia. Por ejemplo, un servidor compuesto de muestra, louvre-weston-clone, desarrollado con Louvre y que replica la funcionalidad del proyecto Weston, consume menos recursos de CPU y GPU en las pruebas en comparación con Weston y Sway, y además permite un FPS consistentemente alto, incluso en escenarios complejos.

 Disponible Louvre 1.0, una biblioteca para desarrollar servidores compuestos basados ​​en Wayland

Características principales del Louvre:

  • Soporte para trabajar en configuraciones con múltiples GPU (Multi-GPU).
  • Soporte para múltiples sesiones de usuario (Multi-Sesión, conmutación TTY).
  • Un sistema de renderizado que admite métodos basados ​​en renderizado 2D (LPainter), escena y vista.
  • Capacidad de utilizar sus propios shaders y programas OpenGL ES 2.0.
  • Redibujado automático realizado según sea necesario (solo cuando cambia el contenido del área).
  • El funcionamiento de múltiples subprocesos permite altos FPS con v-sync habilitado, incluso al renderizar escenarios complejos (las implementaciones de un solo subproceso tienen problemas para mantener altos FPS debido a la pérdida de cuadros que no se pueden procesar debido a demoras en la espera de la sincronización con el pulso de borrado de cuadros (vblank).
  • Admite almacenamiento en búfer simple, doble y triple.
  • Implementación de un portapapeles para datos de texto.
  • Wayland y soporte de extensiones:
    • XDG Shell es una interfaz para crear e interactuar con superficies como ventanas, permitiéndole moverlas por la pantalla, minimizarlas, maximizarlas, cambiar su tamaño y más.
    • Decoración XDG: representación de decoraciones de ventanas en el lado del servidor.
    • Tiempo de presentación: garantiza la visualización del vídeo.
    • Linux DMA-Buf: compartir varias tarjetas de vídeo mediante la tecnología dma-buf.
  • Soporte para trabajar en entornos basados ​​en controladores Intel (i915), AMD (amdgpu) y NVIDIA (controlador propietario o nouveau).
  • Funciones aún no implementadas (en la lista de planes):
    • Eventos táctiles: manejo de eventos de la pantalla táctil.
    • Gestos del puntero: control desde pantallas táctiles.
    • Viewporter: permite al cliente realizar acciones de recorte y escalamiento de la superficie del lado del servidor.
    • Transformación de objetos LView.
    • XWayland — lanzamiento de aplicaciones X11.

 Disponible Louvre 1.0, una biblioteca para desarrollar servidores compuestos basados ​​en Wayland
 Disponible Louvre 1.0, una biblioteca para desarrollar servidores compuestos basados ​​en Wayland


Fuente: opennet.ru

Añadir un comentario