Beat Saber en Ubuntu Linux desde 0

Por fin me compré unas gafas de realidad virtual. Opté por unas HTC Vive de Wallapop para asegurar la compatibilidad con Linux.
Vamos a ver como hacer que funcionen y la situación actual del soporte de Realidad Virtual en Linux.

Bases o no bases

Cuando usas un software de RV puede que te interese que tu PC sepa donde están ubicadas las manos si no las estás viendo (juegos de lanzar cosas, o si estás sujetando con una mano algo y desvías la vista a la otra mano por ejemplo) ... o no, quizás solo te interesa que las siga cuando las tienes frente a los ojos (un juego de amueblar una casa o un simulador de vuelo).

Pues de ello va a depender que elijas usar bases o no.

Las bases son unos aparatos grandes, antiestéticos y con forma de cubo que tienes que ubicar en extremos opuestos de la zona de juego a unos dos metros de altura y que te van a permitir hacer un seguimiento de tus manos cuando están fuera del campo de visión de las gafas.

Espacio

Necesitas al menos un espacio libre de 1.5m x 2m x 2.5m para poder jugar con bases así que saca el metro antes de tomar la decisión. Si no tienes espacio serás un jugador de RV de sofá. La altura no se suele mencionar, pero es muy importante salvo que quieras tener una excusa para cambiar las lámparas.

En mi caso he querido hacer un piso "sandbox roomba friendly" así que me he preocupado de que no haya alfombras y la mesa del salón se pueda deslizar poniéndole unas patas deslizantes, que no fieltros, para poder moverla fácilmente cuando vaya a hacer algo que requiera espacio.

Recuerda que te vas a mover y no te quieres hacer daño golpeando una silla con la mano, romper una lámpara o destrozar la televisión.

Montando el chiringuito

Necesitas, o bien hacer agujeros en la pared, o bien poner las bases sobre un trípode a unos dos metros de altura. Aquí el punto es que los mandos estén siempre a la vista de al menos una de las dos bases en todo momento.

En mi caso he comprado dos trípodes de dos metros en los chinos y he impreso este adaptador para las bases a escala 98% en TPU (goma dura): https://www.thingiverse.com/thing:3874822

Si las bases se ven entre ellas solo necesitan un cable de alimentación. La comunicación entre ellas, las gafas y el PC es inhalámbrica. No se como es posible pero no percibo lag.

Conectando todo

En el caso de las HTC Vive las gafas vienen con un adaptador en el que entran y salen cables de alimentación, usb y hdmi, no tienen mucho misterio pero cuando conectes el hdmi al ordenador, prueba a reiniciarlo con las gafas de realidad virtual encendidas.

Si no ves la pantalla de inicio, dale la vuelta a los conectores hdmi para que la pantalla primaria sea la real, no las gafas.

Drivers, drivers, drivers

Abre la aplicación de "Controladores adicionales" o "Additional Drivers" y asegúrate de que estás usando los drivers privativos de Nvidia. Si lo que comento en los siguientes apartados no funciona, prueba con una versión más vieja de los drivers privativos de Nvidia. Es posible que en alguna actualización de los drivers deje de funcionar SteamVR, pues tocaría ir a una versión más vieja.

Desconozco el estado de los drivers de ATI para Ubuntu pero supongo que será algo parecido.

Software base

A los únicos a los que les importamos es a Steam. Steam ha hecho una fuerte apuesta en Linux con Proton e incluso ha sacado la Steam Deck, basada en Arch Linux (SteamOS), en la que funcionan la mayoría de juegos del mercado.

Steam ha hecho SteamVR para poder configurar el equipamiento RV, un tutorial y un montón de juegos gratuitos que les encantan a los niños ... y los niños grandes como yo. :-D

En Steam puedes agregar software externo así que puedes ejecutar a través de SteamVR cualquier software y te debería funcionar.

La pega es que necesita ejecutar cosas como root así que nos tenemos que fiar del cliente de Steam. Supongo que no se puede tener todo.

Así que nos vamos a la página de Steam, nos hacemos una cuenta si no tenemos, nos bajamos el cliente de Steam, dpkg -i clientedesteam.deb, lo abrimos como una aplicación normal y ya estará instalado.

Dentro de Steam, instalamos SteamVR.

Configuración de SteamVR

Aquí, cuidado con la resolución de tu pantalla. Si tu pantalla es de 1080 o menos las ventanas te saldrán mal. Si ves una ventana "vacía" o con letras raras redimensiónala para ver todo su contenido.

Cuando abras SteamVR te aparecerá una ventanita en la que necesitarás ver iluminado en color verde tu hardware. Enciende los mandos, déjalos en el suelo a la vista de las bases y haz lo mismo con las gafas. El indicador de las gafas es un borde verde si las gafas están en el suelo o verde completo si están mostrando una imagen porque las llevas puestas.

Ahora pincha en el menú (las tres rallitas de arriba a la izquierda), ve a la configuración de la habitación (Room Setup) y sigue cuidadosamente los pasos que te dice. No tienen pérdida así que no entraré en detalles.
Otra vez, pincha en el menú, ve abajo a los Settings y te aparecerá una ventana en la que seleccionarás OpenXR y elegirás la opción de usar SteamVR como runtime.

Luego pincha en el menú y ve al tutorial si es la primera vez que te pones unas gafas. La RV no es para todos y en este tutorial vas a comprobar si te mareas y vas a tener una primera experiencia del entorno.

Luego entrarás en tu home y ¡¡a explorar!! Haz el tutorial que te sugiere, remodela la habitación, lanza todo lo que pilles o vete a la calle a observar las mariposas.

Beat Saber

En primer lugar, instala Beat Saber y ve a Propiedades.

Luego agrega la capa de compatibilidad. Aquí puedes probar a dejar la última y si no arranca ir probando con las anteriores. Yo le tengo puesto proton 8.0 y me funciona bien pero eventualmente aparecerá otra versión con la que también funcionará.

Ahora, en las configuraciones Beta instala Beat Saber sin unity o descubrirás con asombro como el Beat Saber se ve en la pantalla de tu PC en vez de en tus gafas.

Si no tienes sonido, ve a la configuración de sonido y cámbiala para que salga por el hdmi donde están conectadas tus gafas.

Y con esto ya está instalado. ¡¡Pásalo bien!!

Un último consejo: no te pongas a jugar cara a la televisión. Frente a ti el sofá y tras de ti la televisión. Es bastante habitual cargarse la tele de un puñetazo y siempre es mejor pegarle al sofá o caerse en él. ;-)

Un nicho dentro de un nicho dentro de un nicho

Ten en cuenta una cosa: cuando en la tele dicen que el mercado del videojuegos es mayor que el del cine, video y música juntos, se refieren a TODOS los jugadores. Y los que más dinero dan son los jugadores de juegos móviles, no nosotros. El grueso de los gamers del mundo son jugadores de Clash Royale y Angry Birds.

Lo que tu llamas gamer probablemente sea alguien que se tira horas sentado en un simulador, jugando a un rpg, un arpg o uno de los juegos de "gamers de verdad" que hay por ahí. Pues siendo realistas, ese grupo de gamers son un nicho dentro del mercado de los videojuegos. Un nicho grande, pero un nicho.

Pues el grupo de "gamers de verdad" que juegan en Linux es un nicho dentro de un nicho.

Y el grupo de "gamers de verdad" que juegan VR en Linux es un nicho dentro de un nicho dentro de un nicho y no les importamos a casi nadie. Si mañana todos nosotros desapareciéramos, las cuentas de resultados de las empresas variarían unos pocos céntimos.

Antes de comprar equipamiento aquí tienes información sobre el estado de los dispositivos soportados en VR: https://gitlab.com/vr-on-linux/VR-on-Linux#vr-hardware-status

Ahora que entiendes la situación ... ponte a ello si te interesa.