Se presentó wxrd, un servidor compuesto basado en Wayland para sistemas de realidad virtual.

La empresa Collabora presentó un servidor compuesto wxrd, implementado sobre la base del protocolo Wayland y destinado a crear un escritorio basado en componentes xrdesktop dentro de entornos tridimensionales de realidad virtual. La base es la biblioteca wlroots, desarrollada por los desarrolladores del entorno de usuario Sway, y el servidor compuesto wxrc, diseñado para su uso en sistemas de realidad virtual. El código del proyecto está escrito en C y se distribuye bajo la licencia MIT.

A diferencia de la solución propuesta originalmente en xrdesktop, wxrd ofrece un servidor compuesto especializado para entornos de realidad virtual, en lugar de adaptar los administradores de ventanas y shells de escritorio existentes para sistemas de realidad virtual (el proyecto xrdesktop proporciona parches separados para kwin y GNOME Shell, que requieren adaptación para cada nuevo liberación de estos componentes). El uso de wxrd le permite no solo reflejar el contenido de un escritorio bidimensional existente, que al mismo tiempo se muestra en un monitor normal, sino también procesar por separado ventanas iniciadas específicamente para un escritorio tridimensional (es decir, no proporcionar acceso desde el casco de realidad virtual al escritorio utilizado en la mesa del sistema actual, pero para formar un entorno separado para el casco de realidad virtual).

A diferencia de proyectos similares Simula VR, Stardust, Motorcar y Safespaces, el servidor compuesto wxrd se creó con miras a utilizar un número mínimo de dependencias y un bajo consumo de recursos. Wxrd también le permite trabajar no solo con aplicaciones basadas en el protocolo Wayland y permite iniciar aplicaciones X11 utilizando el servidor xwayland DDX.

Dado que la extensión del protocolo Wayland para teclados virtuales está en desarrollo, la entrada a wxrd se implementa a través de un sistema de emulación de entrada de teclado que transfiere todos los caracteres Unicode, incluidos los emoji, desde el teclado virtual proporcionado en xrdesktop. Para ejecutar wxrd, necesita una tarjeta de video que admita la API de gráficos Vulkan y la extensión VK_EXT_image_drm_format_modifier, compatible con Mesa desde la versión 21.1 (incluida en Ubuntu 21.04). El uso de la API de Vulkan para renderizar requiere la extensión VK_EXT_physical_device_drmm, introducida en Mesa 21.2 (Ubuntu 21.10).

Ventajas de utilizar un servidor compuesto independiente para sistemas de realidad virtual en lugar de integrarlo con los administradores de ventanas XNUMXD utilizados para mostrar un escritorio tradicional:

  • Cuando se ejecuta en una sesión basada en Wayland o X11, la biblioteca wlroots abre una ventana en la que puede capturar fácilmente la entrada del teclado y los eventos del mouse y redirigir esa entrada a una ventana específica en un entorno de realidad virtual. En el futuro, planean utilizar esta función para organizar la entrada no solo a través de un controlador de realidad virtual, sino también mediante un teclado y un mouse normales.
  • Windows no está limitado por el marco del escritorio XNUMXD y puede tener un tamaño arbitrario, limitado únicamente por el tamaño máximo de textura admitido por el hardware.
  • La representación de ventanas en wxrd se realiza con la frecuencia de actualización de la imagen nativa 3D del casco (HMD), mientras que al duplicar ventanas de administradores de ventanas convencionales, se utiliza la frecuencia utilizada para actualizar la información en un monitor estacionario.
  • Las fuentes se pueden representar teniendo en cuenta la densidad de píxeles de un casco 3D, sin hacer referencia a la densidad de píxeles de un monitor fijo.
  • Es posible utilizar wxrd en sistemas que solo tienen auriculares 3D y no tienen un monitor normal.

Desventajas de un servidor compuesto independiente para realidad virtual:

  • En el entorno de realidad virtual, solo se muestran las aplicaciones iniciadas específicamente para un servidor compuesto separado, sin la capacidad de transferir o reflejar ventanas ya abiertas en un escritorio tradicional al entorno de realidad virtual (es decir, para continuar trabajando con aplicaciones abiertas en una pantalla normal, usted Tendrá que reiniciar en un entorno separado para el casco 3D).
  • La compatibilidad con Wayland puede estar limitada en las implementaciones de la API de Vulkan. Por ejemplo, gbm y wlroots no se pueden utilizar con controladores propietarios de NVIDIA debido a la falta de soporte para la extensión VK_EXT_drm_format_modifier.



Fuente: opennet.ru

Añadir un comentario