lançamento estável do servidor compositor , desenvolvendo tecnologias que apoiam o pleno suporte ao protocolo 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 de desktop e em soluções incorporadas, como plataformas para sistemas de infoentretenimento automotivos, smartphones, televisores e outros dispositivos de consumo.
A mudança de versão significativa do Weston deve-se a alterações no ABI que quebram a compatibilidade. As modificações em Weston:
- Adicionada suporte à tecnologia de proteção contra cópias ilegais de conteúdo , que é usada para criptografar sinais de vídeo transmitidos através de interfaces DVI, DisplayPort, HDMI, GVIF ou UDI. No libweston, um sinal foi implementado para as chamadas weston_output, weston_surface e weston_head para habilitar a proteção do conteúdo transmitido. Um exemplo de aplicativo cliente para exibir conteúdo protegido foi adicionado;
- Adicionado plugin para servidor multimídia , desenvolvido para substituir o PulseAudio e que suporta também o processamento de fluxos de vídeo. O plugin para organizar a saída em uma área de trabalho remota, semelhante ao plugin de saída baseado em GStreamer anteriormente disponível. Do lado receptor, qualquer cliente com suporte ao pipewire pode ser usado para a exibição, incluindo GStreamer (por exemplo, "gst-launch-1.0 pipewiresrc ! video/x-raw,format=BGRx ! …");
- No gl-renderer, adicionada suporte à extensão EGL para atualização seletiva do conteúdo das superfícies, passando por áreas onde não houve alterações;
- Adicionado novo framework weston_debug para depuração e registro de eventos (weston_log_context);
- Novos arquivos de cabeçalho libweston-internal.h e backend.h foram adicionados. O primeiro contém funções para trabalhar com
‘weston_compositor’, ‘weston_plane’, ‘weston_seat’, ‘weston_surface’, ‘weston_spring’, ‘weston_view’, e o segundo — com ‘weston_output’; - Alterações foram feitas para garantir ;
- No compositor-drm, adicionada suporte à propriedade FB_DAMAGE_CLIPS. O código para extração de parâmetros EDID, processamento de modos de vídeo, interação com a API KMS, trabalho com o framebuffer e manipulação de estados foi separado em arquivos distintos;
- Adicionado plugin "file stream" para transmissão de conteúdo de arquivos;
- Os backends backend-drm,
backend-headless,
backend-rdp,
backend-wayland,
backend-x11 e
backend-fbdev foram movidos para um diretório separado; - Para otimização de imagens PNG, foi utilizado o pacote baseado no algoritmo de compressão ;
- Adicionada suporte às extensões xdg_output_unstable_v1 e zwp_linux_explicit_synchronization_v1. As exigências de versão do pacote foram aumentadas (para a construção, é necessário 1.18);
- Transição para o sistema de construção foi concluída . O suporte à construção utilizando autotools foi encerrado.
Fonte: opennet.ru
