Kompania Collabora prezantoi serverin e kompozitit wxrd, i implementuar mbi protokollin Wayland dhe i destinuar për formimin e një desktopi mbi komponentët xrdesktop brenda mjediseve të treja virtuale të realitetit. Si bazë përdoret biblioteka wlroots, e zhvilluar nga programuesit e mjedisit përdorues Sway, dhe serveri kompozit wxrc, i destinuar për përdorim në sistemet e realitetit virtual. Kódi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën MIT.
Në krahasim me zgjidhjen e propozuar fillimisht në xrdesktop, wxrd ofron një kompozitë të specializuar server për mjediset e realitetit virtual, në vend të adaptimit të sistemeve ekzistuese të menaxhimit të dritareve dhe shell-ave të desktopit për sistemet VR (projekti xrdesktop ofron patch-e të veçanta për kwin dhe GNOME Shell, të cilat kërkojnë adaptim për çdo lëshim të ri të këtyre komponentëve). Përdorimi i wxrd lejon jo vetëm pasqyrimin e përmbajtjes së desktopit ekzistues dy-dimensional, i cili po shikohet në një monitor të zakonshëm, por gjithashtu përpunon veçmas dritaret që janë nisur posaçërisht për desktopin tridimensional (domethënë, nuk ofron qasje nga Helmeti VR në desktopin aktual në sistem, por formon një mjedis të veçantë për Helmetin VR).

Në krahasim me projekte të ngjashme si Simula VR, Stardust, Motorcar dhe Safespaces, serveri kompozit wxrd është krijuar me fokus në përdorimin e një numri minimal të varësive dhe konsum të ulët të burimeve. Wxrd gjithashtu lejon punën jo vetëm me aplikacione të bazuara në protokollin Wayland dhe ofron mundësinë përmes serverit DDX xwayland për të nisur aplikacione X11.
Pasi zgjerimi i protokollit Wayland për tastierat virtuale është në fazën e zhvillimit, futja e të dhënave në wxrd është realizuar përmes një sistemi emulimi të hyrjes së tastierës, i cili dërgon të gjithë karakteret unicode, përfshirë emoji, nga tastiera virtuale që ofrohet në xrdesktop. Për të punuar, wxrd kërkon një kartë grafike me mbështetje për API-në grafike Vulkan dhe zgjerimin VK_EXT_image_drm_format_modifier, i cili mbështetet në MДsa që nga versioni 21.1 (përfshihet në Ubuntu 21.04). Për përdorimin e API-t Vulkan për renderim, kërkohet zgjerimi VK_EXT_physical_device_drmm, i cili u shfaq në Mesa 21.2 (Ubuntu 21.10).
Pikat e forta të përdorimit të një kompozitori të veçantë serverit për sistemet e realitetit virtual në vend që të integrohen me menaxherët e dyfishtë të dritareve, të përdorur për të shfaqur një desktop tradicional:
- Kur aktivizoni një seancë mbi Wayland ose X11, library wlroots hap një dritare që lejon lehtësisht organizimin e kapjes së hyrjes nga tastiera dhe ngjarjeve të mausit, dhe redirekton këtë hyrje në një dritare të caktuar në mjedisin e realitetit virtual. Në të ardhmen, kjo mundësi planifikohet të përdoret për të organizuar hyrjen jo vetëm përmes kontrolluesit VR, por edhe me tastierën dhe mausin e zakonshëm.
- Dritaret nuk janë të kufizuara nga kornizat e desktopit dy-dimensional dhe mund të kenë një madhësi të rastësishme, të kufizuar vetëm nga pajisjet maksimale që mbështesin madhësinë e teksturave.
- Renderimi i dritareve në wxrd kryhet me frekuencën e rifreskimit native për helmetat 3D (HMD), ndërkohë që mirroringu i dritareve nga menaxherët e zakonshëm të dritareve përdor frekuencën që aplikohet për rifreskimin e informacionit në monitorin statik.
- Renderimi i fontëve mund të kryhet duke marrë parasysh densitetin e pikselëve të helmetës 3D, pa u lidhur me densitetin e pikselëve të monitorit statik.
- ĂshtĂ« e mundur tĂ« pĂ«rdoret wxrd nĂ« sisteme ku ka vetĂ«m njĂ« helmetĂ« 3D dhe ku nuk ka njĂ« monitor tĂ« zakonshĂ«m.
Disavantazhet e një serveri të ndarë kompozitor për VR:
- Në ambientin VR shfaqen vetëm aplikacione që janë nisur posaçërisht për një server kompozit të veçantë, pa mundësinë për të transferuar ose reflektuar në ambientin VR dritaret që janë tashmë të hapura në desktopin tradicional (dmth. për të vazhduar punën me aplikacionet e hapura në ekranin normal, do të duhet t'i rilansoni ato në një ambient të veçantë për helmetën 3D).
- Mbështetja për Wayland mund të jetë e kufizuar në implementimet e API Vulkan. Për shembull, gbm dhe wlroots nuk mund të përdoren me drivere pronësore NVIDIA për shkak të mungesës së mbështetjes për zgjerimin VK_EXT_drm_format_modifier.

Burimi: opennet.ru
