Xrdesktop նախագիծը՝ GNOME-ը և KDE-ն վիրտուալ իրականության ականջակալներում օգտագործելու համար

Մշակողները Collabora-ից ներկայացվել է նախագիծ xrdesktop, որում Valve-ի աջակցությամբ գրադարան է մշակվում ավանդական աշխատասեղանների հետ փոխազդելու տարրերով եռաչափ միջավայրերում, որոնք ստեղծվել են 3D ակնոցների և վիրտուալ իրականության սաղավարտների միջոցով: Գրադարանի կոդը գրված է C և տարածվում է MIT լիցենզիայի ներքո: Պատրաստի հավաքներ պատրաստված համար Arch Linux- ը и Ubuntu 19.04 / 18.04.

Ներկայումս Linux-ն արդեն ունի վիրտուալ իրականության ականջակալներին ուղղակի ելքի գործիքներ (Vulkan ընդլայնումներ VK_EXT_acquire_xlib_display X11-ի համար և VK_EXT_acquire_wl_display Wayland-ի համար), սակայն չկա աջակցություն 3D տարածության մեջ պատուհանների ճիշտ մատուցման և էկրանի թարմացման արագության համաժամացման մակարդակում: Xrdesktop նախագծի նպատակն է մշակել մեթոդներ, որոնք թույլ կտան օգտագործել դասական միջերեսներ, որոնք կենտրոնացած են XNUMXD էկրանի ցուցադրման և ստեղնաշարի ու մկնիկի կառավարման վրա վիրտուալ միջավայրերում:

Xrdesktop նախագիծը՝ GNOME-ը և KDE-ն վիրտուալ իրականության ականջակալներում օգտագործելու համար

xrdesktop-ի բաղադրիչները ընդլայնում են առկա պատուհանների և կոմպոզիտային կառավարիչներին՝ օգտագործելու վիրտուալ իրականության գործարկման ժամանակի համակարգեր՝ պատուհանները և աշխատասեղանները 3D վիրտուալ միջավայրերում ցուցադրելու համար: xrdesktop-ը խթանում է գոյություն ունեցող աշխատասեղանի միջավայրում ինտեգրվելու գաղափարը՝ առանց առանձին մասնագիտացված կոմպոզիտային կառավարիչ գործարկելու անհրաժեշտության և թույլ տալով, որ սովորական մոնիտորով օգտագործվող գոյություն ունեցող անհատական ​​կոնֆիգուրացիաները օգտագործվեն XNUMXD սաղավարտներով:

Ծրագրի ճարտարապետությունը ենթադրում է ցանկացած աշխատասեղանի հետ ինտեգրվելու հնարավորություն, սակայն զարգացման ներկա փուլում վիրտուալ իրականության ականջակալներին աջակցելու բաղադրիչները ներդրված են KDE-ի և GNOME-ի համար: KDE-ի համար 3D սաղավարտների աջակցությունն իրականացվում է Compiz-ի նման հավելվածի միջոցով, իսկ GNOME-ի համար՝ GNOME Shell-ի համար նախատեսված մի շարք կարկատների միջոցով: Այս բաղադրիչները արտացոլում են գոյություն ունեցող պատուհանները 3D սաղավարտների վիրտուալ միջավայրում՝ առանձին տեսարանի տեսքով կամ ծածկույթի ռեժիմում, որտեղ աշխատասեղանի պատուհանները կարող են տեղադրվել այլ գործող վիրտուալ իրականության հավելվածների վրա:

Ի լրումն շարժիչների մատուցման, xrdesktop-ն ապահովում է բաղադրիչներ՝ նավարկություն և մուտքագրում ապահովելու համար՝ օգտագործելով մասնագիտացված տարածական կարգավորիչներ, ինչպիսիք են Valve Index-ը և VIVE Wand-ը: Xrdesktop-ն օգտագործում է VR կարգավորիչներից ստացված տեղեկատվությունը` կանոնավոր մուտքային իրադարձություններ ստեղծելու համար՝ նմանակելով ստեղնաշարի և մկնիկի օգտագործումը:

xrdesktop-ը ներառում է մի քանի գրադարաններ, որոնք ստեղծում են պատուհանի հյուսվածքներ VR-ի գործարկման համար՝ օգտագործելով OpenVR-ը, ինչպես նաև API-ի վրա հիմնված համակարգ՝ 3D միջավայրում ամբողջական աշխատասեղան ցուցադրելու համար: Քանի որ xrdesktop-ը չի տրամադրում իր սեփական պատուհանների կառավարիչը, անհրաժեշտ է ինտեգրացիոն աշխատանք առկա պատուհանների կառավարիչների հետ (xrdesktop-ը կարող է տեղափոխվել ցանկացած X11 կամ Wayland պատուհանների կառավարիչ): Գրաֆիկայի վարորդի կողմից շահագործման համար պահանջվում է վարորդ, որն աջակցում է Vulkan API-ին և VK_KHR_external_memory ընդլայնմանը:

Xrdesktop նախագիծը՝ GNOME-ը և KDE-ն վիրտուալ իրականության ականջակալներում օգտագործելու համար

Xrdesktop-ի հիմնական բաղադրիչները.

  • գյուլկան - Glib կապում Vulkan-ի համար՝ տրամադրելով դասեր մշակման սարքերի, ստվերների և հյուսվածքների սկզբնավորման հիշողության կամ DMA բուֆերների համար;
  • gxr — API՝ վիրտուալ իրականության հավելվածներ մշակելու համար ծրագրային միջերեսների վերացականացման համար: Ներկայումս միայն OpenVR-ն է աջակցվում, սակայն OpenXR ստանդարտի աջակցությունը կավելացվի մոտ ապագայում;
  • libinputsynth — մուտքագրման իրադարձությունների սինթեզման գրադարան, ինչպիսիք են մկնիկի շարժումը, կտտոցները և ստեղնաշարերը, որոնք ներդրված են xdo-ի, xi2-ի և clutter-ի համար նախատեսված backend-ների տեսքով.
  • xrdesktop — 3D միջավայրում պատուհանները կառավարելու գրադարան, ուղեկցող վիդջեթների և հետնամասերի հավաքածու՝ տեսարանը ցուցադրելու համար.
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop — KWin-ի պլագին KDE-ի հետ ինտեգրվելու համար և պլազմային հավելված՝ KWin-ը 3D սաղավարտի ելքային ռեժիմին անցնելու համար;
  • gnome-shell patchset и gnome-shell-extension-xrdesktop — GNOME Shell-ի համար նախատեսված կարկատների հավաքածու՝ xrdesktop-ի աջակցությունը ինտեգրելու համար և հավելում GNOME Shell-ում ելքը 3D սաղավարտին անցնելու համար:

Նախագիծն աջակցում է վիրտուալ միջավայրում աշխատասեղանի և պատուհանների հետ փոխազդեցության կազմակերպման մի քանի մեթոդների, որոնք կարող են օգտագործվել պատուհանները նկարելու, մասշտաբավորելու, տեղափոխելու, պտտելու, գնդերի վրա ծածկելու, պատուհանները տեղադրելու և թաքցնելու, կառավարման ընտրացանկից օգտվելու և միաժամանակ կառավարելու համար: երկու ձեռքեր՝ օգտագործելով բազմաթիվ կարգավորիչներ:

Source: opennet.ru

Добавить комментарий