La realidad virtual es algo que todavía sigue estando un tanto verde en Linux, pero por suerte hay mimbres para que esa situación cambie radicalmente en un futuro gracias a OpenXR, un estándar abierto y libre de royalties impulsado por Khronos Group para acceder a los dispositivos de realidad virtual y realidad aumentada. Para los que anden perdidos, Khronos Group es la institución sin ánimo de lucro encargada de las API gráficas Vulkan y OpenGL.
Sin embargo, el hecho de que OpenXR sea un estándar hace que su implementación sea responsabilidad de otros, y ahí entra Monado, un entorno de ejecución de OpenXR publicado como código abierto (Boost Software License 1.0). Al igual que pasó con RADV cuando por fin cumplió con las especificaciones de Khronos Group para su conformidad como driver de Vulkan, a Monado le ha tocado recorrer lo mismo con OpenXR, habiendo conseguido llegar a la meta durante el transcurso de este mes de febrero.
Dicho con otras palabras, Monado ha entrado en la lista de conformidad de implementaciones de OpenXR 1.0 después de superar las correspondientes pruebas. Sin embargo, hay que tener en consideración que este estatus se aplica solo a un dispositivo simulado, por lo que “cualquiera que cree un producto utilizando Monado con hardware no simulado todavía debe pasar por el proceso de adopción y conformidad completo y normal de ese producto para reclamar la conformidad con OpenXR y aprovechar los beneficios.”
Llegados a este punto, merece la pena mencionar la situación de Mesa, porque si bien este componente básico del stack gráfico de GNU/Linux implementa las dos API principales impulsadas por Khronos, “no todas las combinaciones de API y controladores cumplen formalmente, y los proveedores de hardware tienen la responsabilidad de seguir el proceso de adopción y enviar los resultados de conformidad.”
Monado viene ahora con un controlador de SteamVR, el entorno de ejecución de Valve que permite a proveedores de hardware, desarrolladores y aficionados añadir soporte de hardware con un SDK de controlador OpenVR oficialmente soportado, abriendo la puerta de esta manera a usar cualquiera de los controladores HMD y controlador de Monado dentro de SteamVR.
Para terminar, es importante tener en cuenta que los responsables de Monado han cambiado la numeración de las versiones, así que la primera que cumple con la conformidad del estándar OpenXR no es la 1.0, sino la 21.0.0. La intención es seguir el esquema empleado por Mesa desde 2017, haciendo la versión mayor coincida con el año y las de mantenimiento sigan una serie secuencial partiendo de cero.
Desde hace tiempo existen diversos proyectos que buscan ofrecer un soporte sólido y consistente de las realidades virtual y aumentada en GNU/Linux. Hace un año hablamos sobre xrdesktop, un proyecto que permite la interacción con entornos de escritorio como GNOME y KDE en realidad virtual y que ejecuta una pila Open Source completa con Monado.
Imagen: Pixabay