Após nove meses de desenvolvimento, foi lançado o release estável do compositor de servidores Weston 15.0, que evolui as tecnologias que promovem o suporte completo do protocolo Wayland no Enlightenment, GNOME, KDE e outros ambientes de usuário. O desenvolvimento do Weston tem como foco fornecer uma base de código de alta qualidade e exemplos práticos para o uso do Wayland em ambientes de desktop e em soluções embarcadas, como plataformas para sistemas de infoentretenimento automotivo, smartphones, televisores e outros dispositivos de consumo. O código do projeto é distribuído sob a licença MIT.
Mudanças na nova versão do Weston:
- Foi adicionada uma nova interface gráfica 'lua-shell' (chamada como 'weston --shell=lua'), permitindo o uso da linguagem Lua para personalizar o comportamento do gerenciamento de janelas e criar ambientes de usuário totalmente personalizados. Como exemplo, foi implementado um sistema de gerenciamento de janelas em mosaico simples baseado na 'lua-shell'.
- Foi adicionado um backend experimental de renderização que utiliza a API gráfica Vulkan para saída (ativado como 'weston --renderer=vulkan'). O backend permite que o Weston seja executado sobre outros compositores baseados no Wayland e X11, além de trabalhar diretamente com os drivers da subsistema DRM do kernel que suportam Vulkan 1.0. Além do backend, foram adicionados os clientes Wayland simple-vulkan e simple-dmabuf-vulkan. servidores Foi adicionada suporte para os protocolos Wayland commit-timing-v1 e fifo-v1. O protocolo commit-timing permite vincular um limite de tempo ao conteúdo da superfície (o compositor deve exibir a alteração de conteúdo na medida do possível após o tempo especificado, mas não antes). O protocolo fifo implementa um mecanismo FIFO para processar a fila de atualização do conteúdo da superfície exibida. Em combinação, esses protocolos permitem alcançar suavidade na saída e na exibição de quadros com consideração à varredura vertical em aplicações como jogos e reprodução de vídeo. Foram adicionadas as extensões Vulkan VK_KHR_present_id2 e VK_KHR_present_wait2, permitindo a transmissão de quadros em modo FIFO, mas sem aumentar as latências.
- Foi adicionada suporte para os protocolos Wayland commit-timing-v1 e fifo-v1. O protocolo commit-timing permite vincular um limite de tempo ao conteúdo da superfície (o compositor deve exibir a alteração de conteúdo na medida do possível através do tempo indicado, mas não antes). O protocolo fifo implementa um mecanismo FIFO para o processamento da fila de atualização do conteúdo da superfície exibida. Em conjunto, esses protocolos permitem obter fluidez na saída e na exibição de quadros, levando em consideração a varredura vertical em aplicações como jogos e reprodução de vídeo. Foi adicionada suporte para as extensões Vulkan VK_KHR_present_id2 e VK_KHR_present_wait2, permitindo a transmissão de quadros no modo FIFO, mas sem aumentar o atraso.
- Adicionada a suporte ao protocolo Wayland color-representation-v1 para a definição da representação de cor da superfície Wayland, necessária para suportar HDR e renderização adequada de buffers YUV de cores plenas. O protocolo permite que clientes Wayland transmitam metadados necessários para determinar transparência, modelo de cor, subamostragem e faixa de quantização, aplicadas na conversão de buffers com dados do modelo de cor YUV para a representação RGB. Suporte a formatos de pixel com 10 bits por canal, como NV15, NV20, NV30 e P030, foi adicionado.
- Adicionada a possibilidade de empregar módulos do núcleo KMS (Kernel Mode Setting) para a realização de operações de conversão de cor no lado do controlador de display.
- Possibilidade de utilizar o profiler Perfetto foi disponibilizada para identificar problemas de desempenho durante a renderização, assim como para monitorar e visualizar os tempos de execução de várias operações.
- Suporte básico ao mecanismo VRR (Variable Refresh Rate) foi adicionado ao backend do DRM, permitindo a alteração adaptativa da taxa de atualização do monitor para garantir suavidade e ausência de rasgos durante jogos e exibição de vídeos. É necessário um driver DRM com suporte a VRR para utilização.
Fonte: opennet.ru
