X11-serveren yserver 1.5.0, skrevet fra bunnen av i Rust og støtter nåværende X11-protokollutvidelser, er utgitt. Prosjektet har ikke som mål å gjenskape alle funksjonene til Xorg Server og er begrenset til funksjonaliteten som er nødvendig for å kjøre moderne skrivebordsmiljøer, vindusbehandlere, applikasjoner og grafiske biblioteker (GTK, Qt, SDL, GLFW). Testede miljøer inkluderer MATE, Xfce, Cinnamon, Sonic og Enlightenment, samt vindusbehandlere som icewm, FVWM3, openbox, i3 og wmaker. Prosjektkoden distribueres under MIT-lisensen.
yserver har besluttet å ikke støtte eldre og spesifikke funksjoner, som å håndtere flere X11-skjermer samtidig. server (utgang fra flere skjermer støttes), andre fargemoduser enn TrueColor, indirekte gjengivelse (indirekte GLX), DDX-driver-API, håndtering av eldre skrifttyper og tilkobling til klienter med ulik byterekkefølge (oversettelse fra big-endian til little-endian).
Grafikkutdata leveres via DRM/KMS og Mesa Vulkan-drivere. libseat-biblioteket brukes til øktadministrasjon og tilgang til delte inn- og utdataenheter. I tillegg til en dedikert X-server leveres ynest – et backend for nestet utførelse som støtter kjøring fra Xwayland eller andre X11-servere.server.
Arbeidet har blitt testet på systemer med følgende GPU-er: AMD Ryzen 9 6900HX (Rembrandt, RDNA2, RADV mesa-driver), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, ANV mesa-driver), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, samt i virtualiseringssystemer med virtio-gpu og virtuell GPU Venus. Arbeidet støttes i Linux og FreeBSD.
I den nye versjonen:
- La til støtte for reverse-PRIME-mekanismen, som tillater bruk av den integrerte GPU-en til gjengivelse og den separate grafikkortets GPU til visning når eksterne skjermer er koblet til de separate grafikkortportene.
- La til støtte for overføring av data om skjermoppdateringsfrekvens til Mesa via GLX_OML_sync_control-utvidelsen.
- Implementerte optimaliseringer for å redusere ventetid for klienter med vertikal synkronisering deaktivert (vsync-off).
- Tilbød uttrekking av GLX-leverandørnavn fra videodriveren for å velge riktig GLX-klientbibliotek (f.eks. Mesa eller NVIDIA).
- Støtte for DRI3 1.4-synkroniseringsobjekter er implementert ved hjelp av drm_syncob-primitivene i DRM-kjernesystemet (Direct Rendering Manager).
- La til støtte for algoritmen for sporing av skjermendringer for å tegne på nytt ikke alt innhold, men bare de endrede delene som brukes i kompositter. servere Wayland basert på wlroots-biblioteket.
- Muligheten til å tegne vindusrammer på X11-serversiden er tilgjengelig.
- Implementerte samling av pakker for Aarch64-arkitekturen, i tillegg til x86_64.
Kilde: opennet.ru
