GNOME және KDE виртуалды шындық гарнитураларында пайдалануға арналған xrdesktop жобасы

Collabora әзірлеушілері ұсынылды жоба xrdesktop, онда Valve қолдауымен 3D көзілдіріктері мен виртуалды шындық дулығалары арқылы жасалған үш өлшемді орталар ішіндегі дәстүрлі жұмыс үстелдерімен өзара әрекеттесу элементтері бар кітапхана әзірленуде. Кітапхана коды C және тілінде жазылған таралады MIT лицензиясы бойынша. Дайын жинақтар дайындалды үшін Arch Linux и Ubuntu 19.04 / 18.04.

Қазіргі уақытта Linux-та виртуалды шындық гарнитураларына тікелей шығару құралдары бар (Vulkan кеңейтімдері X11 үшін VK_EXT_acquire_xlib_display және Wayland үшін VK_EXT_acquire_wl_display), бірақ 3D кеңістігінде терезелерді дұрыс көрсету және экранды жаңарту жылдамдығын синхрондау деңгейінде қолдау жоқ. xrdesktop жобасының мақсаты - виртуалды ортада XNUMXD экран дисплейіне және пернетақта мен тінтуірді басқаруға бағытталған классикалық интерфейстерді пайдалануға мүмкіндік беретін әдістерді әзірлеу.

GNOME және KDE виртуалды шындық гарнитураларында пайдалануға арналған xrdesktop жобасы

xrdesktop құрамдастары терезелер мен жұмыс үстелдерін 3D виртуалды орталарында көрсету үшін виртуалды шындықтың орындалу уақыты жүйелерін пайдалану үшін бар терезе мен құрама менеджерлерді кеңейтеді. xrdesktop бөлек мамандандырылған композиттік басқарушыны іске қоспай-ақ бар жұмыс үстелі орталарына біріктіру идеясын алға тартады және әдеттегі монитормен пайдаланылатын бар теңшелетін конфигурацияларды XNUMXD дулығалармен пайдалануға мүмкіндік береді.

Жобаның архитектурасы кез келген жұмыс үстелімен біріктіру мүмкіндігін білдіреді, бірақ қазіргі даму кезеңінде виртуалды шындық гарнитураларын қолдауға арналған компоненттер KDE және GNOME үшін іске асырылуда. KDE үшін 3D шлемдерін қолдау Compiz тәрізді плагин арқылы, ал GNOME үшін GNOME Shell үшін патчтар жинағы арқылы жүзеге асырылады. Бұл компоненттер бар терезелерді 3D дулығалардың виртуалды ортасына бөлек көрініс түрінде немесе қабаттасу режимінде көрсетеді, онда жұмыс үстелі терезелерін басқа іске қосылған виртуалды шындық қолданбаларына қоюға болады.

Рендеринг қозғалтқыштарынан басқа, xrdesktop клапан индексі және VIVE таяқшасы сияқты мамандандырылған кеңістіктік контроллерлердің көмегімен навигация мен енгізуді қамтамасыз ететін құрамдастарды қамтамасыз етеді. Xrdesktop пернетақта мен тінтуірді пайдалануды имитациялай отырып, тұрақты енгізу оқиғаларын жасау үшін VR контроллерлерінің ақпаратын пайдаланады.

xrdesktop OpenVR көмегімен VR жұмыс уақыты үшін терезе текстураларын жасайтын бірнеше кітапханаларды, сондай-ақ 3D ортасында толық жұмыс үстелін көрсетуге арналған API негізіндегі жүйені қамтиды. xrdesktop өзінің жеке терезе менеджерін қамтамасыз етпейтіндіктен, бар терезе менеджерлерімен біріктіру жұмысы қажет (xrdesktop кез келген X11 немесе Wayland терезе менеджеріне тасымалдануы мүмкін). Графикалық драйвер жағында жұмыс істеу үшін Vulkan API және VK_KHR_external_memory кеңейтімін қолдайтын драйвер қажет.

GNOME және KDE виртуалды шындық гарнитураларында пайдалануға арналған xrdesktop жобасы

xrdesktop негізгі компоненттері:

  • гулкан - Vulkan үшін glib байланыстыру, өңдеу құрылғыларына, шейдерлерге және жадтан немесе DMA буферлерінен текстураларды инициализациялауға арналған класстарды қамтамасыз етеді;
  • gxr — виртуалды шындық қосымшаларын әзірлеуге арналған бағдарлама интерфейстерін абстракциялауға арналған API. Қазіргі уақытта тек OpenVR қолдау көрсетіледі, бірақ OpenXR стандартына қолдау жақын арада қосылады;
  • либинпутсинт — xdo, xi2 және Clutter үшін бэкендтер түрінде жүзеге асырылатын тінтуірдің қозғалысы, басу және пернелерді басу сияқты енгізу оқиғаларын синтездеуге арналған кітапхана;
  • xrdesktop — 3D ортасында терезелерді басқаруға арналған кітапхана, көріністі көрсетуге арналған ілеспе виджеттер мен серверлер жиынтығы;
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop — KDE-мен интеграцияға арналған KWin плагині және KWin-ді 3D шлеміндегі шығыс режиміне ауыстыруға арналған Plasma апплеті;
  • gnome-қабық патч жинағы и gnome-shell-extension-xrdesktop — xrdesktop қолдауын біріктіру үшін GNOME Shell үшін патчтар жинағы және GNOME Shell ішіндегі 3D шлемге шығысты ауыстыруға арналған қондырма.

Жоба виртуалды ортада жұмыс үстелімен және терезелермен өзара әрекеттесуді ұйымдастырудың бірнеше әдістерін қолдайды, оларды терезелерді түсіру, масштабтау, жылжыту, айналдыру, сферада қабаттастыру, терезелерді қондыру және жасыру, басқару мәзірін пайдалану және бір уақытта басқару үшін пайдалануға болады. бірнеше контроллерді қолданатын екі қол.

Ақпарат көзі: opennet.ru

пікір қалдыру