Het bedrijf Collabora heeft de samengestelde server wxrd geïntroduceerd, die is ontwikkeld op basis van het Wayland-protocol en bedoeld is voor het creëren van een desktopomgeving met componenten van xrdesktop binnen driedimensionale virtuele omgevingen. De basis is de wlroots-bibliotheek, ontwikkeld door de makers van de gebruikersinterface Sway, en de samengestelde server wxrc, die is ontworpen voor gebruik in virtuele systemen. De code van het project is geschreven in C en wordt verspreid onder de MIT-licentie.
In tegenstelling tot de in eerste instantie voorgestelde oplossing in xrdesktop, biedt wxrd een gespecialiseerde samengestelde server voor virtuele omgevingen, in plaats van bestaande vensterbeheerders en desktopomgevingen voor VR-systemen aan te passen (het project xrdesktop biedt afzonderlijke patches voor kwin en GNOME Shell, die moeten worden aangepast voor elke nieuwe versie van deze componenten). Het gebruik van wxrd maakt het mogelijk om niet alleen de inhoud van een bestaande tweedimensionale desktop te spiegelen, die tegelijkertijd op een normaal scherm wordt weergegeven, maar ook om vensters afzonderlijk te verwerken die speciaal zijn gestart voor de driedimensionale desktop (d.w.z. geen toegang vanuit de VR-headset tot de desktop die op het huidige systeem wordt gebruikt, maar een aparte omgeving te creƫren voor de VR-headset).

In tegenstelling tot vergelijkbare projecten zoals Simula VR, Stardust, Motorcar en Safespaces, is de samengestelde server wxrd ontworpen met het oog op het gebruik van een minimaal aantal afhankelijkheden en een laag verbruik van middelen. Wxrd maakt het ook mogelijk om niet alleen met applicaties op basis van het Wayland-protocol te werken, maar biedt ook de mogelijkheid om X11-applicaties te starten met behulp van de DDX-server xwayland.
Aangezien de extensie van het Wayland-protocol voor virtuele toetsenborden in ontwikkeling is, is gegevensinvoer in wxrd geĆÆmplementeerd via een systeem voor het emuleren van toetsenbordinvoer, dat alle unicode-symbolen, inclusief emoji's, van het virtuele toetsenbord in xrdesktop verzendt. Voor het gebruik van wxrd is een grafische kaart vereist die ondersteuning biedt voor de grafische API Vulkan en de extensie VK_EXT_image_drm_format_modifier, die wordt ondersteund in Mesa vanaf de release 21.1 (onderdeel van Ubuntu 21.04). Voor het gebruik van de Vulkan-API voor rendering is de extensie VK_EXT_physical_device_drmm vereist, die is geĆÆntroduceerd in Mesa 21.2 (Ubuntu 21.10).
Voordelen van het gebruik van een aparte samengestelde de server voor virtuele realiteitssystemen in plaats van integratie met twee-dimensionale windowmanagers die meestal voor traditionele desktops worden gebruikt:
- Bij het opstarten in een sessie gebaseerd op Wayland of X11, opent de wlroots-bibliotheek een venster waarin het eenvoudig is om toetsenbordreceptie en muisgebeurtenissen te organiseren en deze invoer naar een specifiek venster in de virtuele realiteit te sturen. In de toekomst is het de bedoeling deze mogelijkheid ook te gebruiken voor invoer via een gewone toetsenbord en muis.
- Vensters zijn niet beperkt tot de randen van een twee-dimensionele desktop en kunnen een willekeurige grootte hebben, beperkt alleen door de maximaal ondersteunde tekstuurgrootte van de hardware.
- De rendering van vensters in wxrd gebeurt met de native verversingssnelheid van 3D-headsets (HMD), terwijl bij het spiegelen van vensters vanuit gewone windowmanagers de verversingssnelheid wordt gebruikt die voor de informatie-updates op een desktopmonitor wordt toegepast.
- De rendering van lettertypen kan worden uitgevoerd rekening houdend met de pixel dichtheid van de 3D-headset, zonder gebonden te zijn aan de pixel dichtheid van de desktopmonitor.
- Het gebruik van wxrd is mogelijk op systemen waarbij alleen een 3D-headset aanwezig is en geen normale monitor.
Nadelen van een aparte composietserver voor VR:
- In een VR-omgeving worden alleen applicaties weergegeven die speciaal zijn gestart voor de aparte composietserver, zonder de mogelijkheid om vensters die al op de traditionele desktop zijn geopend, naar de VR-omgeving te verplaatsen of te spiegelen (d.w.z. om door te gaan met werken met applicaties die op het normale scherm zijn geopend, moeten ze in een aparte omgeving voor de 3D-headset opnieuw worden gestart).
- De ondersteuning voor Wayland kan beperkt zijn in implementaties van de Vulkan API. Bijvoorbeeld gbm en wlroots kunnen niet worden gebruikt met propriƫtaire NVIDIA-stuurprogramma's vanwege het ontbreken van ondersteuning voor de VK_EXT_drm_format_modifier extensie.

Bron: opennet.ru
