Прадстаўлены wxrd, кампазітны сервер на базе Wayland для сістэм віртуальнай рэальнасці

Кампанія Collabora прадставіла кампазітны сервер wxrd, рэалізаваны на базе пратаколу Wayland і прызначаны для фармавання працоўнага стала на базе кампанентаў xrdesktop усярэдзіне трохмерных асяродкаў віртуальнай рэальнасці. У якасці асновы выкарыстоўваецца бібліятэка wlroots, якая развіваецца распрацоўшчыкамі карыстацкага асяроддзя Sway, і кампазітны сервер wxrc, разлічаны на выкарыстанне ў сістэмах віртуальнай рэальнасці. Код праекту напісаны на мове Сі і распаўсюджваецца пад ліцэнзіяй MIT.

У адрозненне ад першапачаткова прапанаванага ў xrdesktop рашэння, wxrd прапануе спецыялізаваны кампазітны сервер для асяродкаў віртуальнай рэальнасці, замест адаптацыі для VR-сістэм існых аконных мэнэджараў і абалонак працоўнага стала (праектам xrdesktop падаюцца асобныя патчы да kwin і GNOME Shell, якія патрабуюць адаптацыі выпуску дадзеных кампанентаў). Ужыванне wxrd дазваляе не проста адлюстроўваць змесціва існага двухмернага працоўнага стала, у гэты ж час паказванага на звычайным маніторы, а асобна апрацоўваць вокны, адмыслова запушчаныя для трохмернага працоўнага стала (г.зн. не падаць доступ з VR-шлема да выкарыстоўванага на бягучай сістэме працоўнага стале, а сфармаваць асобнае асяроддзе для VR-шлема).

У адрозненне ад падобных праектаў Simula VR, Stardust, Motorcar і Safespaces, кампазітны сервер wxrd створаны з аглядкай на выкарыстанне мінімальнага ліку залежнасцяў і невялікае спажыванне рэсурсаў. Wxrd таксама дазваляе працаваць не толькі з прыкладаннямі на базе пратакола Wayland і дае магчымасць пры дапамозе DDX-сервера xwayland запускаць X11-прыкладанні.

Бо пашырэнне пратаколу Wayland для віртуальных клавіятур знаходзіцца на стадыі распрацоўкі, увод дадзеных у wxrd рэалізаваны праз сістэму эмуляцыі клавіятурнага ўводу, якая выконвае перадачу ўсіх unicode-знакаў, уключаючы emoji, з якая прадстаўляецца ў xrdesktop віртуальнай клавіятуры. Для працы wxrd патрабуецца відэакарта з падтрымкай графічнага API Vulkan і пашырэнні VK_EXT_image_drm_format_modifier, які падтрымліваецца ў Mеsa пачынальна з выпуску 21.1 (уваходзіць у склад Ubuntu 21.04). Для выкарыстання API Vulkan для рэндэрынгу патрабуецца пашырэнне VK_EXT_physical_device_drmm, якое з'явілася ў Mesa 21.2/21.10 (Ubuntu XNUMX/XNUMX).

Плюсы выкарыстання асобнага кампазітнага сервера для сістэм віртуальнай рэальнасці замест інтэграцыі з двухмернымі аконнымі мэнэджэрамі, выкарыстоўванымі для адлюстравання традыцыйнага працоўнага стала:

  • Пры запуску ў сеансе на базе Wayland або X11, бібліятэка wlroots адчыняе акно, у якім можна лёгка арганізаваць захоп клавіятурнага ўводу і падзей мышы і перанакіраваць дадзены ўвод у вызначанае акно ў асяроддзі віртуальнай рэальнасці. У будучыні дадзеную магчымасць плануюць выкарыстоўваць для арганізацыі ўводу не толькі праз VR-кантролер, але і пры дапамозе звычайных клавіятуры і мышы.
  • Вокны не абмежаваны рамкамі двухмернага працоўнага стала і могуць мець адвольны памер, абмежаваны толькі максімальна падтрымоўваным абсталяваннем памерам тэкстур.
  • Адмалёўка вокнаў у wxrd выконваецца з роднай для 3D-шлемаў (HMD) частатой абнаўлення малюначка, у той час як пры люстэркаванні вокнаў з звычайных аконных мэнэджараў выкарыстоўваецца частата, якая ўжываецца для абнаўлення інфармацыі на стацыянарным маніторы.
  • Адмалёўка шрыфтоў можа выконвацца з улікам шчыльнасці пікселяў 3D-шлема, без прывязкі да шчыльнасці пікселяў стацыянарнага манітора.
  • Магчыма выкарыстанне wxrd на сістэмах, у якіх ёсць толькі 3D-шлем і адсутнічае звычайны манітор.

Мінусы асобнага кампазітнага сервера для VR:

  • У VR-асяроддзі паказваюцца толькі прыкладанні, адмыслова запушчаныя для асобнага кампазітнага сервера, без магчымасці перанесці ці адлюстраваць у VR-асяроддзе акна, ужо адчыненыя на традыцыйным працоўным стале (г.зн. для працягу працы з прыкладаннямі, адчыненымі на звычайным экране, прыйдзецца іх перазапускаць у асобным асяроддзі для 3D-шлема).
  • Падтрымка Wayland можа быць абмежавана ў рэалізацыях API Vulkan. Напрыклад, gbm і wlroots не могуць выкарыстоўвацца з прапрыетарнымі драйверамі NVIDIA з-за адсутнасці падтрымкі пашырэння VK_EXT_drm_format_modifier.



Крыніца: opennet.ru

Дадаць каментар