In het kader van het Phoenix-project is er geprobeerd vanuit het niets een nieuwe X-server te creƫren, die geen gebruikmaakt van de ontwikkelingen van X.org Server en gericht is op het maken van een moderne alternatieve server die het X11-protocol uitbreidt en compatibiliteitsmogelijkheden biedt met Wayland. In de huidige fase van ontwikkeling is Phoenix nog niet klaar voor dagelijks gebruik, maar het maakt het al mogelijk om te werken met eenvoudige toepassingen die GLX, EGL of Vulkan gebruiken voor grafische uitvoer, uitgevoerd boven een bestaande X-server. De code is geschreven in de Zig-taal en wordt verspreid onder de GPLv3-licentie.
In Phoenix is het niet de bedoeling om alle functionaliteit van het X11-protocol, die beschikbaar is in X.org Server, te implementeren en om verouderde hardware te ondersteunen. Zo wordt in plaats van volledige ondersteuning van X11-elementen voor fontbeheer alleen basisfunctionaliteit toegevoegd die in praktische toepassingen wordt gevraagd. In plaats van ondersteuning van de klassieke X.Org-videostuurprogramma's wordt gebruikgemaakt van Linux DRM (Direct Rendering Manager) en Mesa GBM (Generic Buffer Management) voor grafische uitvoer.
Het wordt verondersteld dat de beperking van de functionaliteit geen invloed heeft op de mogelijkheid om gangbare toepassingen te draaien, zelfs diegenen die GTK2 gebruiken. Deze benadering zal de implementatie aanzienlijk vereenvoudigen, de compatibiliteit behouden met programma's die in de afgelopen 20 jaar zijn uitgebracht en ook zorgen voor functionaliteit op hardware die niet ouder is dan 15-20 jaar.
Daarnaast is het de bedoeling om nieuwe extensies aan het X11-protocol toe te voegen die rekening houden met moderne trends, zoals ondersteuning voor HDR, correcte ondersteuning voor multi-monitorconfiguraties (gescheiden framebuffers voor elke monitor), de mogelijkheid om DPI aan te geven in relatie tot monitors, adaptieve wijziging van de verversingssnelheid van de monitor (VRR) en bescherming tegen tearing tijdens uitvoer. In Phoenix is ook het gedrag bij het verwerken van tekstreeksen gewijzigd - standaard wordt UTF-8 gebruikt, terwijl ISO Latin-1 alleen wordt toegepast als deze codering expliciet is opgegeven.
Om de veiligheid van de applicatie in Phoenix te verbeteren, worden ze standaard van elkaar geĆÆsoleerd en kunnen ze alleen interageren en toegang krijgen tot elkaars vensters of invoergebeurtenissen na expliciete autorisatie via een speciale dialoog of het verlenen van rechten bij het opstarten. Om compatibiliteit met oude X11-clients te behouden, worden in plaats van foutmeldingen bij ontbrekende rechten lege gegevens verzonden. Globale sneltoetscombinaties werken alleen bij het ingedrukt houden van de modifier-toets of het verlenen van afzonderlijke toegangsrechten.
Voor het draaien van applicaties die alleen Wayland ondersteunen, is het gepland om ingebouwde ondersteuning voor dit protocol te implementeren of externe lagen, zoals 12to11, te gebruiken.
Bron: opennet.ru
