Die erste bedeutende Version des X11-Servers yserver, die von Grund auf in Rust geschrieben wurde und aktuelle Erweiterungen des X11-Protokolls unterstützt, wurde veröffentlicht. Das Projekt hat nicht das Ziel, alle Funktionen des Xorg-Servers zu replizieren, sondern beschränkt sich auf die für moderne Desktop-Umgebungen, Fenstermanager, Anwendungen und Grafikbibliotheken (GTK, Qt, SDL, GLFW) notwendigen Funktionen. Testumgebungen umfassen MATE, Xfce und Cinnamon sowie die Fenstermanager FVWM3, e16 und wmaker. Der Code des Projekts wird unter der MIT-Lizenz veröffentlicht.
Es wurde beschlossen, in yserver keine veralteten und spezifischen Funktionen zu unterstützen, wie z. B. die Verarbeitung mehrerer X11-Bildschirme in einer. Server (Mehrmonitorbetrieb wird unterstützt), andere als TrueColor-Farbanzeigen, indirektes Rendering (indirect GLX), DDX-Treiber-API, alte Schriftverarbeitungsmethoden und die Verbindung von Clients mit anderer Byte-Reihenfolge (Übersetzung zwischen big-endian und little-endian).
Die grafische Ausgabe erfolgt über DRM/KMS und Vulkan-Treiber von Mesa. Zum Management von Sitzungen und zur Bereitstellung von gemeinsam genutztem Eingabe- und Ausgabegerät wird die Bibliothek libseat verwendet. Neben dem eigenständigen X-Server wird ynest angeboten – ein Backend für verschachtelte Ausführung, das das Arbeiten aus Xwayland oder einem anderen X11-Server.
Die Funktionalität wurde auf Systemen mit GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa-Treiber RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa-Treiber ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP sowie in Virtualisierungssystemen mit virtio-gpu und virtuellem GPU Venus getestet. Derzeit wird nur die Nutzung in Linux unterstützt, aber die Unterstützung von FreeBSD ist geplant.
Unterstützte Erweiterungen von X11:
- BIG-REQUESTS
- Composite
- DAMAGE
- DPMS
- DRI3
- GLX
- Generic Event Extension
- MIT-SCREEN-SAVER
- MIT-SHM
- Present
- RANDR
- RENDER
- SHAPE
- SYNC
- X-Resource
- XFIXES
- XInputExtension
- XKEYBOARD
- XTEST
Quelle: opennet.ru
