SlÀppet av X11-servern yserver 1.5.0, skriven frÄn grunden i Rust och som stödjer aktuella tillÀgg för X11-protokollet, har Àgt rum. Projektet syftar inte till att Äterskapa alla funktioner frÄn Xorg Server utan begrÀnsar sig till de funktioner som Àr nödvÀndiga för att köra moderna skrivbordsmiljöer, fönsterhanterare, applikationer och grafiska bibliotek (GTK, Qt, SDL, GLFW). Bland de testade miljöerna mÀrks MATE, Xfce, Cinnamon, Sonic och Enlightenment, liksom fönsterhanterare sÄsom icewm, FVWM3, openbox, i3 och wmaker. Projektets kod distribueras under MIT-licensen.
I yserver har man valt att inte stödja förÄldrade och specifika funktioner, sÄsom hantering av flera X11-skÀrmar pÄ en och samma. servern (flerbildsutmatning stöds), fÀrglÀgen som Àr olika TrueColor, indirekt rendering (indirect GLX), DDX-drivrutins-API, gamla metoder för teckensnittshantering och anslutning av klienter med en annan byteordning (översÀttning mellan big-endian och little-endian).
Grafikutmatningen organiseras via DRM/KMS och Vulkan-drivrutiner frĂ„n Mesa. För sessionhantering och Ă„tkomst till delade in- och utdataenheter anvĂ€nds biblioteket libseat. Förutom den fristĂ„ende X-servern levereras ynest â en backend för inbĂ€ddad körning som stöder funktioner frĂ„n Xwayland eller annan X11.servern.
Arbetet har testats pÄ system med GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa-drivrutin RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa-drivrutin ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, samt i virtualiseringssystem med virtio-gpu och virtuell GPU Venus. Stöds pÄ Linux och FreeBSD.
I den nya versionen:
- Stöd för reverse-PRIME-mekanismen har lagts till, vilket möjliggör att anvÀnda den integrerade GPU:n för rendering och GPU:n frÄn det diskreta grafikkortet för att visa pÄ skÀrmen nÀr externa bildskÀrmar kopplas till portarna pÄ det diskreta grafikkortet.
- Stöd för att överföra data om uppdateringsfrekvensen genom Mesa via tillÀgget GLX_OML_sync_control har lagts till.
- Optimering har implementerats för att minska latensen för klienter med vertikal synkronisering avstÀngd (vsync-off).
- Det har sÀkerstÀllts att tillverkarens namn för GLX kan extraheras frÄn grafikkortets drivrutin för att vÀlja motsvarande klientbibliotek GLX (t.ex. Mesa eller NVIDIA).
- Stöd för DRI3 1.4 synkroniseringsobjekt har implementerats med anvÀndning av drm_syncobj-primitiver frÄn DRM (Direct Rendering Manager).
- Stöd för en algoritm för att spÄra förÀndringar pÄ skÀrmen för att omritning endast till de Àndrade delarna, tillÀmpas i sammansatta. servrar Wayland baserat pÄ wlroots-biblioteket.
- Möjlighet att rita fönsterkanter pÄ sidan av X11-servern har tillhandahÄllits.
- Byggpaket för arkitekturen Aarch64 har implementerats utöver x86_64.
KĂ€lla: opennet.ru
