Proyék xrdesktop pikeun ngagunakeun GNOME sareng KDE dina headset kanyataanana virtual

Pamekar ti Collabora ditepikeun proyékna xrdesktop, nu mana, kalayan rojongan ti Valve, perpustakaan keur dimekarkeun kalawan elemen pikeun interacting jeung desktops tradisional di jero lingkungan tilu diménsi dijieun maké kacamata 3D jeung helmets kanyataanana maya. Kode perpustakaan ditulis dina C jeung disebarkeun ku handapeun lisénsi MIT. Majelis siap-dijieun disiapkeun keur Arch Linux Ubuntu и Ubuntu 19.04 / 18.04.

Ayeuna, Linux parantos gaduh alat pikeun kaluaran langsung kana headset kanyataanana virtual (ekstensi Vulkan VK_EXT_acquire_xlib_display pikeun X11 sareng VK_EXT_acquire_wl_display pikeun Wayland), tapi teu aya dukungan dina tingkat rendering windows anu leres dina rohangan 3D sareng sinkronisasi tingkat refresh layar. Tujuan tina proyék xrdesktop nyaéta pikeun ngembangkeun metode anu bakal ngamungkinkeun panggunaan antarmuka klasik anu difokuskeun kana tampilan layar XNUMXD sareng kontrol keyboard sareng mouse dina lingkungan virtual.

Proyék xrdesktop pikeun ngagunakeun GNOME sareng KDE dina headset kanyataanana virtual

Komponén xrdesktop manjangkeun jandela sareng manajer komposit anu tos aya pikeun ngagunakeun sistem runtime kanyataanana virtual pikeun ngajantenkeun windows sareng desktop dina lingkungan virtual 3D. xrdesktop ngamajukeun ide pikeun ngahijikeun kana lingkungan desktop anu tos aya tanpa kedah ngajalankeun manajer komposit khusus anu misah sareng ngamungkinkeun konfigurasi khusus anu aya anu dianggo sareng monitor biasa dianggo sareng helm XNUMXD.

Arsitéktur proyék nunjukkeun kamampuan pikeun ngahijikeun sareng desktop naon waé, tapi dina tahap pangwangunan ayeuna, komponén pikeun ngadukung headset kanyataanana virtual dilaksanakeun pikeun KDE sareng GNOME. Pikeun KDE, rojongan pikeun helm 3D dilaksanakeun ngaliwatan plugin kawas Compiz, sarta pikeun GNOME ngaliwatan sakumpulan patch pikeun GNOME Shell. Komponén-komponén ieu eunteung windows anu aya kana lingkungan virtual helm 3D dina bentuk adegan anu misah atanapi dina mode overlay, dimana windows desktop tiasa ditumpangkeun kana aplikasi kanyataanana virtual anu sanés.

Salian mesin rendering, xrdesktop nyayogikeun komponén pikeun nyayogikeun navigasi sareng input nganggo pangendali spasial khusus sapertos Indéks Valve sareng VIVE Wand. Xrdesktop ngagunakeun informasi ti controller VR pikeun ngahasilkeun acara input biasa, simulating pamakéan a keyboard jeung mouse.

xrdesktop ngawengku sababaraha perpustakaan anu ngahasilkeun tékstur jandela pikeun runtime VR maké OpenVR, kitu ogé hiji sistem basis API pikeun ngajadikeun hiji desktop pinuh dina lingkungan 3D. Kusabab xrdesktop henteu nyayogikeun manajer jandela sorangan, peryogi integrasi sareng manajer jandela anu tos aya (xrdesktop tiasa dialihkeun ka manajer jandela X11 atanapi Wayland). Dina sisi supir grafik, operasi merlukeun supir nu ngarojong API Vulkan jeung extension VK_KHR_external_memory.

Proyék xrdesktop pikeun ngagunakeun GNOME sareng KDE dina headset kanyataanana virtual

Komponén utama xrdesktop:

  • gulkan - glib mengikat pikeun Vulkan, nyadiakeun kelas pikeun ngolah alat, shaders na initializing tékstur tina mémori atawa DMA buffers;
  • gxr - API pikeun abstracting interfaces program pikeun ngembangkeun aplikasi kanyataanana maya. Ayeuna ngan OpenVR dirojong, tapi rojongan pikeun standar OpenXR bakal ditambahkeun dina mangsa nu bakal datang;
  • libinputsynth - perpustakaan pikeun nyintésis acara input, kayaning gerakan mouse, clicks na keystrokes, dilaksanakeun dina bentuk backends pikeun xdo, xi2 na Clutter;
  • xrdesktop - perpustakaan pikeun ngatur windows dina lingkungan 3D, sakumpulan widget sareng backends anu dibarengan pikeun rendering adegan;
  • kwin-pangaruh-xrdesktop и kdeplasma-applets-xrdesktop - plugin pikeun KWin pikeun integrasi sareng KDE sareng applet Plasma pikeun ngalihkeun KWin ka modeu kaluaran dina helm 3D;
  • gnome-cangkang patchset и gnome-cangkang-extension-xrdesktop - sakumpulan patch pikeun GNOME Shell pikeun ngahijikeun dukungan xrdesktop sareng tambihan pikeun ngalihkeun kaluaran kana helm 3D dina GNOME Shell.

Proyék ieu ngadukung sababaraha metode pikeun ngatur interaksi sareng desktop sareng windows di lingkungan virtual, anu tiasa dianggo pikeun moto windows, skala, mindahkeun, muterkeun, overlay dina sphere, dock sareng nyumput windows, nganggo menu kontrol sareng sakaligus ngontrol sareng dua leungeun ngagunakeun sababaraha controller.

sumber: opennet.ru

Tambahkeun komentar