Projekt xrdesktop GNOME ja KDE kasutamiseks virtuaalreaalsuse peakomplektides

Arendajad ettevõttest Collabora esitatakse projekt xrdesktop, milles Valve toel arendatakse raamatukogu elementidega, mis võimaldavad suhelda traditsiooniliste lauaarvutitega kolmemõõtmelistes keskkondades, mis on loodud 3D-prillide ja virtuaalreaalsuse kiivrite abil. Teegi kood on kirjutatud C ja jaotatud MIT litsentsi alusel. Valmis sõlmed ette valmistatud eest Arch Linux и Ubuntu 19.04 / 18.04.

Praegu on Linuxil juba tööriistad otseväljundiks virtuaalreaalsuse peakomplektidesse (Vulkani laiendused VK_EXT_acquire_xlib_display X11 jaoks ja VK_EXT_acquire_wl_display Waylandi jaoks), kuid akende 3D-ruumis õige renderdamise ja ekraani värskendussageduse sünkroonimise tasemel puudub tugi. Projekti xrdesktop eesmärk on välja töötada meetodid, mis võimaldavad kasutada virtuaalses keskkonnas klassikalisi XNUMXD ekraanikuvale ning klaviatuuri ja hiire juhtimisele keskendunud liideseid.

Projekt xrdesktop GNOME ja KDE kasutamiseks virtuaalreaalsuse peakomplektides

xrdesktopi komponendid laiendavad olemasolevaid akna- ja liithaldureid, et kasutada virtuaalreaalsuse käitussüsteeme akende ja töölaudade renderdamiseks 3D-virtuaalsetes keskkondades. xrdesktop propageerib ideed integreeruda olemasolevatesse töölauakeskkondadesse, ilma et oleks vaja käitada eraldi spetsialiseeritud komposiithaldurit ja võimaldada olemasolevaid kohandatud konfiguratsioone, mida kasutatakse tavalise monitoriga, kasutada XNUMXD-kiivritega.

Projekti arhitektuur eeldab võimet integreerida mis tahes töölauaga, kuid praeguses arendusetapis on virtuaalreaalsuse peakomplekte toetavad komponendid juurutatud KDE ja GNOME jaoks. KDE puhul rakendatakse 3D-kiivrite tugi Compizi-laadse pistikprogrammi kaudu ja GNOME-i jaoks GNOME Shelli plaastrite komplekti kaudu. Need komponendid peegeldavad olemasolevaid aknaid 3D-kiivrite virtuaalsesse keskkonda eraldi stseeni kujul või ülekatterežiimis, kus töölauaaknaid saab asetada teistele töötavatele virtuaalreaalsuse rakendustele.

Lisaks renderdusmootoritele pakub xrdesktop komponente navigeerimise ja sisendi pakkumiseks spetsiaalsete ruumiliste kontrollerite, nagu Valve Index ja VIVE Wand, abil. Xrdesktop kasutab VR-kontrolleritelt saadavat teavet regulaarsete sisendsündmuste genereerimiseks, simuleerides klaviatuuri ja hiire kasutamist.

Xrdesktop sisaldab mitmeid teeke, mis loovad OpenVR-i abil VR-i käitusaja jaoks aknatekstuure, samuti API-põhist süsteemi täieliku töölaua renderdamiseks 3D-keskkonnas. Kuna xrdesktop ei paku oma aknahaldurit, on vajalik integreerimine olemasolevate aknahalduritega (xrdesktopi saab pordida mis tahes X11 või Waylandi aknahaldurisse). Graafikadraiveri poolel on tööks vaja draiverit, mis toetab Vulkani API-t ja laiendust VK_KHR_external_memory.

Projekt xrdesktop GNOME ja KDE kasutamiseks virtuaalreaalsuse peakomplektides

Xrdesktopi peamised komponendid:

  • gulkan - Vulkani glib-köitmine, pakkudes klasse seadmete töötlemiseks, varjunditeks ja tekstuuride lähtestamiseks mälust või DMA puhvritest;
  • gxr — API programmiliideste abstrakteerimiseks virtuaalreaalsuse rakenduste arendamiseks. Praegu toetatakse ainult OpenVR-i, kuid lähiajal lisandub ka OpenXR-standardi tugi;
  • libinputsynth — teek sisendsündmuste, nagu hiire liikumine, klõpsud ja klahvivajutused, sünteesimiseks, mis on rakendatud xdo, xi2 ja Clutteri taustaprogrammide kujul;
  • xrdesktop — raamatukogu akende haldamiseks 3D-keskkonnas, kaasasolevate vidinate ja taustaprogrammide komplekt stseeni renderdamiseks;
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop — KWini plugin KDE-ga integreerimiseks ja Plasma aplett KWini väljundrežiimi lülitamiseks 3D-kiivril;
  • gnome-shelli patchset и gnome-shell-extension-xrdesktop — GNOME Shelli plaastrite komplekt xrdesktopi toe integreerimiseks ja lisandmoodul väljundi vahetamiseks 3D-kiivrile GNOME Shellis.

Projekt toetab mitmeid meetodeid töölaua ja akendega suhtlemise korraldamiseks virtuaalses keskkonnas, mida saab kasutada akende jäädvustamiseks, skaleerimiseks, teisaldamiseks, pööramiseks, sfäärile katmiseks, akende dokkimiseks ja peitmiseks, juhtmenüü kasutamiseks ja samaaegseks juhtimiseks kaks kätt, kasutades mitut kontrollerit.

Allikas: opennet.ru

Lisa kommentaar