Phoenix Surge como um Servidor X Moderno Escrito do Zero em Zig
Phoenix é um novo servidor X escrito do zero em Zig, com o objetivo de modernizar o X11 sem depender do código do Xorg.
Embora o Wayland tenha substituído amplamente o Xorg, e a maioria das principais distribuições Linux e ambientes de desktop já tenha abandonado o suporte ao protocolo de exibição antigo ou esteja em processo de fazê-lo, os esforços para prolongar a vida do Xorg ou substituí-lo por alternativas semelhantes continuam. Exemplos recentes incluem projetos como XLibre Xserver e Wayback. E agora, um novo nome está se juntando a esse grupo: Phoenix.
É um novo projeto de servidor X que adota uma abordagem fundamentalmente diferente para o X11. Escrito inteiramente do zero na linguagem de programação Zig, ele não é apenas mais um fork da base de código do Xorg e não reutiliza seu código legado. Em vez disso, de acordo com os desenvolvedores, o Phoenix tem como objetivo mostrar que o próprio protocolo X11 não é inerentemente obsoleto e pode ser implementado de uma maneira mais simples, segura e moderna.
O Phoenix foi projetado para uso real em desktops e profissional, não para cobertura completa de protocolos. Ele suporta apenas os recursos do X11 que aplicativos modernos precisam, incluindo softwares mais antigos, como programas baseados em GTK2. Ao omitir partes raramente usadas ou desatualizadas, o Phoenix mantém as coisas mais simples, enquanto ainda suporta muitos aplicativos.
No momento, o Phoenix ainda é experimental e não está pronto para uso diário. Ele pode executar aplicativos simples com aceleração de hardware usando GLX, EGL ou Vulkan, mas apenas em uma configuração aninhada sob outro servidor X. Isso permanecerá assim até que o projeto esteja pronto para um uso mais exigente.
No lado da segurança, que na verdade é um dos aspectos pelos quais o Xorg recebe mais críticas, o Phoenix isola os aplicativos por padrão, e o acesso a capacidades sensíveis, como gravação de tela ou atalhos globais, é mediado por mecanismos de permissão explícita. É importante ressaltar que isso é feito sem quebrar clientes existentes, já que tentativas de acesso não autorizado retornam dados fictícios em vez de erros de protocolo.
Por baixo do capô, o Phoenix inclui um compositor embutido que permite renderização sem tearing por padrão, suporta a desativação da composição para aplicativos em tela cheia e é projetado para reduzir a latência do compositor e do vsync. O suporte adequado a múltiplos monitores é uma prioridade, permitindo diferentes taxas de atualização, displays com taxa de atualização variável e suporte futuro a HDR sem depender de um único framebuffer global.
A Phoenix também está considerando a extensão do protocolo quando necessário. Por exemplo, novos recursos, como o relatório de DPI por monitor, estão planejados para garantir que os aplicativos dimensionem corretamente em configurações com DPIs mistos. Se necessário, a Phoenix adicionará extensões de protocolo para coisas como HDR, enquanto continua a trabalhar com o software existente.
É importante deixar claro que o projeto não tem como objetivo substituir o Xorg. O Phoenix evita deliberadamente dar suporte a hardware legado, recursos de protocolos obscuros e configurações como múltiplas telas X11 ou renderização GLX indireta, e foca inteiramente em sistemas modernos.
A compatibilidade com Wayland faz parte do plano de longo prazo. Os desenvolvedores dizem que o Phoenix pode eventualmente suportar clientes Wayland diretamente ou usar ferramentas de ponte para rodar aplicativos exclusivos do Wayland em um ambiente X11. Também está sendo considerada a execução do Phoenix em modo aninhado sob Wayland, como uma alternativa ao Xwayland.
Finalmente, como mencionei, o projeto está em seus estágios iniciais, e ainda não se sabe se ele se desenvolverá em versões estáveis prontas para produção e será aceito para uso mais amplo. Até lá, para mais informações sobre esta nova iniciativa, confira aqui.
