El projecte xrdesktop per utilitzar GNOME i KDE en auriculars de realitat virtual

Desenvolupadors de Collabora presentat projecte xrdesktop, en la qual, amb el suport de Valve, s'està desenvolupant una biblioteca amb elements per interactuar amb escriptoris tradicionals dins d'entorns tridimensionals creats amb ulleres 3D i cascos de realitat virtual. El codi de la biblioteca està escrit en C i Distribuït per sota llicència MIT. Muntatges fets preparat per Arch Linux и Ubuntu 19.04 / 18.04.

Actualment, Linux ja disposa d'eines per a la sortida directa als auriculars de realitat virtual (extensions Vulkan VK_EXT_acquire_xlib_display per a X11 i VK_EXT_acquire_wl_display per a Wayland), però no hi ha suport a nivell de representació correcta de finestres en espai 3D i sincronització de la freqüència d'actualització de la pantalla. L'objectiu del projecte xrdesktop és desenvolupar mètodes que permetin l'ús d'interfícies clàssiques centrades en la visualització de pantalles XNUMXD i el control del teclat i el ratolí en entorns virtuals.

El projecte xrdesktop per utilitzar GNOME i KDE en auriculars de realitat virtual

Els components xrdesktop amplien els gestors de finestres i compostos existents per utilitzar sistemes d'execució de realitat virtual per representar finestres i escriptoris en entorns virtuals 3D. xrdesktop promou la idea d'integrar-se als entorns d'escriptori existents sense la necessitat d'executar un gestor de compostos especialitzat independent i permetre que les configuracions personalitzades existents utilitzades amb un monitor normal s'utilitzin amb cascos XNUMXD.

L'arquitectura del projecte implica la capacitat d'integrar-se amb qualsevol escriptori, però en l'etapa actual de desenvolupament, s'implementen components per donar suport als auriculars de realitat virtual per a KDE i GNOME. Per al KDE, el suport per als cascos 3D s'implementa mitjançant un connector semblant a Compiz, i per al GNOME mitjançant un conjunt de pedaços per al GNOME Shell. Aquests components reflecteixen les finestres existents a l'entorn virtual dels cascos 3D en forma d'escena separada o en mode de superposició, en què les finestres d'escriptori es poden superposar a altres aplicacions de realitat virtual en execució.

A més dels motors de renderització, xrdesktop proporciona components per proporcionar navegació i entrada mitjançant controladors espacials especialitzats, com ara Valve Index i VIVE Wand. Xrdesktop utilitza informació dels controladors VR per generar esdeveniments d'entrada regulars, simulant l'ús d'un teclat i un ratolí.

xrdesktop inclou diverses biblioteques que generen textures de finestres per al temps d'execució VR mitjançant OpenVR, així com un sistema basat en API per renderitzar un escriptori complet en un entorn 3D. Atès que xrdesktop no proporciona el seu propi gestor de finestres, cal treballar d'integració amb els gestors de finestres existents (xrdesktop es pot portar a qualsevol gestor de finestres X11 o Wayland). Pel que fa al controlador de gràfics, el funcionament requereix un controlador que admeti l'API Vulkan i l'extensió VK_KHR_external_memory.

El projecte xrdesktop per utilitzar GNOME i KDE en auriculars de realitat virtual

Els components principals de xrdesktop:

  • gulkan - Enquadernació glib per a Vulkan, proporcionant classes per processar dispositius, shaders i inicialitzar textures des de memòria o buffers DMA;
  • gxr — API per a l'abstracció d'interfícies de programes per desenvolupar aplicacions de realitat virtual. Actualment només s'admet OpenVR, però el suport per a l'estàndard OpenXR s'afegirà en un futur proper;
  • libinputsynth — una biblioteca per sintetitzar esdeveniments d'entrada, com ara moviments del ratolí, clics i pulsacions de tecla, implementada en forma de backends per a xdo, xi2 i Clutter;
  • xrdesktop — una biblioteca per gestionar finestres en un entorn 3D, un conjunt de ginys i backends que s'acompanyen per representar l'escena;
  • kwin-efecte-xrdesktop и kdeplasma-applets-xrdesktop — un connector per a KWin per a la integració amb KDE i una miniaplicació Plasma per canviar KWin al mode de sortida en un casc 3D;
  • conjunt de pedaços gnome-shell и gnome-shell-extension-xrdesktop — un conjunt de pedaços per al GNOME Shell per integrar el suport xrdesktop i un complement per canviar la sortida a un casc 3D al GNOME Shell.

El projecte admet diversos mètodes per organitzar la interacció amb l'escriptori i les finestres en un entorn virtual, que es poden utilitzar per capturar finestres, escalar, moure, girar, superposar en una esfera, acoblar i amagar finestres, utilitzar el menú de control i controlar simultàniament amb dues mans utilitzant diversos controladors.

Font: opennet.ru

Afegeix comentari