Firmaet Collabora har præsenteret den sammensatte server wxrd, der er implementeret på basis af Wayland-protokollen og designet til at skabe en arbejdsstation baseret på xrdesktop-komponenter inden for tredimensionelle virtuelle omgivelser. Den bygger på biblioteket wlroots, udviklet af udviklerne af brugergrænsefladen Sway, og den sammensatte server wxrc, som er beregnet til brug i virtuelle realitetssystemer. Projektets kode er skrevet i C og distribueres under MIT-licensen.
I modsætning til den oprindeligt foreslåede løsning i xrdesktop, tilbyder wxrd en specialiseret sammensat server server til virtuelle realitetsmiljøer, i stedet for at tilpasse eksisterende vinduesmanagers og skrivebords-grænseflader til VR-systemer (xrdesktop-projektet leverer separate patches til kwin og GNOME Shell, som kræver tilpasning til hver ny version af disse komponenter). Anvendelse af wxrd gør det muligt ikke blot at spejle indholdet af en eksisterende todimensionel arbejdsstation, som også vises på en almindelig skærm, men også at håndtere vinduer, der specifikt er startet til den tredimensionelle arbejdsstation (dvs. ikke give adgang fra VR-headsettet til den arbejdsstation, der bruges på det aktuelle system, men at skabe et separat miljø til VR-headsettet).

I modsætning til lignende projekter som Simula VR, Stardust, Motorcar og Safespaces, er den sammensatte server wxrd skabt med henblik på at bruge et minimum af afhængigheder og have et lavt ressourceforbrug. Wxrd giver også mulighed for at arbejde ikke kun med applikationer baseret på Wayland-protokollen og gør det muligt ved hjælp af DDX-serveren xwayland at køre X11-applikationer.
Da udvidelsen af Wayland-protokollen til virtuelle tastaturer er under udvikling, er dataindtastning i wxrd implementeret gennem et system til emulering af tastaturinput, der giver mulighed for overførsel af alle unicode-tegn, inklusive emoji, fra det virtuelle tastatur, der tilbydes i xrdesktop. For at wxrd kan fungere, kræves et grafikkort, der understøtter grafik-API'et Vulkan og udvidelsen VK_EXT_image_drm_format_modifier, som understøttes i Mesa fra version 21.1 (som er en del af Ubuntu 21.04). For at anvende Vulkan API til rendering kræves udvidelsen VK_EXT_physical_device_drmm, som blev introduceret i Mesa 21.2 (Ubuntu 21.10).
Fordele ved brug af en separat sammensætter server til virtual reality-systemer i stedet for integration med to-dimensionelle vinduesmanagere, der bruges til at vise traditionelle skriveborde:
- Når der startes i en session baseret på Wayland eller X11, åbner wlroots-biblioteket et vindue, hvor det er nemt at organisere fangst af tastaturinput og musebegivenheder og videresende denne input til et bestemt vindue i det virtuelle miljø. I fremtiden planlægges denne funktion at blive brugt til at organisere input ikke kun via VR-controlleren, men også ved hjælp af en almindelig tastatur og mus.
- Vinduer er ikke begrænset af rammerne for det to-dimensionelle skrivebord og kan have en vilkårlig størrelse, begrænset kun af det maksimalt understøttede hardware-størrelse af teksturer.
- Rendering af vinduer i wxrd udføres med den native opdateringshastighed for 3D-headsets (HMD), mens ved spejling af vinduer fra almindelige vinduesmanagere anvendes den opdateringshastighed, der bruges til at opdatere information på en stationær skærm.
- Rendering af skrifttyper kan udføres med hensyn til pixel-tætheden af 3D-headsettet, uden at være bundet til pixel-tætheden af den stationære skærm.
- Det er muligt at bruge wxrd på systemer, hvor der kun er et 3D-headset og ingen almindelig skærm.
Ulemper ved en separat sammensætter server til VR:
- I VR-miljøet vises kun applikationer, der er specielt startet til den separate sammensætter server, uden mulighed for at flytte eller spejle vinduer, der allerede er åbne på det traditionelle skrivebord (dvs. for at fortsætte arbejdet med applikationer, der er åbne på den almindelige skærm, skal de genstartes i det separate miljø for 3D-headsetet).
- Understøttelsen af Wayland kan være begrænset i implementeringerne af Vulkan API. For eksempel kan gbm og wlroots ikke bruges med proprietære NVIDIA-drivere på grund af manglende understøttelse af udvidelsen VK_EXT_drm_format_modifier.

Kilde: opennet.ru
