Présentation de wxrd, un serveur composite basé sur Wayland pour les systèmes de réalité virtuelle

L'entreprise Collabora a présenté le serveur composite wxrd, basé sur le protocole Wayland et destiné à former un bureau à partir des composants xrdesktop dans des environnements virtuels en 3D. Il utilise la bibliothèque wlroots, développée par les créateurs de l'environnement utilisateur Sway, ainsi que le serveur composite wxrc, conçu pour être utilisé dans des systèmes de réalité virtuelle. Le code du projet est écrit en C et est distribué sous la licence MIT.

Contrairement à la solution initialement proposée dans xrdesktop, wxrd offre un compositeur spécialisé serveur pour les environnements de réalité virtuelle, au lieu d'adapter les gestionnaires de fenêtres et les environnements de bureau existants pour les systèmes VR (le projet xrdesktop fournit des patches distincts pour kwin et GNOME Shell, qui nécessitent d'être adaptés à chaque nouvelle version de ces composants). L'utilisation de wxrd permet non seulement de réfléchir le contenu d'un bureau 2D existant, également affiché sur un moniteur classique, mais aussi de traiter séparément les fenêtres lancées spécifiquement pour le bureau 3D (c'est-à-dire qu'il ne donne pas accès au bureau utilisé actuellement sur le système à partir d'un casque VR, mais crée un environnement distinct pour le casque VR).

Lire la vidéo

Contrairement à des projets similaires comme Simula VR, Stardust, Motorcar et Safespaces, le serveur composite wxrd est conçu en tenant compte de l'utilisation d'un nombre minimal de dépendances et d'une faible consommation de ressources. Wxrd permet également de travailler non seulement avec des applications basées sur le protocole Wayland et permet, avec le serveur DDX xwayland, de lancer des applications X11.

Étant donné que l'extension du protocole Wayland pour les claviers virtuels est en cours de développement, l'entrée de données dans wxrd est réalisée via un système d'émulation de saisie clavier, qui transmet tous les caractères unicode, y compris les emoji, de la clavier virtuel fourni dans xrdesktop. Pour faire fonctionner wxrd, une carte graphique prenant en charge l'API graphique Vulkan et l'extension VK_EXT_image_drm_format_modifier, prise en charge dans Mesa depuis la version 21.1 (incluse dans Ubuntu 21.04), est nécessaire. L'utilisation de l'API Vulkan pour le rendu nécessite l'extension VK_EXT_physical_device_drmm, qui est apparue dans Mesa 21.2 (Ubuntu 21.10).

Avantages de l'utilisation d'un compositeur distinct de serveurs pour les systèmes de réalité virtuelle, au lieu de l'intégration avec les gestionnaires de fenêtres 2D utilisés pour afficher un bureau traditionnel :

  • Lors du lancement dans une session basée sur Wayland ou X11, la bibliothèque wlroots ouvre une fenêtre qui permet d'organiser facilement la capture des entrées clavier et des événements de la souris et de rediriger ces entrées vers une fenêtre spécifique dans l'environnement de réalité virtuelle. À l'avenir, cette fonctionnalité devrait être utilisée pour organiser l'entrée non seulement via un contrôleur VR, mais aussi à l'aide d'un clavier et d'une souris ordinaires.
  • Les fenêtres ne sont pas limitées par les frontières du bureau 2D et peuvent avoir une taille arbitraire, limitée uniquement par la taille de texture maximale prise en charge par le matériel.
  • Le rendu des fenêtres dans wxrd s'effectue à la fréquence de rafraîchissement native des casques 3D (HMD), tandis que lors du miroir de fenêtres à partir de gestionnaires de fenêtres classiques, on utilise la fréquence appliquée pour mettre à jour les informations sur le moniteur de bureau.
  • Le rendu des polices peut être effectué en tenant compte de la densité de pixels du casque 3D, sans lien avec la densité de pixels du moniteur de bureau.
  • Il est possible d'utiliser wxrd sur des systèmes où il n'y a qu'un casque 3D et pas de moniteur classique.

Inconvénients d'un serveur composite séparé pour la VR :

  • Dans l'environnement VR, seules les applications spécifiquement lancées pour un serveur composite séparé sont affichées, sans possibilité de transférer ou de refléter dans l'environnement VR les fenêtres déjà ouvertes sur le bureau traditionnel (c'est-à-dire qu'il faudra relancer les applications ouvertes sur l'écran classique dans un environnement séparé pour le casque 3D).
  • Le support de Wayland peut être limité dans les implémentations de l'API Vulkan. Par exemple, gbm et wlroots ne peuvent pas être utilisés avec les pilotes propriétaires NVIDIA en raison de l'absence de prise en charge de l'extension VK_EXT_drm_format_modifier.

Lire la vidéo


Source : opennet.ru
Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster