Louvre 1.0, uma biblioteca para desenvolvimento de servidores compostos baseados em Wayland, está disponível

Os desenvolvedores do projeto Cuarzo OS apresentaram o primeiro lançamento da biblioteca Louvre, que fornece componentes para o desenvolvimento de servidores compostos baseados no protocolo Wayland. O código é escrito em C++ e distribuído sob a licença GPLv3.

A biblioteca cuida de todas as operações de baixo nível, incluindo gerenciamento de buffers gráficos, interação com subsistemas de entrada e APIs gráficas no Linux, e também oferece implementações prontas de várias extensões do protocolo Wayland. A presença de componentes prontos torna possível não gastar meses de trabalho na criação de elementos padrão de baixo nível, mas receber imediatamente uma estrutura de servidor composta pronta e funcional, que pode ser adaptada às suas necessidades e complementada com o necessário funcionalidade estendida. Se necessário, o desenvolvedor pode substituir os métodos fornecidos pela biblioteca para lidar com protocolos, eventos de entrada e eventos de renderização.

Segundo os desenvolvedores, a biblioteca é visivelmente superior em desempenho às soluções concorrentes. Por exemplo, um exemplo de servidor composto, louvre-weston-clone, escrito usando Louvre, que reproduz a funcionalidade do projeto Weston, em comparação com Weston e Sway, consome menos recursos de CPU e GPU nos testes, e também permite que você para atingir FPS consistentemente altos, mesmo em cenários complexos.

Louvre 1.0, uma biblioteca para desenvolvimento de servidores compostos baseados em Wayland, está disponível

Principais características do Louvre:

  • Suporte para configurações multi-GPU (Multi-GPU).
  • Suporta múltiplas sessões de usuário (multissessão, comutação TTY).
  • Um sistema de renderização que suporta métodos baseados em renderização 2D (LPainter), Cenas e Visualizações.
  • Capacidade de usar seus próprios shaders e programas OpenGL ES 2.0.
  • Redesenho automático realizado conforme necessário (somente quando o conteúdo da área muda).
  • Trabalho multithread, permitindo atingir FPS alto com v-sync habilitado mesmo ao renderizar cenários complexos (implementações de thread único têm problemas para manter FPS alto devido a quadros ausentes que não podem ser processados ​​devido a atrasos na espera pela sincronização com o pulso de supressão de quadros (vbranco).
  • Suporta buffer único, duplo e triplo.
  • Implementação de uma área de transferência para dados de texto.
  • Suporte para Wayland e extensões:
    • XDG Shell é uma interface para criar e interagir com superfícies como janelas, que permite movê-las pela tela, minimizar, expandir, redimensionar, etc.
    • Decoração XDG - renderizando decorações de janelas no lado do servidor.
    • Tempo de apresentação - fornece exibição de vídeo.
    • Linux DMA-Buf - compartilhamento de múltiplas placas de vídeo usando tecnologia dma-buf.
  • Suporta trabalho em ambientes baseados em drivers Intel (i915), AMD (amdgpu) e NVIDIA (driver proprietário ou nouveau).
  • Funcionalidades ainda não implementadas (na lista de planos):
    • Eventos de toque - manipulação de eventos de tela de toque.
    • Gestos de ponteiro - controles de tela de toque.
    • Viewporter - Permite que o cliente execute dimensionamento e corte das bordas da superfície no lado do servidor.
    • Transformando objetos LView.
    • XWayland - lançando aplicativos X11.

Louvre 1.0, uma biblioteca para desenvolvimento de servidores compostos baseados em Wayland, está disponível
Louvre 1.0, uma biblioteca para desenvolvimento de servidores compostos baseados em Wayland, está disponível


Fonte: opennet.ru

Adicionar um comentário