Představil wxrd, kompozitní server založený na Waylandu pro systémy virtuální reality

Společnost Collabora představila kompozitní server wxrd, implementovaný na základě protokolu Wayland a určený pro tvorbu desktopu založeného na komponentách xrdesktop v prostředí trojrozměrné virtuální reality. Základem je knihovna wlroots, vyvinutá vývojáři uživatelského prostředí Sway, a kompozitní server wxrc, určený pro použití v systémech virtuální reality. Kód projektu je napsán v jazyce C a je distribuován pod licencí MIT.

Na rozdíl od řešení původně navrženého v xrdesktopu nabízí wxrd specializovaný kompozitní server pro prostředí virtuální reality, namísto přizpůsobení stávajících správců oken a prostředí desktopů pro systémy VR (projekt xrdesktop poskytuje samostatné záplaty pro kwin a GNOME Shell, které vyžadují přizpůsobení pro každý nový uvolnění těchto složek). Použití wxrd vám umožňuje nejen zrcadlit obsah existující dvourozměrné plochy, který je současně zobrazen na běžném monitoru, ale také samostatně zpracovávat okna specificky spuštěná pro trojrozměrnou plochu (tj. neposkytovat přístup z VR helmu na plochu používanou na aktuální systémové tabulce, ale tvoří samostatné prostředí pro VR helmu).

Na rozdíl od podobných projektů Simula VR, Stardust, Motorcar a Safespaces byl kompozitní server wxrd vytvořen s ohledem na použití minimálního počtu závislostí a nízké spotřeby zdrojů. Wxrd také umožňuje pracovat nejen s aplikacemi založenými na protokolu Wayland a umožňuje spouštět aplikace X11 pomocí serveru xwayland DDX.

Vzhledem k tomu, že rozšíření protokolu Wayland pro virtuální klávesnice je ve vývoji, vstup do wxrd je implementován prostřednictvím systému emulace vstupu klávesnice, který přenáší všechny znaky unicode, včetně emotikonů, z virtuální klávesnice poskytované v xrdesktop. Ke spuštění wxrd potřebujete grafickou kartu, která podporuje grafické rozhraní API Vulkan a rozšíření VK_EXT_image_drm_format_modifier, podporované v Mesa od vydání 21.1 (zahrnuto v Ubuntu 21.04). Použití Vulkan API pro vykreslování vyžaduje rozšíření VK_EXT_physical_device_drmm, představené v Mesa 21.2 (Ubuntu 21.10).

Výhody použití samostatného kompozitního serveru pro systémy virtuální reality namísto integrace se správci XNUMXD oken používaných k zobrazení tradiční plochy:

  • Při spuštění v relaci Wayland nebo X11 knihovna wlroots otevře okno, ve kterém můžete snadno zachytit vstup klávesnice a události myši a přesměrovat tento vstup do konkrétního okna v prostředí virtuální reality. V budoucnu plánují tuto funkci využít k organizaci vstupu nejen prostřednictvím ovladače VR, ale také pomocí běžné klávesnice a myši.
  • Windows nejsou omezeny rámem XNUMXD plochy a mohou mít libovolnou velikost, omezenou pouze maximální velikostí textury podporovanou hardwarem.
  • Vykreslování oken ve wxrd se provádí při obnovovací frekvenci obrazu nativního 3D head-mounted display (HMD), zatímco při zrcadlení oken z konvenčních správců oken se používá frekvence používaná k aktualizaci informací na stacionárním monitoru.
  • Písma lze vykreslovat s přihlédnutím k hustotě pixelů 3D helmy, bez ohledu na hustotu pixelů stacionárního monitoru.
  • Je možné použít wxrd na systémech, které mají pouze 3D headset a nemají běžný monitor.

Nevýhody samostatného kompozitního serveru pro VR:

  • V prostředí VR se zobrazují pouze aplikace specificky spuštěné pro samostatný kompozitní server, aniž by bylo možné přenést nebo zrcadlit okna již otevřená na tradiční ploše do prostředí VR (tj. abyste mohli pokračovat v práci s aplikacemi otevřenými na běžné obrazovce, bude nutné restartovat v samostatném prostředí pro 3D helmu).
  • Podpora Wayland může být v implementacích Vulkan API omezena. Například gbm a wlroots nelze použít s proprietárními ovladači NVIDIA kvůli nedostatečné podpoře rozšíření VK_EXT_drm_format_modifier.



Zdroj: opennet.ru

Přidat komentář