Phoenix é o futurístico servidor X escrito em Zig

O Phoenix é o mais novo servidor X, criado do zero, na linguagem Zig, pensado como uma alternativa moderna ao Xorg. A proposta central é abandonar grande parte da complexidade acumulada do X11 tradicional e manter apenas os recursos necessários para aplicações relativamente recentes, em geral desenvolvidas ou atualizadas nos últimos vinte anos.

O projeto busca simplicidade, melhor manutenção e maior alinhamento com as necessidades atuais do desktop Linux, sem deixar de executar softwares comuns, inclusive aplicações antigas baseadas em bibliotecas como GTK2.

O Phoenix se inspira em várias ideias do Wayland, como a ausência de uma interface de drivers do lado do servidor e a inclusão de um compositor interno. Diferentemente do Xorg, ele não utiliza um único framebuffer para todos os monitores, o que permite taxas de atualização diferentes por tela, suporte a tecnologias como VRR e melhor base para recursos modernos como HDR.

O isolamento entre aplicações é outro ponto central: cada programa fica separado dos demais e só pode acessar informações sensíveis, como conteúdo de outras janelas ou atalhos globais, mediante permissão explícita. Quando uma aplicação tenta acessar algo além do permitido, ela recebe dados fictícios em vez de erros, o que preserva a compatibilidade com softwares existentes.

A segurança também recebe destaque. O uso de Zig permite detectar comportamentos inválidos em tempo de execução quando o modo de segurança está ativado, reduzindo a chance de falhas afetarem usuários finais.

Além disso, o processamento automático das mensagens do protocolo ajuda a evitar classes inteiras de erros comuns em implementações mais antigas. Há a opção de desativar algumas dessas restrições para que o servidor se comporte de forma semelhante ao Xorg, caso o usuário deseje.

O projeto ainda está em estágio inicial e não está pronto para uso. No momento, ele consegue executar aplicações gráficas simples com aceleração por hardware, usando GLX, EGL ou Vulkan, rodando de forma “aninhada” dentro de outro servidor X.

Esse modo “aninhado” deve continuar sendo o principal meio de uso até que o Phoenix amadureça o suficiente para executar aplicações mais complexas de forma independente. A possibilidade de rodar sobre X11 ou Wayland também é vista como uma vantagem para testes e desenvolvimento de gerenciadores de janelas e compositores.

Outro objetivo importante é a criação de novos padrões para o ecossistema X11, como suporte adequado a DPI por monitor, permitindo que aplicações ajustem sua escala conforme a tela utilizada. Quando necessário, o protocolo X11 poderá ser estendido para acomodar recursos que não existiam quando ele foi projetado.

Há ainda a intenção de oferecer compatibilidade com aplicações que dependam exclusivamente de Wayland no futuro, seja por suporte direto, seja por meio de camadas de compatibilidade. O Phoenix não pretende substituir o Xorg, que continuará oferecendo amplo suporte ao protocolo X11 e a uma variedade maior de hardwares.

Algumas funcionalidades tradicionais, como múltiplas telas no sentido do X11 clássico, certos mecanismos de acesso exclusivo ao servidor e recursos muito específicos como GLX indireto remoto, não fazem parte dos objetivos do projeto, por serem complexos ou pouco relevantes no contexto atual.

No conjunto, o Phoenix é apresentado como uma iniciativa ambiciosa e promissora, que busca renovar o conceito de servidor X, estimular novas ideias e oferecer uma alternativa moderna em um cenário cada vez mais dominado pelo Wayland.

1 curtida