Proyek xrdesktop kanggo nggunakake GNOME lan KDE ing headset kasunyatan virtual

Pangembang saka Collabora diwenehi konsep xrdesktop, ing ngendi, kanthi dhukungan saka Valve, perpustakaan dikembangake kanthi unsur-unsur kanggo sesambungan karo desktop tradisional ing lingkungan telung dimensi sing digawe nggunakake kaca tingal 3D lan helm kasunyatan virtual. Kode perpustakaan ditulis ing C lan disebarake dening ing lisensi MIT. Majelis sing wis siap disiapake kanggo Linux Arch ΠΈ Ubuntu 19.04 / 18.04.

Saiki, Linux wis duwe alat kanggo output langsung menyang headset kasunyatan virtual (ekstensi Vulkan VK_EXT_acquire_xlib_display kanggo X11 lan VK_EXT_acquire_wl_display kanggo Wayland), nanging ora ana dhukungan ing tingkat rendering windows sing bener ing ruang 3D lan sinkronisasi tingkat refresh layar. Sasaran saka proyek xrdesktop yaiku ngembangake metode sing bakal ngidini panggunaan antarmuka klasik sing fokus ing tampilan layar XNUMXD lan kontrol keyboard lan mouse ing lingkungan virtual.

Proyek xrdesktop kanggo nggunakake GNOME lan KDE ing headset kasunyatan virtual

komponen xrdesktop ngluwihi manajer jendhela lan gabungan sing ana kanggo nggunakake sistem runtime kasunyatan virtual kanggo nerjemahake windows lan desktop ing lingkungan virtual 3D. xrdesktop nyengkuyung ide kanggo nggabungake menyang lingkungan desktop sing wis ana tanpa kudu mbukak manajer komposit khusus sing kapisah lan ngidini konfigurasi khusus sing digunakake karo monitor biasa digunakake karo helm XNUMXD.

Arsitektur proyek kasebut nuduhake kemampuan kanggo nggabungake desktop apa wae, nanging ing tahap pangembangan saiki, komponen kanggo ndhukung headset kasunyatan virtual ditindakake kanggo KDE lan GNOME. Kanggo KDE, dhukungan kanggo helm 3D dileksanakake liwat plugin kaya Compiz, lan kanggo GNOME liwat sakumpulan patch kanggo GNOME Shell. Komponen kasebut nggambarake jendhela sing ana ing lingkungan virtual helm 3D ing wangun pemandangan sing kapisah utawa ing mode overlay, ing ngendi jendhela desktop bisa ditumpangake ing aplikasi kasunyatan virtual liyane sing mlaku.

Saliyane mesin rendering, xrdesktop nyedhiyakake komponen kanggo nyedhiyakake navigasi lan input nggunakake pengontrol spasial khusus kayata Valve Index lan VIVE Wand. Xrdesktop nggunakake informasi saka pengontrol VR kanggo ngasilake acara input biasa, simulasi panggunaan keyboard lan mouse.

xrdesktop kalebu sawetara perpustakaan sing ngasilake tekstur jendhela kanggo VR runtime nggunakake OpenVR, uga sistem basis API kanggo Rendering desktop lengkap ing lingkungan 3D. Amarga xrdesktop ora nyedhiyakake manajer jendhela dhewe, kerja integrasi karo manajer jendhela sing ana (xrdesktop bisa ditransfer menyang manajer jendhela X11 utawa Wayland). Ing sisih driver grafis, operasi mbutuhake driver sing ndhukung API Vulkan lan extension VK_KHR_external_memory.

Proyek xrdesktop kanggo nggunakake GNOME lan KDE ing headset kasunyatan virtual

Komponen utama xrdesktop:

  • gulkan - glib naleni kanggo Vulkan, nyediakake kelas kanggo piranti Processing, shaders lan initializing tekstur saka memori utawa DMA buffer;
  • gxr - API kanggo abstraksi antarmuka program kanggo ngembangake aplikasi kasunyatan virtual. Saiki mung OpenVR sing didhukung, nanging dhukungan kanggo standar OpenXR bakal ditambahake ing mangsa ngarep;
  • libinputsynth - perpustakaan kanggo sintesis acara input, kayata gerakan mouse, klik lan keystrokes, dipun ginakaken ing wangun backends kanggo xdo, xi2 lan Clutter;
  • xrdesktop - perpustakaan kanggo ngatur windows ing lingkungan 3D, pesawat saka gawan widget lan backends kanggo Rendering pemandangan;
  • kwin-efek-xrdesktop ΠΈ kdeplasma-applets-xrdesktop - plugin kanggo KWin kanggo integrasi karo KDE lan applet Plasma kanggo ngoper KWin menyang mode output ing helem 3D;
  • patchset cangkang gnome ΠΈ gnome-shell-extension-xrdesktop - set patch kanggo GNOME Shell kanggo nggabungake dhukungan xrdesktop lan tambahan kanggo ngoper output menyang helm 3D ing GNOME Shell.

Proyek kasebut ndhukung sawetara cara kanggo ngatur interaksi karo desktop lan windows ing lingkungan virtual, sing bisa digunakake kanggo njupuk windows, skala, mindhah, muter, overlay ing bal, dock lan ndhelikake windows, nggunakake menu kontrol lan kontrol bebarengan karo. tangan loro nggunakake sawetara pengontrol.

Source: opennet.ru

Add a comment