xrdesktop-projekti GNOMEn ja KDE:n käyttämiseen virtuaalitodellisuuskuulokkeissa

Kehittäjät Collaboralta esitetty hanke xrdesktop, jossa Valven tuella kehitetään kirjastoa, jossa on elementtejä vuorovaikutukseen perinteisten pöytäkoneiden kanssa kolmiulotteisissa ympäristöissä, jotka on luotu 3D-laseilla ja virtuaalitodellisuuskypärillä. Kirjastokoodi on kirjoitettu kielellä C ja jakelija MIT-lisenssillä. Valmiit kokoonpanot valmis varten Arch Linux и Ubuntu 19.04 / 18.04.

Tällä hetkellä Linuxilla on jo työkalut suoraa tulostamista varten virtuaalitodellisuuskuulokkeille (Vulkan-laajennukset VK_EXT_acquire_xlib_display X11:lle ja VK_EXT_acquire_wl_display Waylandille), mutta ikkunoiden oikealle hahmonnukselle 3D-tilassa ja näytön virkistystaajuuden synkronoinnille ei ole tukea. xrdesktop-projektin tavoitteena on kehittää menetelmiä, jotka mahdollistavat klassisten rajapintojen käytön virtuaaliympäristöissä, keskittyen XNUMXD-näytön ulostuloon sekä näppäimistön ja hiiren ohjaukseen.

xrdesktop-projekti GNOMEn ja KDE:n käyttämiseen virtuaalitodellisuuskuulokkeissa

xrdesktop-komponentit laajentavat olemassa olevia ikkunoiden ja komposiittien hallintaohjelmia käyttämään virtuaalitodellisuuden ajonaikaisia ​​järjestelmiä ikkunoiden ja työpöytien hahmontamiseen 3D-virtuaaliympäristöissä. xrdesktop edistää ajatusta integroida olemassa oleviin työpöytäympäristöihin ilman erillistä erikoistunutta yhdistelmähallintaa ja mahdollistaa olemassa olevien mukautettujen kokoonpanojen käyttämisen tavallisen näytön kanssa XNUMXD-kypärien kanssa.

Projektin arkkitehtuuri mahdollistaa integroinnin minkä tahansa työpöydän kanssa, mutta nykyisessä kehitysvaiheessa virtuaalitodellisuuskuulokkeita tukevia komponentteja on toteutettu KDE:lle ja GNOMElle. KDE:ssä tuki 3D-kypärille toteutetaan Compizin kaltaisella laajennuksella ja GNOME:ssa GNOME Shellin korjaustiedostojen avulla. Nämä komponentit heijastavat olemassa olevia ikkunoita 3D-kypärän virtuaaliseen ympäristöön erillisenä kohtauksena tai peittokuvatilassa, jossa työpöytäikkunat voidaan sijoittaa muiden käynnissä olevien virtuaalitodellisuussovellusten päälle.

Renderöintikoneiden lisäksi xrdesktop tarjoaa komponentteja, jotka tarjoavat navigointia ja syötteitä käyttämällä erikoistuneita spatiaalisia ohjaimia, kuten Valve Index ja VIVE Wand. Xrdesktop käyttää VR-ohjaimien tietoja säännöllisten syöttötapahtumien luomiseen, simuloiden näppäimistön ja hiiren käyttöä.

xrdesktop sisältää useita kirjastoja, jotka luovat ikkunakuvioita VR-ajoaikaa varten OpenVR:n avulla, sekä API-pohjaisen järjestelmän koko työpöydän renderöimiseksi 3D-ympäristössä. Koska xrdesktop ei tarjoa omaa ikkunanhallintaa, tarvitaan integrointityötä olemassa olevien ikkunanhallintaohjelmien kanssa (xrdesktop voidaan siirtää mihin tahansa X11- tai Wayland-ikkunahallintaan). Grafiikkaohjaimen puolella toiminta vaatii ohjaimen, joka tukee Vulkan API:ta ja VK_KHR_external_memory laajennusta.

xrdesktop-projekti GNOMEn ja KDE:n käyttämiseen virtuaalitodellisuuskuulokkeissa

Xrdesktopin pääkomponentit:

  • gulkan - glib-sidonta Vulkanille, joka tarjoaa luokkia prosessointilaitteille, varjostimille ja pintakuvioiden alustamiselle muistista tai DMA-puskureista;
  • gxr — API virtuaalitodellisuussovellusten kehittämiseen tarkoitettujen ohjelmaliittymien abstraktioille. Tällä hetkellä tuetaan vain OpenVR:ää, mutta OpenXR-standardin tuki lisätään lähitulevaisuudessa;
  • libinputsynth — kirjasto syöttötapahtumien, kuten hiiren liikkeen, napsautusten ja näppäinpainallusten, syntetisoimiseksi, toteutettu taustaohjelmina xdo:lle, xi2:lle ja Clutterille;
  • xrdesktop — kirjasto ikkunoiden hallintaan 3D-ympäristössä, joukko mukana tulevia widgetejä ja taustaohjelmia näkymän renderöimiseksi;
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop — KWin-laajennus KDE-integrointia varten ja Plasma-sovelma KWinin kytkemiseksi lähtötilaan 3D-kypärässä;
  • gnome-shell patchset и gnome-shell-extension-xrdesktop — joukko korjaustiedostoja GNOME Shellille xrdesktop-tuen integroimiseksi ja lisäosa, jolla voidaan vaihtaa tulos 3D-kypärään GNOME Shellissä.

Projekti tukee useita tapoja järjestää vuorovaikutusta työpöydän ja ikkunoiden kanssa virtuaaliympäristössä, jolla voidaan kaapata ikkunoita, skaalata, siirtää, kiertää, peittää pallolla, kiinnittää ja piilottaa ikkunoita, käyttää ohjausvalikkoa ja samanaikaisesti ohjata kaksi kättä useiden ohjaimien avulla.

Lähde: opennet.ru

Lisää kommentti