O mais recente compositor Wayland a ser discutido é o Denial, um compositor Wayland focado na integração ótima do Arch Linux e que incorpora diretamente o motor Flutter no código base. O Denial utiliza a linguagem de programação Rust e aproveita o Smithay para ajudar nas responsabilidades do compositor.
O Denial é atualmente considerado um software alpha como um compositor Wayland nativo Flutter. O desenvolvedor líder do Denial escreveu ao Phoronix e explicou seu design como:
"O Denial não executa o Flutter como uma aplicação em cima de outro compositor: ele incorpora diretamente o motor Flutter, enquanto um compositor Rust e Smithay lida com o estado do protocolo Wayland, entrada, DMA-BUFs, apresentação DRM/KMS e a vida útil dos recursos nativos.
Buffers de aplicativos Wayland baseados em DMA-BUF são importados no cenário Flutter como texturas GPU (usando EGL_EXT_image_dma_buf_import) sem necessidade de leitura de volta da CPU, cópia de pixels ou upload de textura.
O Flutter renderiza diretamente nos buffers GBM usados para apresentação KMS. Não há um alvo de renderização intermediário, uma final blit ou segunda passagem do compositor.
O Denial já é meu desktop diário:
- aplicativos nativos Wayland (como Chromium, Firefox, Blender, Discord)
- XWayland
- Steam e jogos Proton exigentes (testei Arknights: Endfield, Wuthering Waves, Neverness to Everness e Final Fantasy XIV) todos funcionam perfeitamente em meus testes
- configuração multi-monitor, com um backend dedicado implementado para nwg-displays e pronto para submissão upstream
- notificações
- áudio, com controle de volume por janela
- bloqueio de tela e DPMS
- compartilhamento de tela (testado com OBS)
- pacotes assinados do Arch com CI/CD
...
O projeto também mantém o fluxo de trabalho normal de desenvolvimento Flutter: um pacote opcional de desenvolvimento fornece Inspeção Flutter, DevTools e hot reload para a live shell desktop sem reiniciar o compositor ou fechar aplicações em execução. Modos de perfil e depuração podem ser habilitados/desabilitados enquanto o Denial está em execução.
O Denial usa builds personalizadas do Flutter Engine e Skia com otimizações específicas para compositor, incluindo rastreamento de dano externo-texture, agendamento de quadros especializado e eliminação de alocações em caminhos quentes de dependência de renderização. A otimização é essencial em um compositor desktop então uma grande parte do trabalho é gasta na otimização para tempos de quadro baixos e consistentes."
Parece ser um projeto interessante e pelo menos com alguns objetivos originais mais específicos do que alguns dos outros compostores Wayland por aí.
Aqueles que desejam saber mais sobre o Denial podem fazê-lo via
DenialWM.orge o código GPLv3+ está hospedado em
GitHub.

