Virtual reallik garnituralarida GNOME va KDE dan foydalanish uchun xrdesktop loyihasi

Collabora'dan dasturchilar taqdim etildi qoralama xrdesktop, bunda Valve ko'magida 3D ko'zoynaklar va virtual reallik dubulg'alari yordamida yaratilgan uch o'lchamli muhitlar ichidagi an'anaviy ish stollari bilan o'zaro ishlash uchun elementlarga ega kutubxona ishlab chiqilmoqda. Kutubxona kodi C va tilida yozilgan tarqaladi MIT litsenziyasi ostida. Tayyor yig'ilishlar tayyorlangan uchun Arch Linux и Ubuntu 19.04 / 18.04.

Hozirda Linuxda virtual reallik minigarnituralariga to'g'ridan-to'g'ri chiqish vositalari mavjud (Vulkan kengaytmalari X11 uchun VK_EXT_acquire_xlib_display va Wayland uchun VK_EXT_acquire_wl_display), ammo 3D maydonida oynalarni to'g'ri ko'rsatish va ekranni yangilash tezligini sinxronlashtirish darajasida qo'llab-quvvatlanmaydi. Xrdesktop loyihasining maqsadi virtual muhitda XNUMXD ekranli displey va klaviatura va sichqonchani boshqarishga qaratilgan klassik interfeyslardan foydalanish imkonini beruvchi usullarni ishlab chiqishdan iborat.

Virtual reallik garnituralarida GNOME va KDE dan foydalanish uchun xrdesktop loyihasi

xrdesktop komponentlari mavjud oyna va kompozit menejerlarni 3D virtual muhitda derazalar va ish stollarini ko'rsatish uchun virtual reallik ish vaqti tizimlaridan foydalanish uchun kengaytiradi. xrdesktop mavjud ish stoli muhitlariga alohida ixtisoslashtirilgan kompozit menejerni ishga tushirishga hojat qoldirmasdan va oddiy monitor bilan ishlatiladigan mavjud shaxsiy konfiguratsiyalarni XNUMXD dubulg'alarida ishlatishga ruxsat berish g'oyasini ilgari suradi.

Loyihaning arxitekturasi har qanday ish stoli bilan integratsiya qilish qobiliyatini nazarda tutadi, ammo rivojlanishning hozirgi bosqichida KDE va ​​GNOME uchun virtual haqiqat garnituralarini qo'llab-quvvatlash komponentlari amalga oshirilmoqda. KDE uchun 3D dubulg'alarni qo'llab-quvvatlash Compiz-ga o'xshash plagin orqali, GNOME uchun esa GNOME Shell uchun yamoqlar to'plami orqali amalga oshiriladi. Ushbu komponentlar mavjud oynalarni 3D dubulg'alarining virtual muhitiga alohida sahna ko'rinishida yoki ustki qatlam rejimida aks ettiradi, bunda ish stoli oynalari boshqa ishlaydigan virtual reallik ilovalariga joylashtirilishi mumkin.

Dvigatellarni ko'rsatishdan tashqari, xrdesktop Valve Index va VIVE Wand kabi ixtisoslashtirilgan fazoviy kontrollerlar yordamida navigatsiya va kiritishni ta'minlash uchun komponentlarni taqdim etadi. Xrdesktop klaviatura va sichqonchadan foydalanishni taqlid qilib, muntazam kiritish hodisalarini yaratish uchun VR kontrollerlari ma'lumotlaridan foydalanadi.

xrdesktop OpenVR yordamida VR ish vaqti uchun oyna teksturalarini yaratadigan bir nechta kutubxonalarni, shuningdek, 3D muhitida toʻliq ish stoli uchun API asosidagi renderlash tizimini oʻz ichiga oladi. Xrdesktop o'zining oyna boshqaruvchisini ta'minlamaganligi sababli, mavjud oyna boshqaruvchilari bilan integratsiya ishi talab qilinadi (xrdesktop istalgan X11 yoki Wayland oyna boshqaruvchisiga ko'chirilishi mumkin). Grafik drayver tomonida ishlash uchun Vulkan API va VK_KHR_external_memory kengaytmasini qo'llab-quvvatlaydigan drayver kerak bo'ladi.

Virtual reallik garnituralarida GNOME va KDE dan foydalanish uchun xrdesktop loyihasi

Xrdesktop ning asosiy komponentlari:

  • gulkan - Vulkan uchun glib ulanishi, ishlov berish qurilmalari, shaderlar va xotira yoki DMA buferlaridan teksturalarni ishga tushirish uchun sinflarni taqdim etadi;
  • gxr — Virtual haqiqat ilovalarini ishlab chiqish uchun dastur interfeyslarini mavhumlash uchun API. Hozirda faqat OpenVR qo'llab-quvvatlanadi, ammo yaqin kelajakda OpenXR standartini qo'llab-quvvatlash qo'shiladi;
  • libinputsinti — xdo, xi2 va Clutter uchun backendlar ko'rinishida amalga oshirilgan sichqoncha harakati, bosish va tugmalar bosish kabi kiritish hodisalarini sintez qilish kutubxonasi;
  • xrdesktop — 3D muhitda oynalarni boshqarish kutubxonasi, sahnani ko‘rsatish uchun qo‘shimcha vidjetlar va backendlar to‘plami;
  • kwin-effect-xrdesktop и kdeplazma-applets-xrdesktop — KDE bilan integratsiya uchun KWin plaginini va 3D dubulg'asida KWinni chiqish rejimiga o'tkazish uchun Plazma ilovasi;
  • gnome-shell patchset и gnome-shell-extension-xrdesktop — xrdesktop qo'llab-quvvatlashini va GNOME Shell-dagi 3D dubulg'asiga chiqishni almashtirish uchun qo'shimchani birlashtirish uchun GNOME Shell uchun yamoqlar to'plami.

Loyiha virtual muhitda ish stoli va derazalar bilan o'zaro aloqani tashkil qilishning bir nechta usullarini qo'llab-quvvatlaydi, ulardan derazalarni suratga olish, masshtablash, ko'chirish, aylantirish, sferaga joylashtirish, derazalarni o'rnatish va yashirish, boshqaruv menyusidan foydalanish va bir vaqtning o'zida boshqaruvchi bilan boshqarish mumkin. bir nechta kontroller yordamida ikki qo'l.

Manba: opennet.ru

a Izoh qo'shish