Collabora je predstavila kompozitni strežnik wxrd, implementiran z uporabo protokola Wayland in zasnovan za ustvarjanje namizij na podlagi komponent xrdesktop znotraj 3D okoljih virtualne resničnosti. Temelji na knjižnici wlroots, ki so jo razvili razvijalci uporabniškega okolja Sway, in kompozitnem strežniku wxrc, zasnovanem za uporabo v sistemih virtualne resničnosti. Koda projekta je napisana v jeziku C in distribuirana pod licenco MIT.
В отличие от изначально предложенного в xrdesktop решения, wxrd предлагает специализированный композитный strežnik для окружений виртуальной реальности, вместо адаптации для VR-систем существующих оконных менеджеров и оболочек рабочего стола (проектом xrdesktop предоставляются отдельные патчи к kwin и GNOME Shell, которые требуют адаптации для каждого нового выпуска данных компонентов). Применение wxrd позволяет не просто отзеркаливать содержимое существующего двумерного рабочего стола, в это же время показываемого на обычном мониторе, а отдельно обрабатывать окна, специально запущенные для трёхмерного рабочего стола (т.е. не предоставить доступ из VR-шлема к используемому на текущей системе рабочему столу, а сформировать отдельное окружение для VR-шлема).

Za razliko od podobnih projektov, kot so Simula VR, Stardust, Motorcar in Safespaces, je sestavljeni strežnik wxrd zasnovan z minimalnimi odvisnostmi in nizko porabo virov. Wxrd podpira tudi druge aplikacije poleg Waylanda in omogoča zagon aplikacij X11 z uporabo strežnika xwayland DDX.
Ker je razširitev protokola Wayland za virtualne tipkovnice še v razvoju, se vnos podatkov v wxrd izvaja prek sistema za emulacijo vnosa s tipkovnice, ki prenaša vse znake Unicode, vključno z emoji, iz virtualne tipkovnice, ki je na voljo v xrdesktopu. wxrd zahteva grafično kartico, ki podpira grafični API Vulkan in razširitev VK_EXT_image_drm_format_modifier, ki je v Mesi podprta od izdaje 21.1 (vključena v Ubuntu 21.04). Uporaba Vulkan API-ja za upodabljanje zahteva razširitev VK_EXT_physical_device_drmm, ki je bila uvedena v Mesa 21.2 (Ubuntu 21.10).
Prednosti uporabe ločenega kompozita strežnika za sisteme virtualne resničnosti namesto integracije z 2D-upravljalniki oken, ki se uporabljajo za prikaz tradicionalnega namizja:
- Ko se knjižnica wlroots zažene v seji Wayland ali X11, odpre okno, ki omogoča enostavno zajemanje vnosa s tipkovnico in miško ter njegovo preusmeritev v določeno okno v okolju VR. V prihodnosti naj bi se ta funkcija uporabljala za upravljanje vnosa ne le prek krmilnika VR, temveč tudi prek običajne tipkovnice in miške.
- Okna niso omejena na 2D-namizje in so lahko poljubne velikosti, omejena je le z največjo velikostjo teksture, ki jo podpira strojna oprema.
- Okna v wxrd so upodobljena z izvorno hitrostjo osveževanja 3D-slušalk (HMD), medtem ko zrcaljenje oken iz običajnih upraviteljev oken uporablja hitrost osveževanja, ki se uporablja za osveževanje informacij na namiznem monitorju.
- Upodabljanje pisav se lahko izvede ob upoštevanju gostote slikovnih pik 3D-slušalk, ne da bi bilo vezano na gostoto slikovnih pik stacionarnega monitorja.
- Wxrd je mogoče uporabljati na sistemih, ki imajo samo 3D slušalke in nimajo običajnega monitorja.
Slabosti ločenega sestavljenega strežnika za VR:
- Okolje VR prikazuje samo aplikacije, ki so bile posebej zagnane za ločen sestavljeni strežnik, brez možnosti premikanja ali zrcaljenja oken, ki so že odprta na tradicionalnem namizju, v okolje VR (tj. če želite nadaljevati z delom z aplikacijami, odprtimi na običajnem zaslonu, jih boste morali znova zagnati v ločenem okolju za 3D-slušalke).
- Podpora za Wayland je lahko v implementacijah Vulkan API omejena. Na primer, gbm in wlroots ni mogoče uporabljati z lastniškimi gonilniki NVIDIA zaradi pomanjkanja podpore za razširitev VK_EXT_drm_format_modifier.

Vir: opennet.ru
