Tvrtka Collabora predstavila je kompozitni poslužitelj wxrd, implementiran na temelju protokola Wayland, koji je namijenjen za izradu radne površine unutar trodimenzionalnih okruženja virtualne stvarnosti pomoću komponenti xrdesktop. Kao osnova koristi se biblioteka wlroots, koju razvijaju programeri korisničkog sučelja Sway, i kompozitni poslužitelj wxrc, namijenjen za korištenje u sustavima virtualne stvarnosti. Kod projekta napisan je na jeziku C i distribuira se pod MIT licencom.
Za razliku od prvotno predloženog rješenja u xrdesktop, wxrd nudi specijalizirani kompozitni server za okruženja virtualne stvarnosti, umjesto prilagodbe postojećih upravitelja prozora i radnih površina za VR sustave (projekt xrdesktop nudi odvojene zakrpe za kwin i GNOME Shell, koje zahtijevaju prilagodbu za svaku novu verziju ovih komponenti). Korištenjem wxrd-a omogućava se ne samo odražavanje sadržaja postojeće dvodimenzionalne radne površine, koja se istovremeno prikazuje na običnom monitoru, nego i posebno obrađivanje prozora koji su specijalno pokrenuti za trodimenzionalnu radnu površinu (tj. ne omogućiti pristup iz VR naočala korištenoj radnoj površini na trenutnom sustavu, već stvoriti odvojeno okruženje za VR naočale).

Za razliku od sličnih projekata Simula VR, Stardust, Motorcar i Safespaces, kompozitni poslužitelj wxrd stvoren je s naglaskom na korištenje minimalnog broja ovisnosti i nisku potrošnju resursa. Wxrd također omogućava rad ne samo s aplikacijama temeljenim na protokolu Wayland, već i pokretanje X11 aplikacija pomoću DDX poslužitelja xwayland.
Budući da je proširenje protokola Wayland za virtualne tipkovnice u fazi razvoja, unos podataka u wxrd realiziran je putem sustava emulacije tipkovničkog unosa koji prenosi sve unicode znakove, uključujući emoji, iz virtualne tipkovnice koju pruža xrdesktop. Za rad wxrd-a potrebna je grafička kartica koja podržava grafički API Vulkan i proširenje VK_EXT_image_drm_format_modifier, podržano u Mesi od verzije 21.1 (ulazi u sastav Ubuntu 21.04). Za korištenje API-ja Vulkana za renderiranje potrebno je proširenje VK_EXT_physical_device_drmm, koje je pojavilo u Mesi 21.2 (Ubuntu 21.10).
Prednosti korištenja odvojene kompozitne poslužitelja za sustave virtualne stvarnosti umjesto integracije s dvodimenzionalnim upraviteljima prozora koji se koriste za prikaz tradicionalnog radnog stola:
- Kada se pokrene u sesiji s temeljem Waylanda ili X11, knjižnica wlroots otvara prozor u kojem se lako mogu organizirati hvatanje ulaza s tipkovnice i događaja miša te preusmjeriti taj ulaz u određeni prozor unutar okruženja virtualne stvarnosti. U budućnosti se planira koristiti ovu mogućnost za organiziranje unosa ne samo putem VR kontrolera, već i putem običnih tipkovnice i miša.
- Prozori nisu ograničeni okvirom dvodimenzionalnog radnog stola i mogu imati proizvoljnu veličinu, ograničenu samo maksimalno podržanim hardverom veličine tekstura.
- Prikazivanje prozora u wxrd odvija se s native brzinom osvježavanja za 3D naočale (HMD), dok se kod zrcaljenja prozora iz uobičajenih upravitelja prozora koristi brzina koja se primjenjuje za osvježavanje podataka na stacionarnom monitoru.
- Prikazivanje fontova može se realizirati uzimajući u obzir gustoću piksela 3D naočala, bez vezivanja za gustoću piksela stacionarnog monitora.
- Moguće je koristiti wxrd na sustavima koji imaju samo 3D naočale i nemaju običan monitor.
Nedostaci odvojenog kompozitnog poslužitelja za VR:
- U VR okruženju prikazuju se samo aplikacije koje su posebno pokrenute za odvojeni kompozitni poslužitelj, bez mogućnosti premještanja ili zrcaljenja u VR okruženje prozora koji su već otvoreni na tradicionalnom radnom stolu (tj. za nastavak rada s aplikacijama otvorenim na običnom ekranu, morat će ih ponovo pokrenuti u odvojenom okruženju za 3D naočale).
- Podrška Waylandu može biti ograničena u implementacijama API-ja Vulkan. Na primjer, gbm i wlroots ne mogu se koristiti s proprietarnim NVIDIA drajverima zbog nedostatka podrške za proširenje VK_EXT_drm_format_modifier.

Izvor: opennet.ru
