Az xrdesktop projekt a GNOME és a KDE virtuális valóságos fejhallgatókban való használatához

A Collabora fejlesztői bemutatott terv xrdesktop, amelyben a Valve támogatásával olyan könyvtárat fejlesztenek ki, amely elemekkel kölcsönhatásba léphet a hagyományos asztali számítógépekkel háromdimenziós környezetben, amelyet 3D szemüveg és virtuális valóság sisakok segítségével hoztak létre. A könyvtár kódja C és nyelven van írva forgalmazza MIT licenc alatt. Kész szerelvények előkészített a Arch Linux и Ubuntu 19.04 / 18.04.

Jelenleg a Linux már rendelkezik eszközökkel a virtuális valóság fejhallgatóihoz való közvetlen kimenethez (Vulkan bővítmények VK_EXT_acquire_xlib_display X11-hez és VK_EXT_acquire_wl_display a Waylandhoz), de nincs támogatás az ablakok 3D-s térbeli helyes megjelenítéséhez és a képernyő frissítési gyakoriságának szinkronizálásához. Az xrdesktop projekt célja olyan módszerek kidolgozása, amelyek lehetővé teszik a klasszikus, XNUMXD képernyő-megjelenítésre, valamint billentyűzet- és egérvezérlésre összpontosító interfészek használatát virtuális környezetben.

Az xrdesktop projekt a GNOME és a KDE virtuális valóságos fejhallgatókban való használatához

Az xrdesktop összetevői kibővítik a meglévő ablak- és összetett kezelőket, hogy virtuális valóság futásidejű rendszereket használhassanak ablakok és asztali számítógépek 3D virtuális környezetekben való megjelenítésére. Az xrdesktop népszerűsíti a meglévő asztali környezetekbe való integrálódást anélkül, hogy külön speciális összetett kezelőt kellene futtatni, és lehetővé teszi a hagyományos monitorral használt, meglévő egyéni konfigurációk XNUMXD sisakokkal való használatát.

A projekt architektúrája magában foglalja a bármilyen asztali számítógéppel való integrálhatóságot, de a fejlesztés jelenlegi szakaszában a virtuális valóság fejhallgatóit támogató komponensek a KDE-hez és a GNOME-hoz valósulnak meg. A KDE esetében a 3D sisakok támogatása egy Compiz-szerű beépülő modulon, a GNOME esetében pedig a GNOME Shell javításainak készletén keresztül valósul meg. Ezek a komponensek a meglévő ablakokat tükrözik a 3D sisakok virtuális környezetébe külön jelenet formájában vagy átfedő módban, amelyben az asztali ablakok ráhelyezhetők más futó virtuális valóság-alkalmazásokra.

A renderelő motorok mellett az xrdesktop olyan komponenseket is kínál, amelyek speciális térvezérlők, például a Valve Index és a VIVE Wand segítségével biztosítják a navigációt és a bevitelt. Az Xrdesktop a VR-vezérlőktől származó információkat használja fel a rendszeres beviteli események generálására, szimulálva a billentyűzet és az egér használatát.

Az xrdesktop számos olyan könyvtárat tartalmaz, amelyek ablaktextúrákat állítanak elő a VR futtatókörnyezetéhez az OpenVR használatával, valamint egy API-alapú rendszert a teljes asztal 3D-s környezetben való megjelenítéséhez. Mivel az xrdesktop nem rendelkezik saját ablakkezelővel, a meglévő ablakkezelőkkel való integrációs munkára van szükség (az xrdesktop bármely X11 vagy Wayland ablakkezelőre portolható). A grafikus illesztőprogram oldalán a működéshez olyan illesztőprogramra van szükség, amely támogatja a Vulkan API-t és a VK_KHR_external_memory kiterjesztést.

Az xrdesktop projekt a GNOME és a KDE virtuális valóságos fejhallgatókban való használatához

Az xrdesktop fő összetevői:

  • gulkan - glib kötés a Vulkanhoz, osztályokat biztosít a feldolgozó eszközökhöz, shaderekhez és textúrák inicializálásához memóriából vagy DMA pufferekből;
  • gxr — API virtuális valóság-alkalmazások fejlesztéséhez szükséges programinterfészek absztrahálására. Jelenleg csak az OpenVR támogatott, de a közeljövőben az OpenXR szabvány támogatása is megjelenik;
  • libinputsynth — egy könyvtár a bemeneti események, például az egérmozgás, a kattintások és a billentyűleütések szintetizálására, az xdo, xi2 és Clutter háttérprogramjai formájában;
  • xrdesktop — egy könyvtár az ablakok 3D-s környezetben történő kezeléséhez, egy sor kapcsolódó widget és háttérprogram a jelenet megjelenítéséhez;
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop — egy bővítmény a KWin számára a KDE-vel való integrációhoz és egy Plasma kisalkalmazás a KWin kimeneti módba kapcsolásához 3D sisakokon;
  • gnome-shell patchset и gnome-shell-extension-xrdesktop – a GNOME Shell javításainak készlete az xrdesktop támogatás integrálásához, valamint egy bővítmény a GNOME Shell 3D-s sisakjára való átváltáshoz.

A projekt számos módszert támogat az asztallal és az ablakokkal való interakció megszervezésére virtuális környezetben, amelyek segítségével ablakokat rögzíthetünk, méretezhetünk, mozgathatunk, forgathatunk, átfedhetünk egy gömbre, dokkolhatunk és elrejthetünk ablakokat, használhatjuk a vezérlőmenüt és egyidejűleg vezérelhetők két kéz több vezérlővel.

Forrás: opennet.ru

Hozzászólás