wxrd, ein Composite-Server auf Basis von Wayland für virtuelle Realitätssysteme, wird vorgestellt.

Das Unternehmen Collabora hat den Compositing-Server wxrd vorgestellt, der auf dem Wayland-Protokoll basiert und zur Erstellung eines Desktops auf der Grundlage der xrdesktop-Komponenten in dreidimensionalen virtuellen Umgebungen gedacht ist. Als Basis dient die Bibliothek wlroots, die von den Entwicklern der Benutzeroberfläche Sway weiterentwickelt wird, sowie der Compositing-Server wxrc, der für den Einsatz in virtuellen Realitätssystemen konzipiert ist. Der Code des Projekts ist in der Programmiersprache C geschrieben und steht unter der MIT-Lizenz.

Im Gegensatz zu der ursprünglich in xrdesktop vorgeschlagenen Lösung bietet wxrd einen spezialisierten Compositing- der Server für virtuelle Umgebungen, anstatt bestehende Window-Manager und Desktop-Oberflächen für VR-Systeme anzupassen (das Projekt xrdesktop stellt separate Patches für KWin und GNOME Shell zur Verfügung, die eine Anpassung für jede neue Version dieser Komponenten erfordern). Die Verwendung von wxrd ermöglicht nicht nur das Spiegeln des Inhalts des bestehenden 2D-Desktops, der gleichzeitig auf einem normalen Monitor angezeigt wird, sondern auch die separate Verarbeitung von Fenstern, die speziell für den 3D-Desktop gestartet wurden (d.h. nicht den Zugang vom VR-Headset zum aktuellen Desktop-System zu ermöglichen, sondern eine separate Umgebung für das VR-Headset zu schaffen).

Video abspielen

Im Gegensatz zu ähnlichen Projekten wie Simula VR, Stardust, Motorcar und Safespaces wurde der Composite-Server wxrd mit Blick auf die Verwendung minimaler Abhängigkeiten und einen geringen Ressourcenverbrauch erstellt. Wxrd ermöglicht es auch, nicht nur mit Anwendungen basierend auf dem Wayland-Protokoll zu arbeiten, sondern bietet auch die Möglichkeit, X11-Anwendungen über den DDX-Server XWayland auszuführen.

Da die Wayland-Protokollerweiterung für virtuelle Tastaturen noch in der Entwicklung ist, wird die Dateneingabe in wxrd über ein System zur Emulation der Tastatureingabe realisiert, das alle Unicode-Zeichen, einschließlich Emojis, von der in xrdesktop bereitgestellten virtuellen Tastatur überträgt. Für den Betrieb von wxrd wird eine Grafikkarte benötigt, die das Grafik-API Vulkan und die Erweiterung VK_EXT_image_drm_format_modifier unterstützt, die in Mesa seit Version 21.1 unterstützt wird (eingebaut in Ubuntu 21.04). Um die Vulkan-API für das Rendering zu nutzen, wird die Erweiterung VK_EXT_physical_device_drmm benötigt, die in Mesa 21.2 (Ubuntu 21.10) verfügbar wurde.

Vorteile der Verwendung eines separaten Kompositors Server für Virtual-Reality-Systeme anstelle einer Integration mit den 2D-Fenstermanagern, die zur Anzeige eines traditionellen Desktops verwendet werden:

  • Wenn Sie in einer Sitzung auf Basis von Wayland oder X11 starten, öffnet die Bibliothek wlroots ein Fenster, in dem Sie die Tastatureingabe und die Mausereignisse einfach organisieren und diese Eingaben an ein bestimmtes Fenster in der virtuellen Realität weiterleiten können. Zukünftig soll diese Möglichkeit genutzt werden, um Eingaben nicht nur über den VR-Controller, sondern auch über eine normale Tastatur und Maus zu ermöglichen.
  • Fenster sind nicht auf die Grenzen eines zweidimensionalen Desktops beschränkt und können beliebige Größen haben, die nur durch die maximal unterstützte Texturgröße der Hardware begrenzt sind.
  • Die Darstellung von Fenstern in wxrd erfolgt mit der für 3D-Headsets (HMD) nativen Bildwiederholfrequenz, während beim Spiegeln von Fenstern aus herkömmlichen Fenstermanagern die Frequenz verwendet wird, die für die Aktualisierung der Informationen auf dem stationären Monitor gilt.
  • Die Schriftartdarstellung kann unter Berücksichtigung der Pixeldichte des 3D-Headsets erfolgen, ohne an die Pixeldichte des stationären Monitors gebunden zu sein.
  • Die Nutzung von wxrd ist auf Systemen möglich, die nur ein 3D-Headset haben und keinen normalen Monitor besitzen.

Nachteile eines separaten Kompositionsservers für VR:

  • Im VR-Umfeld werden nur Anwendungen angezeigt, die speziell für einen einzelnen Komposit-Server gestartet wurden, ohne die Möglichkeit, Fenster, die bereits auf einem traditionellen Desktop geöffnet sind, in die VR-Umgebung zu übertragen oder zu spiegeln (das heißt, um mit Anwendungen, die auf einem normalen Bildschirm geöffnet sind, weiterzuarbeiten, müssen sie in einer separaten Umgebung für das 3D-Headset neu gestartet werden).
  • Die Unterstützung von Wayland kann in Vulkan-API-Implementierungen eingeschränkt sein. Beispielsweise können gbm und wlroots nicht mit proprietären NVIDIA-Treibern verwendet werden, da es keine Unterstützung für die Erweiterung VK_EXT_drm_format_modifier gibt.

Video abspielen


Quelle: opennet.ru
Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster