It xrdesktop-projekt foar it brûken fan GNOME en KDE yn virtuele realiteit-headsets

Untwikkelders út Collabora presintearre ûntwerp xrdesktop. De biblioteek koade is skreaun yn C en ferspraat troch ûnder MIT lisinsje. Ready-makke gearkomsten taret foar Arch Linux и Ubuntu 19.04 / 18.04.

Op it stuit hat Linux al ark foar direkte útfier nei firtuele realiteit-headsets (Vulkan-útwreidingen VK_EXT_acquire_xlib_display foar X11 en VK_EXT_acquire_wl_display foar Wayland), mar d'r is gjin stipe op it nivo fan juste werjefte fan finsters yn 3D-romte en syngronisaasje fan it skermferfarskingsnivo. It doel fan it xrdesktop-projekt is om metoaden te ûntwikkeljen dy't it gebrûk meitsje fan klassike ynterfaces rjochte op XNUMXD skerm werjefte en toetseboerd- en mûskontrôle yn firtuele omjouwings.

It xrdesktop-projekt foar it brûken fan GNOME en KDE yn virtuele realiteit-headsets

xrdesktop-komponinten wreidzje besteande finster- en gearstalde managers út om firtuele werklikheid runtime-systemen te brûken om finsters en buroblêden yn 3D firtuele omjouwings te werjaan. xrdesktop befoarderet it idee fan yntegrearjen yn besteande buroblêdomjouwings sûnder de needsaak om in aparte spesjalisearre gearstalde manager út te fieren en it tastean fan besteande oanpaste konfiguraasjes brûkt mei in gewoane monitor te brûken mei XNUMXD-helmen.

De arsjitektuer fan it projekt ymplisearret de mooglikheid om te yntegrearjen mei elk buroblêd, mar op it hjoeddeistige stadium fan ûntwikkeling binne komponinten om firtuele werklikheid-headsets te stypjen ymplementearre foar KDE en GNOME. Foar KDE wurdt stipe foar 3D-helmen ymplementearre fia in Compiz-like plugin, en foar GNOME troch in set patches foar GNOME Shell. Dizze komponinten wjerspegelje besteande finsters yn 'e firtuele omjouwing fan 3D-helmen yn' e foarm fan in aparte sêne of yn overlay-modus, wêryn buroblêdfinsters kinne wurde oerslein op oare rinnende firtuele werklikheid-applikaasjes.

Neist it werjaan fan motoren leveret xrdesktop komponinten om navigaasje en ynfier te leverjen mei spesjale romtlike kontrôles lykas de Valve Index en VIVE Wand. Xrdesktop brûkt ynformaasje fan VR-controllers om reguliere ynfier-eveneminten te generearjen, simulearje it gebrûk fan in toetseboerd en mûs.

xrdesktop omfettet ferskate biblioteken dy't finstertekstueren generearje foar de VR-runtime mei OpenVR, lykas ek in API-basearre systeem foar it werjaan fan in folslein buroblêd yn in 3D-omjouwing. Sûnt xrdesktop gjin eigen finsterbehearder leveret, is yntegraasjewurk mei besteande finsterbehearders ferplicht (xrdesktop kin wurde porteare nei elke X11- of Wayland-finsterbehearder). Oan 'e kant fan' e grafyske bestjoerder fereasket operaasje in stjoerprogramma dat de Vulkan API en de VK_KHR_external_memory-útwreiding stipet.

It xrdesktop-projekt foar it brûken fan GNOME en KDE yn virtuele realiteit-headsets

De wichtichste komponinten fan xrdesktop:

  • gulkan - glib-bining foar Vulkan, it leverjen fan klassen foar it ferwurkjen fan apparaten, shaders en it initialisearjen fan tekstueren út ûnthâld as DMA-buffers;
  • gxr - API foar it abstraheren fan programma-ynterfaces foar it ûntwikkeljen fan firtuele werklikheid-applikaasjes. Op it stuit wurdt allinich OpenVR stipe, mar stipe foar de OpenXR-standert sil yn 'e heine takomst tafoege wurde;
  • libinputsynth - in bibleteek foar it synthesisearjen fan ynfiereveneminten, lykas mûsbeweging, klikken en toetsoanslaggen, ymplementearre yn 'e foarm fan backends foar xdo, xi2 en Clutter;
  • xrdesktop - in bibleteek foar it behearen fan finsters yn in 3D-omjouwing, in set begeliedende widgets en backends foar it werjaan fan it toaniel;
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop - in plugin foar KWin foar yntegraasje mei KDE en in Plasma-applet foar it wikseljen fan KWin nei útfiermodus op in 3D-helm;
  • gnome-shell patchset и gnome-shell-extension-xrdesktop - in set patches foar GNOME Shell om xrdesktop-stipe te yntegrearjen en in add-on foar it wikseljen fan útfier nei in 3D-helm yn GNOME Shell.

It projekt stipet ferskate metoaden foar it organisearjen fan ynteraksje mei it buroblêd en finsters yn in firtuele omjouwing, dy't kin wurde brûkt om finsters op te nimmen, te skaaljen, te ferpleatsen, te draaien, oerlaapje op in sfear, doch en ferbergje finsters, brûk it kontrôlemenu en tagelyk kontrolearje mei twa hannen mei help fan meardere controllers.

Boarne: opennet.ru

Add a comment