Ipinakilala ang wxrd, isang Wayland-based na composite server para sa mga virtual reality system

Ang kumpanya ng Collabora ay nagpakita ng isang composite server na wxrd, na ipinatupad batay sa protocol ng Wayland at nilayon para sa paglikha ng isang desktop batay sa mga bahagi ng xrdesktop sa loob ng mga three-dimensional na virtual reality na kapaligiran. Ang batayan ay ang wlroots library, na binuo ng mga developer ng Sway user environment, at ang wxrc composite server, na idinisenyo para gamitin sa mga virtual reality system. Ang code ng proyekto ay nakasulat sa C at ipinamamahagi sa ilalim ng lisensya ng MIT.

Hindi tulad ng solusyon na orihinal na iminungkahi sa xrdesktop, nag-aalok ang wxrd ng isang espesyal na composite server para sa mga virtual reality na kapaligiran, sa halip na iakma ang mga umiiral nang window manager at desktop shell para sa mga VR system (ang xrdesktop na proyekto ay nagbibigay ng hiwalay na mga patch para sa kwin at GNOME Shell, na nangangailangan ng adaptasyon para sa bawat bago. paglabas ng mga sangkap na ito). Ang paggamit ng wxrd ay nagbibigay-daan sa iyo hindi lamang upang i-mirror ang mga nilalaman ng isang umiiral na dalawang-dimensional na desktop, sa parehong oras na ipinapakita sa isang regular na monitor, ngunit upang hiwalay na iproseso ang mga window na partikular na inilunsad para sa isang three-dimensional na desktop (ibig sabihin, hindi nagbibigay ng access mula sa ang VR helmet sa desktop na ginagamit sa kasalukuyang system table, ngunit para bumuo ng hiwalay na kapaligiran para sa VR helmet).

Hindi tulad ng mga katulad na proyektong Simula VR, Stardust, Motorcar at Safespaces, nilikha ang wxrd composite server na may layuning gumamit ng minimum na bilang ng mga dependency at mababang resource consumption. Pinapayagan ka rin ng Wxrd na magtrabaho hindi lamang sa mga application batay sa Wayland protocol at ginagawang posible na magpatakbo ng mga X11 application gamit ang xwayland DDX server.

Dahil ang Wayland protocol extension para sa mga virtual na keyboard ay nasa ilalim ng pagbuo, ang input sa wxrd ay ipinapatupad sa pamamagitan ng isang keyboard input emulation system na naglilipat ng lahat ng mga unicode na character, kabilang ang emoji, mula sa virtual na keyboard na ibinigay sa xrdesktop. Upang patakbuhin ang wxrd, kailangan mo ng video card na sumusuporta sa Vulkan graphics API at ang extension ng VK_EXT_image_drm_format_modifier, na suportado sa Mesa mula noong release 21.1 (kasama sa Ubuntu 21.04). Ang paggamit ng Vulkan API para sa pag-render ay nangangailangan ng extension na VK_EXT_physical_device_drmm, na ipinakilala sa Mesa 21.2 (Ubuntu 21.10).

Mga kalamangan ng paggamit ng hiwalay na composite server para sa mga virtual reality system sa halip na pagsamahin sa mga XNUMXD window manager na ginamit upang magpakita ng tradisyonal na desktop:

  • Kapag tumakbo sa isang Wayland o X11-based na session, ang wlroots library ay magbubukas ng isang window kung saan madali mong makukuha ang keyboard input at mga kaganapan ng mouse at i-redirect ang input na iyon sa isang partikular na window sa isang virtual reality na kapaligiran. Sa hinaharap, pinaplano nilang gamitin ang feature na ito upang ayusin ang input hindi lamang sa pamamagitan ng VR controller, kundi gamit din ang regular na keyboard at mouse.
  • Ang Windows ay hindi nalilimitahan ng XNUMXD desktop frame at maaaring may di-makatwirang laki, limitado lamang ng maximum na sukat ng texture na sinusuportahan ng hardware.
  • Isinasagawa ang pag-render ng window sa wxrd sa native na 3D head-mounted display (HMD) na rate ng pag-refresh ng imahe, habang kapag nag-mirror ng mga bintana mula sa mga kumbensyonal na window manager, ginagamit ang dalas na ginagamit sa pag-update ng impormasyon sa isang nakatigil na monitor.
  • Maaaring i-render ang mga font na isinasaalang-alang ang pixel density ng isang 3D helmet, nang walang reference sa pixel density ng isang nakatigil na monitor.
  • Posibleng gumamit ng wxrd sa mga system na may 3D headset lang at walang regular na monitor.

Mga disadvantages ng isang hiwalay na composite server para sa VR:

  • Sa VR environment, tanging mga application na partikular na inilunsad para sa isang hiwalay na composite server ang ipinapakita, nang walang kakayahang maglipat o mag-mirror ng mga window na nakabukas na sa isang tradisyunal na desktop sa VR environment (ibig sabihin, upang magpatuloy sa pagtatrabaho sa mga application na bukas sa isang regular na screen, ikaw ay kailangang mag-restart sa isang hiwalay na kapaligiran para sa 3D helmet).
  • Maaaring limitado ang suporta sa Wayland sa mga pagpapatupad ng Vulkan API. Halimbawa, hindi magagamit ang gbm at wlroots sa pagmamay-ari na mga driver ng NVIDIA dahil sa kakulangan ng suporta para sa extension ng VK_EXT_drm_format_modifier.



Pinagmulan: opennet.ru

Magdagdag ng komento