Spoločnosť Collabora predstavila kompozitný server wxrd, ktorý je založený na protokole Wayland a je určený na vytváranie pracovnej plochy na základe komponentov xrdesktop vo trojrozmerných prostrediach virtuálnej reality. Ako základ sa využíva knižnica wlroots, ktorú vyvíjajú vývojári používateľského prostredia Sway, a kompozitný server wxrc, určený na použitie v systémoch virtuálnej reality. Kód projektu je napísaný v jazyku C a je distribuovaný pod licenciou MIT.
Na rozdiel od pôvodne navrhnutého riešenia v xrdesktop, wxrd ponúka špecializovaný kompozitný server pre prostredia virtuálnej reality, namiesto adaptácie existujúcich správcoch okien a prostredí pracovnej plochy (projekt xrdesktop poskytuje samostatné opravy pre kwin a GNOME Shell, ktoré vyžadujú adaptáciu pre každé nové vydanie týchto komponentov). Použitie wxrd umožňuje nielen zrkadliť obsah existujúcej dvojrozmernej pracovnej plochy, ktorá je súčasne zobrazená na bežnom monitore, ale aj samostatne spracovávať okná, špeciálne spustené pre trojrozmernú pracovnú plochu (t.j. neposkytovať prístup z VR helmice k aktuálnej pracovnej ploche, ale vytvoriť samostatné prostredie pre VR helmu).

Na rozdiel od podobných projektov Simula VR, Stardust, Motorcar a Safespaces, je kompozitný server wxrd vytvorený s ohľadom na použitie minimálneho počtu závislostí a nízku spotrebu zdrojov. Wxrd tiež umožňuje pracovať nielen s aplikáciami založenými na protokole Wayland a poskytuje možnosť spúšťať X11 aplikácie pomocou DDX servera xwayland.
Keďže rozšírenie protokolu Wayland pre virtuálne klávesnice je vo fáze vývoja, zadávanie dát v wxrd je implementované prostredníctvom systému emulácie klávesnicového vstupu, ktorý prenáša všetky unicode znaky, vrátane emoji, z virtuálnej klávesnice poskytovanej v xrdesktop. Na prevádzku wxrd je potrebná grafická karta s podporou grafického API Vulkan a rozšírenia VK_EXT_image_drm_format_modifier, podporovaného v Mеsa od vydania 21.1 (je súčasťou Ubuntu 21.04). Na použitie API Vulkan na rendering je potrebné rozšírenie VK_EXT_physical_device_drmm, ktoré sa objavilo v Mesa 21.2 (Ubuntu 21.10).
Výhody použitia samostatného kompozitného servera pre systémy virtuálnej reality namiesto integrácie s dvojrozmernými oknami, ktoré sa používajú na zobrazenie tradičnej pracovnej plochy:
- Pri spustení v relácii založenej na Waylande alebo X11, knižnica wlroots otvorí okno, v ktorom je jednoduché usporiadať zachytávanie klávesnicového vstupu a udalostí myši a presmerovať tento vstup do určeného okna v prostredí virtuálnej reality. V budúcnosti sa táto možnosť plánuje využiť na organizáciu vstupu nielen prostredníctvom VR ovládača, ale aj pomocou bežných klávesníc a myší.
- Okna nie sú obmedzené rámom dvojrozmernej pracovnej plochy a môžu mať ľubovoľnú veľkosť, obmedzenú iba maximálne podporovaným hardvérom veľkosti textúr.
- Kreslenie okien v wxrd sa vykonáva s frekvenciou obnovovania obrazu, ktorá je natívna pre 3D helmy (HMD), zatiaľ čo pri zrkadlení okien z bežných okienkových manažérov sa používa frekvencia aplikovaná na obnovenie informácií na pevných monitoroch.
- Kreslenie písiem sa môže vykonávať s ohľadom na hustotu pixelov 3D helmy, bez ohľadu na hustotu pixelov pevného monitora.
- Je možné používať wxrd na systémoch, kde je iba 3D helma a chýba bežný monitor.
Nevýhody samostatného kompozitného servera pre VR:
- V prostredí VR sa zobrazujú iba aplikácie špeciálne spustené pre samostatný kompozitný server, bez možnosti preniesť alebo zrkadliť v prostredí VR okná, ktoré sú už otvorené na tradičnej pracovnej ploche (t.j. na pokračovanie práce s aplikáciami otvorenými na bežnej obrazovke bude potrebné ich znovu spustiť v samostatnom prostredí pre 3D helmu).
- Podpora Waylandu môže byť obmedzená v implementáciách API Vulkan. Napríklad, gbm a wlroots nemôžu byť použité s proprietárnymi ovládačmi NVIDIA kvôli absencii podpory pre rozšírenie VK_EXT_drm_format_modifier.

Zdroj: opennet.ru
