El proyecto Phoenix está desarrollando un servidor X moderno, escrito en el lenguaje Zig

En el marco del proyecto Phoenix, se ha intentado crear desde cero un nuevo servidor X, que no utiliza los desarrollos de X.org Server y que está orientado a ofrecer una alternativa moderna que amplíe el protocolo X11 y proporcione compatibilidad con Wayland. En la etapa actual de desarrollo, Phoenix aún no está listo para su uso diario, pero ya permite organizar el trabajo con aplicaciones simples que utilizan GLX, EGL o Vulkan para la salida gráfica, al ejecutar Phoenix sobre un servidor X existente. El código está escrito en el lenguaje Zig y se distribuye bajo la licencia GPLv3.

En Phoenix no tienen la intención de implementar toda la funcionalidad del protocolo X11 disponible en X.org Server ni de soportar hardware obsoleto. Por ejemplo, en lugar de proporcionar un soporte completo de los elementos del protocolo X11 para trabajar con fuentes, planean agregar solo las operaciones básicas que son demandadas en aplicaciones reales. En lugar de soportar los controladores de video clásicos de X.Org, se utilizan Linux DRM (Direct Rendering Manager) y Mesa GBM (Generic Buffer Management) para la salida gráfica.

Se supone que la reducción de funcionalidad no afectará la capacidad de ejecutar aplicaciones de uso común, incluso aquellas que utilizan GTK2. Este enfoque permitirá simplificar significativamente la implementación, manteniendo la compatibilidad con programas lanzados en los últimos 20 años y asegurando su funcionamiento en hardware de no más de 15-20 años.

Al mismo tiempo, en el protocolo X11 se planea agregar nuevas extensiones que consideren tendencias modernas, como soporte HDR, soporte adecuado para configuraciones de múltiples monitores (buffers de fotogramas separados para cada monitor), la posibilidad de especificar DPI en relación con los monitores, el ajuste adaptativo de la frecuencia de actualización del monitor (VRR) y protección contra el tearing durante la salida. En Phoenix también se ha cambiado el comportamiento en el procesamiento de cadenas: por defecto se usa UTF-8, mientras que ISO Latin-1 se aplica solo cuando se especifica explícitamente dicha codificación.

Para aumentar la seguridad de la aplicación en Phoenix, por defecto, se aísla entre sí y solo puede interactuar y acceder a ventanas o eventos de entrada de otros después de una confirmación explícita de privilegios a través de un diálogo especial o proporcionando permisos al iniciar. Para mantener la compatibilidad con clientes X11 antiguos, en lugar de mostrar errores en caso de falta de privilegios adecuados, se transferirán datos vacíos. Las combinaciones de teclas globales solo funcionarán si se mantiene presionada la tecla modificadora o se proporcionan permisos individuales.

Para ejecutar aplicaciones que solo admiten Wayland, se planea implementar soporte integrado para este protocolo o utilizar capas externas, como 12to11.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster