Após oito meses de desenvolvimento, foi lançado o release estável do servidor compositor Weston 12.0, que desenvolve tecnologias que contribuem para a plena suporte do protocolo Wayland no Enlightenment, GNOME, KDE e outros ambientes de desktop. O desenvolvimento do Weston visa fornecer uma base de código de alta qualidade e exemplos práticos para o uso do Wayland em ambientes desktop e soluções incorporadas, como plataformas para sistemas de infoentretenimento automotivos, smartphones, televisores e outros dispositivos de consumo. O código do projeto é distribuído sob a licença MIT.
A mudança significativa na numeração da versão do Weston deve-se a alterações no ABI que interrompem a compatibilidade. As mudanças na nova versão do Weston são:
- Adicionado backend para organizar acesso remoto à área de trabalho — backed-vnc, que desempenha funções semelhantes ao backend-rpd. O protocolo VNC é implementado usando aml e neatvnc. Suporte à autenticação do usuário e criptografia do canal de comunicação (TLS) é oferecido.
- Adicionado backend para trabalhar com multimídia. servidor PipeWire.
- Mudanças no backend DRM (Direct Rendering Manager):
- Implementado suporte para configurações com várias GPUs. Para utilizar GPUs adicionais, foi proposta a opção "--additional-devices lista_de_dispositivos_de_saída".
- Adicionado suporte ao protocolo tearing-control para desativar a sincronização vertical (VSync) com um pulso de atenuação de quadro, aplicada para evitar o aparecimento de rasgos na saída (tearing). Em programas de jogos, desativar o VSync pode reduzir a latência na saída para a tela, em troca do surgimento de artefatos devido a rasgos.
- Adicionado suporte para a definição de tipos de conteúdo para HDMI (gráficos, fotos, filmes e jogos).
- Adicionada a propriedade de rotação de plano quando possível.
- Adicionado suporte a conectores de escrita (writeback connector), usados para criar capturas de tela.
- Adicionada propriedade para definir o nível de transparência do plano.
- Para parsing de metadados EDID, foi utilizada a biblioteca externa libdisplay-info.
- No backend-wayland, foram implementadas operações de redimensionamento, utilizando a extensão xdg-shell.
- No backend de acesso remoto backend-rdp, foi adicionada suporte preliminar a sistemas de múltiplos monitores (multi-head).
- No backend backend-headless, destinado a funcionar em sistemas sem tela, foi adicionada suporte à decoração da saída, utilizada para testar o plugue color-lcms.
- O componente launcher-logind foi declarado obsoleto e desativado por padrão, sendo recomendado o uso do launcher-libseat, que também oferece suporte ao logind.
- No libweston/desktop (libweston-desktop), foi implementado o suporte para o estado de espera, aplicado durante a fase anterior à anexação do buffer de saída ao cliente, que pode ser utilizado, por exemplo, para iniciar o cliente em modo de tela cheia desde o início.
- Foi desenvolvido o protocolo weston-output-capture, destinado à criação de capturas de tela e que atua como uma substituição mais funcional do antigo protocolo weston-screenshooter.
- Foi adicionado o suporte ao protocolo xwayland_shell_v1, permitindo a criação de um objeto xwayland_surface_v1 para uma superfície específica wl_surface.
- Na biblioteca libweston, foi implementado o suporte para autenticação de usuários via PAM e adicionado suporte à versão 4 da interface wl_output.
- No compositor, foi adicionado um modo simplificado para escolher o backend, shell e renderizador, permitindo usar a sintaxe '—backend=headless', '—shell=foo' e '—renderer=gl|pixman' em vez de '—backend=headless-backend.so', '—shell=foo-shell.so' e '—renderer=gl-renderer.so'.
- No cliente simple-egl, foi adicionado o suporte ao protocolo fractional-scale, permitindo o uso de valores de escala não inteiros, e foi implementado o modo de renderização vertical do painel.
- Na shell para sistemas de infotainment automotivo, ivi-shell, foi implementada a ativação do foco de entrada do teclado para a superfície xdg-shell, baseada na ativação de entrada em shells desktop-shell e kiosk-shell.
- A biblioteca compartilhada libweston-desktop foi integrada à biblioteca libweston, permitindo que os aplicativos vinculados à libweston acessem todas as funções que antes eram fornecidas pela libweston-desktop.
Fonte: opennet.ru
