Die erste bedeutende Version des X11-Servers yserver wurde veröffentlicht. Dieser Server wurde von Grund auf in Rust programmiert und unterstützt die aktuellen Erweiterungen des X11-Protokolls. Das Projekt hat nicht das Ziel, alle Funktionen des Xorg-Servers zu replizieren, sondern konzentriert sich lediglich auf die notwendige Funktionalität, um moderne Desktop-Umgebungen, Fenstermanager, Anwendungen und Grafikbibliotheken (GTK, Qt, SDL, GLFW) auszuführen. Zu den getesteten Umgebungen gehören MATE, Xfce und Cinnamon sowie die Fenstermanager FVWM3, e16 und wmaker. Der Code des Projekts wird unter der MIT-Lizenz veröffentlicht.
Im yserver wurde entschlossen, veraltete und spezifische Funktionen wie die Verarbeitung mehrerer X11-Bildschirme in einem einzigen Server nicht zu unterstützen (mehrere Monitor-Ausgaben werden unterstützt), sowie Farbmodi, die von TrueColor abweichen, indirekte Rendering (indirect GLX), DDX-Treiber-APIs, alte Methoden zur Schriftartverwaltung und die Verbindung von Clients mit einer anderen Byte-Reihenfolge (Übersetzung zwischen big-endian und little-endian). Server (Mehrfachmonitor-Ausgaben werden unterstützt), Farbmodi, die von TrueColor abweichen, indirektes Rendering (indirect GLX), DDX-Treiber-APIs, alte Methoden zur Schriftartverwaltung und die Verbindung von Clients mit einer anderen Byte-Reihenfolge (Übersetzung zwischen big-endian und little-endian).
Die Grafik wird über DRM/KMS und Vulkan-Mesa-Treiber ausgegeben. Die Bibliothek libseat wird verwendet, um Sitzungen zu verwalten und Zugriff auf gemeinsam genutzte Ein- und Ausgabegeräte zu ermöglichen. Zusätzlich zum isolierten X-Server wird ynest geliefert – ein Backend für das Nested-Run, das die Arbeit aus Xwayland oder einem anderen X11 unterstützt.Server.
Die Funktionalität wurde auf Systemen mit GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, RADV-Treiber), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, ANV-Treiber), 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 Linux unterstützt, aber die Unterstützung für FreeBSD ist geplant.
Unterstützte X11-Erweiterungen:
- 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
