Vývojári spoločnosti Collabora predstavili projekt xrdesktop, v ktorom s podporou spoločnosti Valve sa vyvíja knižnica s prvkami interakcie s tradičnými pracovnými plochami v trojrozmerných prostrediach trénovaný s 3D okuliarmi a prilbami pre virtuálnu realitu. Kód knižnice je napísaný v jazyku C a distribuovaný pod licenciou MIT. Hotové verzie sú pripravené pre Arch Linux a Ubuntu 19.04 a 18.04.
Linux v súčasnosti už má prostriedky na priame generovanie náhlavných súprav pre virtuálnu realitu (rozšírenia Vulkan VK_EXT_acquire_xlib_display pre X11 a VK_EXT_acquire_wl_display pre Wayland), ale neexistuje podpora pre správnu úroveň kreslenia okna v 3D priestore a synchronizáciu obnovovacej frekvencie obrazovky.
O spoločnosti Xrdesktop
Cieľom projektu xrdesktop je vyvinúť metódy, ktoré umožňujú použitie klasických rozhraní vo virtuálnych prostrediach, zameraný na výstup na dvojrozmernú obrazovku a ovládanie pomocou klávesnice a myši.
Komponenty xrdesktop rozširujú dostupných správcov okien a kompozitov o možnosti využitia behu systémov virtuálnej reality na vykreslenie okien a pracovnej plochy v trojrozmerných virtuálnych prostrediach.
V xrdesktopsa presadzuje myšlienka integrácie do existujúcich desktopových prostredí bez potreby spúšťania špecializovaného zloženého správcu oddeľte a umožnite použitie existujúcich používateľských nastavení používaných s bežným monitorom s 3D prilbami.
Architektúra projektu implikuje schopnosť integrácie s akýmkoľvek desktopom, ale v súčasnej fáze vývoja sú komponenty implementované na podporu náhlavných súprav pre virtuálnu realitu pre KDE a Gnome.
Pre KDE je podpora 3D heliem implementovaná prostredníctvom doplnku podobného spoločnosti Compiz a pre GNOME prostredníctvom sady balíkov pre GNOME Shell.
Tieto komponenty zrkadlia existujúce okná do virtuálneho prostredia 3D prilieb vo forme samostatnej scény alebo v režime prekrytia, v ktorom môžu byť okná pracovnej plochy prekryté inými spustenými aplikáciami pre virtuálnu realitu.
Okrem mechanizmov zastúpenia xrdesktop poskytuje komponenty pre navigáciu a podporu vstupu pomocou špecializovaných priestorových radičov.
Xrddesktop, na základe informácií z radičov VR generuje vstupné udalosti bežné, simulujúce použitie klávesnice a myši.
Xrdesktop obsahuje niekoľko knižníc ktoré vytvárajú textúry okien za behu VR pomocou OpenVR, ako aj systém založený na API na vykreslenie celej pracovnej plochy v 3D prostredí.
Pretože xrdesktop neposkytuje vlastného správcu okien, je potrebné vykonať integráciu s existujúcimi správcami okien (xrdesktop je možné preniesť na ľubovoľného správcu okien X11 alebo Wayland).
Hlavné komponenty xrdesktop:
gulkán: väzba glib pre Vulkan, ktorá poskytuje triedy na spracovanie zariadení, shaderov a inicializáciu textúr z pamäte alebo vyrovnávacích pamätí DMA.
gxr: je API na abstrahovanie softvérových rozhraní pre vývoj aplikácií virtuálnej reality. Momentálne je podporovaná iba OpenVR, ale čoskoro bude pridaná podpora pre štandard OpenXR.
libinputsynth: je knižnica na syntézu vstupných udalostí, ako sú pohyb myši, kliknutia a stlačenia klávesov, implementovaná vo forme backendov pre xdo, xi2 a Clutter.
xrddesktop: knižnica na správu okien v 3D prostredí, sada súvisiacich widgetov a backendov na vykreslenie scény.
kwin-effect-xrdesktop a kdeplasma-applets-xrdesktop: plugin KWin pre integráciu KDE a plazmový applet na uvedenie KWin do výstupného režimu na 3D prilbe.
sada patchov gnome-shell a gnome-shell-extension-xrdesktop: je sada opráv pre Gnome na integráciu podpory xrdesktop a doplnok na zmenu výstupu na 3D prilbu v Gnome Shell.
Projekt podporuje rôzne metódy organizovania interakcie medzi počítačmi a oknami vo virtuálnom prostredí, ktoré možno použiť na snímanie okien, ich zväčšovanie, posúvanie, otáčanie, prekrytie na sfére, usporiadanie a skrytie okien, použitie ponuky ovládania a súčasné ovládanie dvoma rukami. pomocou viacerých ovládačov.