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

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

La biblioteca se encarga de todas las operaciones de bajo nivel, incluida la gestión de buffers de gráficos, la interacción con subsistemas de entrada y API de gráficos en Linux, y también ofrece implementaciones listas para usar de varias extensiones del protocolo Wayland. La presencia de componentes prefabricados permite no pasar meses de trabajo creando elementos estándar de bajo nivel, sino recibir inmediatamente un marco de servidor compuesto listo para usar y funcional, que puede adaptarse a sus necesidades y complementarse con lo necesario. funcionalidad extendida. Si es necesario, el desarrollador puede anular los métodos proporcionados por la biblioteca para manejar protocolos, eventos de entrada y eventos de representación.

Según los desarrolladores, la biblioteca tiene un rendimiento notablemente superior al de las soluciones de la competencia. Por ejemplo, un ejemplo de servidor compuesto, louvre-weston-clone, escrito con Louvre, que reproduce la funcionalidad del proyecto Weston, en comparación con Weston y Sway, consume menos recursos de CPU y GPU en las pruebas y también le permite para lograr FPS consistentemente altos, incluso en escenarios complejos.

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

Características clave del Louvre:

  • Soporte para configuraciones multi-GPU (Multi-GPU).
  • Admite múltiples sesiones de usuario (multisesión, conmutación TTY).
  • Un sistema de renderizado que admite métodos basados ​​en renderizado 2D (LPainter), escenas y vistas.
  • Posibilidad de utilizar sus propios sombreadores y programas OpenGL ES 2.0.
  • Redibujado automático realizado según sea necesario (solo cuando cambia el contenido del área).
  • Trabajo de subprocesos múltiples, lo que le permite lograr FPS altos con v-sync habilitado incluso cuando se renderizan escenarios complejos (las implementaciones de un solo subproceso tienen problemas para mantener FPS altos debido a fotogramas faltantes que no se pueden procesar debido a retrasos en la espera de sincronización con el pulso de supresión de fotogramas). (ven blanco).
  • Admite almacenamiento en búfer simple, doble y triple.
  • Implementación de un portapapeles para datos de texto.
  • Soporte para Wayland y extensiones:
    • XDG Shell es una interfaz para crear e interactuar con superficies como ventanas, que le permite moverlas por la pantalla, minimizarlas, expandirlas, cambiar su tamaño, etc.
    • Decoración XDG: representación de decoraciones de ventanas en el lado del servidor.
    • Tiempo de presentación: proporciona visualización de vídeo.
    • Linux DMA-Buf: intercambio de múltiples tarjetas de video utilizando tecnología dma-buf.
  • Soporta trabajo 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 pantalla táctil.
    • Gestos de puntero: controles de pantalla táctil.
    • Viewporter: permite al cliente realizar escalado y recorte de bordes de superficie en el lado del servidor.
    • Transformando 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