De uitgave van de X11-server yserver 1.5.0, volledig geschreven in Rust en die de actuele uitbreidingen van het X11-protocol ondersteunt, is aangekondigd. Het project heeft niet de ambitie om alle mogelijkheden van de Xorg Server te repliceren en richt zich alleen op de functionaliteit die nodig is voor het draaien van moderne desktopomgevingen, windowmanagers, applicaties en grafische bibliotheken (GTK, Qt, SDL, GLFW). Onder de geteste omgevingen zijn MATE, Xfce, Cinnamon, Sonic en Enlightenment, evenals windowmanagers zoals icewm, FVWM3, openbox, i3 en wmaker. De code van het project wordt verspreid onder de MIT-licentie.
In yserver is besloten om verouderde en specifieke mogelijkheden niet te ondersteunen, zoals het verwerken van meerdere X11-schermen op één de server (meermonitoruitvoer wordt wel ondersteund), andere dan TrueColor-kleurschema's, indirecte rendering (indirect GLX), DDX-driver-API's, oude methoden voor lettertypebeheer en het aansluiten van clients met een andere bytevolgorde (vertaling tussen big-endian en little-endian).
De grafische uitvoer is georganiseerd via DRM/KMS en Mesa Vulkan-drivers. Voor sessiebeheer en toegang tot gedeelde invoerapparaten en uitvoerapparaten wordt de bibliotheek libseat gebruikt. Naast de afzonderlijke X-server wordt ynest meegeleverd - een backend voor geneste uitvoering, dat werkt vanuit Xwayland of een andere X11-de server.
Het werk is getest op systemen met GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa-driver RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa-driver ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, evenals op virtualisatiesystemen met virtio-gpu en virtuele GPU Venus. Ondersteuning voor Linux en FreeBSD is beschikbaar.
In de nieuwe versie:
- Ondersteuning voor het reverse-PRIME mechanisme is toegevoegd, waardoor de geïntegreerde GPU gebruikt kan worden voor rendering en de GPU van de discrete videokaart voor de beelduitvoer wanneer externe monitoren op de poorten van de discrete videokaart zijn aangesloten.
- Ondersteuning is toegevoegd voor het verzenden van gegevens over de schermverversingssnelheid naar Mesa via de GLX_OML_sync_control uitbreiding.
- Er is een optimalisatie geïmplementeerd die de latentie voor clients zonder verticale synchronisatie (vsync-off) vermindert.
- Er is extractie van de namen van GLX-fabrikanten vanuit de videodriver mogelijk gemaakt, zodat de juiste clientbibliotheek GLX (zoals Mesa of NVIDIA) kan worden geselecteerd.
- Ondersteuning voor DRI3 synchronisatie-objecten 1.4 is geïmplementeerd met gebruik van drm_syncobj primitieven van de DRM-kern (Direct Rendering Manager).
- Ondersteuning is toegevoegd voor een algoritme dat schermveranderingen volgt om alleen de gewijzigde delen van de inhoud opnieuw te tekenen, wat wordt toegepast in compositie. servers Wayland is gebaseerd op de wlroots bibliotheek.
- Er is de mogelijkheid geboden om vensteromtrekken aan de zijde van de X11-server te renderen.
- Er is een bouw van pakketten voor de Aarch64-architectuur gerealiseerd, naast x86_64.
Bron: opennet.ru
