Udgivelsen af X11-serveren yserver 1.5.0 fandt sted, udviklet fra bunden i Rust-sprog og understøtter de aktuelle udvidelser af X11-protokollen. Projektet har ikke til formål at genskabe alle funktionerne i Xorg Server og begrænser sig kun til den funktionalitet, der er nødvendig for at køre moderne skrivebords-, vinduesstyrings-, applikations- og grafiske biblioteker (GTK, Qt, SDL, GLFW). Blandt de testede miljøer er MATE, Xfce, Cinnamon, Sonic og Enlightenment, samt vinduesstyringsprogrammer som icewm, FVWM3, openbox, i3 og wmaker. Projektets kode distribueres under MIT-licensen.
I yserver er det besluttet ikke at understøtte forældede og specifikke funktioner, såsom håndtering af flere X11-skærme på én gang serveren (multimonitorudgang understøttes), farvetilstande, der er forskellige fra TrueColor, indirekte rendering (indirect GLX), DDX-driver-API'er, gamle metoder til håndtering af skrifttyper og tilslutning af klienter med en anden byteordning (oversættelse mellem big-endian og little-endian).
Grafikudgang organiseres via DRM/KMS og Mesa Vulkan-drivere. Til sessionsstyring og organisering af adgang til delte input- og output-enheder anvendes biblioteket libseat. Udover den isolerede X-server leveres ynest - en backend til indlejret kørsel, der understøtter drift fra Xwayland eller en anden X11-server.
Arbejdet er testet på systemer med 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, samt i virtualiseringssystemer med virtio-gpu og virtuel GPU Venus. Drift understøttes i Linux og FreeBSD.
I den nye version:
- Understøttelse af reverse-PRIME-mekanismen er blevet tilføjet, hvilket gør det muligt at bruge den integrerede GPU til rendering, mens den diskrete grafikkorts GPU bruges til at sende output til skærmen i tilfælde af tilslutning af eksterne skærme til portene på den diskrete grafikkort.
- Understøttelse af overførsel af skærmopdateringsfrekvensdata til Mesa gennem GLX_OML_sync_control-udvidelsen er blevet tilføjet.
- Der er implementeret optimering for at reducere forsinkelse for klienter med deaktiveret vertikal synkronisering (vsync-off).
- Udtrækning af producenter GLX-navne fra grafikkedriveren er realiseret for at vælge den relevante GLX-klientbibliotek (f.eks. Mesa eller NVIDIA).
- Understøttelse af DRI3 1.4 synkroniseringsobjekter er implementeret ved anvendelse af drm_syncobj-primitiver fra DRM (Direct Rendering Manager) kerneunderhold.
- Tilføjet support til algoritmen til ændringssporing på skærmen, så kun de ændrede dele bliver gentegnet, der anvendes i sammensatte. servere Wayland baseret på wlroots-biblioteket.
- Mulighed for at tegne vinduesrammer på X11-serverens side er nu tilgængelig.
- Implementeret pakkeopbygning til Aarch64-arkitektur ud over x86_64.
Kilde: opennet.ru
