Introducerade wxrd, en Wayland-baserad sammansatt server för virtuell verklighetssystem

Collabora-företaget presenterade en sammansatt server wxrd, implementerad på basis av Wayland-protokollet och avsedd för att skapa ett skrivbord baserat på xrdesktop-komponenter i tredimensionella virtual reality-miljöer. Grunden är wlroots-biblioteket, utvecklat av utvecklarna av Sway-användarmiljön, och wxrc-kompositservern, designad för användning i virtuell verklighetssystem. Projektkoden är skriven i C och distribueras under MIT-licensen.

Till skillnad från lösningen som ursprungligen föreslagits i xrdesktop, erbjuder wxrd en specialiserad sammansatt server för virtuell verklighetsmiljöer, istället för att anpassa befintliga fönsterhanterare och skrivbordsskal för VR-system (xrdesktop-projektet tillhandahåller separata patchar för kwin och GNOME Shell, som kräver anpassning för varje ny frisättning av dessa komponenter). Användningen av wxrd låter dig inte bara spegla innehållet på ett befintligt tvådimensionellt skrivbord, samtidigt som det visas på en vanlig bildskärm, utan att separat bearbeta fönster som är specifikt lanserade för ett tredimensionellt skrivbord (dvs. inte ge åtkomst från VR-hjälmen till skrivbordet som används på den aktuella systemtabellen, men för att bilda en separat miljö för VR-hjälmen).

Till skillnad från liknande projekt Simula VR, Stardust, Motorcar och Safespaces skapades wxrd-kompositservern med ett öga för att använda ett minimum av beroenden och låg resursförbrukning. Wxrd låter dig också arbeta inte bara med applikationer baserade på Wayland-protokollet och gör det möjligt att köra X11-applikationer med hjälp av xwayland DDX-servern.

Eftersom Wayland-protokollförlängningen för virtuella tangentbord är under utveckling, implementeras inmatning till wxrd genom ett tangentbordsinmatningsemuleringssystem som överför alla unicode-tecken, inklusive emoji, från det virtuella tangentbordet som tillhandahålls i xrdesktop. För att köra wxrd behöver du ett grafikkort som stöder Vulkan graphics API och tillägget VK_EXT_image_drm_format_modifier, som stöds i Mesa sedan release 21.1 (ingår i Ubuntu 21.04). Att använda Vulkan API för rendering kräver tillägget VK_EXT_physical_device_drmm, introducerat i Mesa 21.2 (Ubuntu 21.10).

Fördelar med att använda en separat sammansatt server för virtuell verklighetssystem istället för att integrera med XNUMXD-fönsterhanterarna som används för att visa ett traditionellt skrivbord:

  • När det körs i en Wayland- eller X11-baserad session öppnar wlroots-biblioteket ett fönster där du enkelt kan fånga tangentbordsinmatning och mushändelser och omdirigera den ingången till ett specifikt fönster i en virtuell verklighetsmiljö. I framtiden planerar de att använda den här funktionen för att organisera inmatning inte bara genom en VR-kontroller, utan också med ett vanligt tangentbord och mus.
  • Windows begränsas inte av XNUMXD-skrivbordsramen och kan vara av godtycklig storlek, begränsad endast av den maximala texturstorleken som stöds av hårdvaran.
  • Fönsterrendering i wxrd utförs med den inbyggda 3D-bilduppdateringsfrekvensen för huvudmonterad display (HMD), medan vid spegling av fönster från konventionella fönsterhanterare används frekvensen som används för att uppdatera information på en stationär bildskärm.
  • Teckensnitt kan renderas med hänsyn till pixeltätheten för en 3D-hjälm, utan hänvisning till pixeltätheten för en stationär monitor.
  • Det går att använda wxrd på system som bara har ett 3D-headset och inte har en vanlig bildskärm.

Nackdelar med en separat sammansatt server för VR:

  • I VR-miljön visas endast applikationer som är specifikt lanserade för en separat sammansatt server, utan möjlighet att överföra eller spegla fönster som redan är öppna på ett traditionellt skrivbord till VR-miljön (dvs. för att fortsätta arbeta med applikationer öppna på en vanlig skärm, måste du måste starta om i en separat miljö för 3D-hjälmen).
  • Wayland-stödet kan vara begränsat i Vulkan API-implementeringar. Till exempel kan gbm och wlroots inte användas med proprietära NVIDIA-drivrutiner på grund av bristande stöd för tillägget VK_EXT_drm_format_modifier.



Källa: opennet.ru

Lägg en kommentar