Desde hace dos semanas Steam Play (Proton si tomamos el nombre del proyecto en GitHub) está disponible en la rama estable del cliente de Steam, ofreciendo un catálogo limitado de juegos de Windows que en teoría ya están listos para ser ejecutados sobre GNU/Linux, aunque aquí es importante tener en cuenta los altos requisitos de hardware de algunos títulos, sobre todo los de NieR: Automata.
Desde MuyLinux hemos realizado serie de pruebas para comprobar superficialmente las capacidades y el potencial de Pronton/Steam Play, ejecutando uno de los juegos que ya cuentan con soporte oficial, Doom 2016, y otros tres que de momento requieren de forzar la activación de Proton a nivel de todo el cliente para poder ejecutarlos: Batman: Arkham City, Evolve: Stage 2 y Dead Space 1. Debido a que los hemos empleado una GPU AMD, recomendamos a los poseedores de una gráfica NVIDIA probarlos igualmente independiente de lo que comentemos aquí, ya que los resultados podrían ser diferentes al estar el soporte de Wine para jugar centrado en las GPU del gigante de Santa Clara.
Proton/Steam Play: más allá de Wine
Antes de empezar, es importante tener en cuenta que Steam Play/Proton no es solo una reimplementación de Wine realizada por Valve, sino que es más bien un intento de portar buena parte de las tecnologías centradas en Windows a GNU/Linux y Mac. También abarca DXVK, el “traductor” de instrucciones DirectX 11 a Vulkan; MoltenVK, que es la implementación no oficial de la API de Khronos para los sistemas operativos de Apple; además del soporte para la realidad virtual.
Pese a todas esas posibilidades, nosotros nos centraremos en la ejecución de juegos sobre Ubuntu 18.04.1, aunque con una modificación frente al stack gráfico que incluye por defecto.
Características del ordenador utilizado para probar Proton/Steam Play
- Placa base: ASUS ROG Strix X370-F Gaming.
- CPU: AMD Ryzen 7 1700.
- RAM: 32GB de DRR4 a 3.200MHz.
- GPU: Sapphire Nitro+ Radeon RX 580 con el driver AMDGPU suministrado para Ubuntu 18.04.1.
- Sistema operativo: Ubuntu 18.04.1.
- Mesa 18.1.7 obtenido de la PPA Padoka Stable.
Doom 2016 (a partir de ahora, solo Doom) es una de las mayores demostraciones de que OpenGL, si se sabe trabajar, no tiene nada que envidiar a DirectX, aunque lo realmente impresionante llegó cuando se compararon los resultados de rendimiento al usar Vulkan sobre algunos modelos de GPU AMD.
Se trata de un sobresaliente shooter en primera persona que intenta recuperar y a la vez modernizar las esencias de los Doom clásicos. Después de que la franquicia diera giros hacia el survival horror en Doom 3 y mirara hacia Call of Duty en la posible cuarta entrega, desde Id Software y Bethesda se tomó la decisión de reiniciar la saga y volver los orígenes para ofrecer el juego con el que los nostálgicos soñaban, con acción directa, velocidad desenfrenada y un acabado técnico a la altura.
Debido a que usa OpenGL y sobre todo Vulkan, Doom se convirtió en uno de los mejores candidatos para la primera hornada de juegos oficialmente soportados por Steam Play, cosa que se ha hecho realidad. Sin embargo, poder ejecutarlo desde una GPU Intel o AMD requiere de un paso adicional, ya que al parecer Mesa carece de ciertas extensiones de OpenGL que el juego utiliza. Esto obliga a iniciarlo directamente desde Vulkan, cosa que se realiza mediante los siguientes pasos:
- Iniciar el cliente Steam y activar la interfaz de escritorio (no Big Picture).
- Hacer clic con el botón secundario del ratón sobre Doom y pulsar sobre Propiedades.
- En la pestaña General, pulsar sobre Definir parámetros de lanzamiento.
- Establecer el siguiente parámetro: +r_renderapi 1
- Pulsar sobre Aceptar.
+r_renderapi 1
Además de forzar el inicio del juego desde Vulkan, es importante tener en cuenta que la versión mínima de Mesa necesaria para hacerlo funcionar es 18.1.6, o al menos así es para Ubuntu 18.04.1. Para obtenerla, lo recomendable ahora mismo es recurrir a la PPA Padoka Stable, si bien aquellos que no tengan prisa tienen la opción de configurar Ubuntu-X y esperar a que llegue, ya que la versión suministrada desde ahí en estos momentos es la 18.1.5. Y sí, podemos dar fe de que no funciona, al menos sobre una AMD RX 580. Por su parte, los usuarios de NVIDIA tendrían que ser capaces de iniciar el juego out of the box al contar al menos en teoría con todas las extensiones de OpenGL que utiliza, aunque en el peor de los casos pueden seguir los pasos expuestos aquí.
¿Y qué pasa con el rendimiento? Por lo que se ve en el screencast que hemos realizado, la conclusión es que RADV cumple con los requisitos de fluidez que se le puede exigir a Doom. Con el juego configurado en calidad ultra, el framerate es algo inestable, pero se mantiene por encima de los 60fps en prácticamente el 99% del tiempo.
Es importante tener en cuenta que es necesario desactivar la sincronización vertical para desbloquear las imágenes por segundo, porque sino estas intentarán mantenerse en 60 estables, cosa que sería lo lógico en caso de usar un monitor de 60Hz. En otras palabras, jugar a más de 60fps sobre un monitor de 60Hz solo sirve para presumir de la potencia de la computadora, aunque en el caso que nos ocupa lo hemos hecho para comprobar el poder de RADV, que es la implementación de Vulkan de origen comunitaria para las gráficas de AMD incluida en Mesa.
Forzando la activación de Proton/Steam Play para juegos que no están oficialmente soportados
Aunque hay una lista de videojuegos oficialmente soportados que están disponibles desde la biblioteca de GNU/Linux de forma predeterminada, es posible forzar la disponibilidad de todos los juegos para su ejecución sobre Steam Play.
Para ello solo hay que dirigirse a Steam en la barra de menú del cliente de Steam, hacer clic sobre Parámetros, ir a la sección Steam Play y luego seleccionar la casilla de Enable Steam Play for all titles. Tras eso, la aplicación pedirá reiniciarse para después ser capaz de mostrar todos los juegos de la biblioteca como disponibles para GNU/Linux (SteamOS + Linux).
Explicar esto viene bien porque los juegos que vamos a abarcar a partir de ahora, los cuales ninguno está oficialmente soportado por Steam Play, aunque eso no quiere decir que no puedan ser ejecutados ni que en el futuro no puedan formar parte de una lista que por ahora se antoja reducida.
Batman: Arkham City
Batman: Arkham City es la segunda entrega de la conocida saga Arkham, desarrollada por Rocksteady y distribuida por Warner Bros. Continuación del también exitoso Batman: Arkham Assylum, su versión para PC salió bastante buena y puede ser ejecutada en PC relativamente modestos, aunque sacrificando el PhysX de NVIDIA, que termina haciendo que juego se caiga debido a problemas de estabilidad. Pese a todo, PhysX no aportada nada a la jugabilidad.
Tras varios intentos, no conseguimos iniciar Batman: Arkham City a pesar de ser un título de 2011. Sin embargo, recomendamos a los usuarios de NVIDIA probarlo igualmente, ya que pueden obtener un resultados diferente, mientras que los usuarios de Intel y AMD tendrán que esperar hasta que el soporte mejore o bien llegue oficialmente. Mencionamos que no hemos investigado posibles configuraciones sobre cómo poder ejecutarlo, aunque la gracia de Proton tendría que ser la de ofrecer una experiencia out of the box.
Evolve: Stage 2
Evolve es un shooter multijugador de todos contra uno basado en la cacería, eso sí, en contexto futurista. Básicamente, hay una serie de cazadores, presuntamente controlados por diversos jugadores, que tienen que cazar a un monstruo de corte alienígena que está controlado por otro jugador (de ahí el todos contra uno).
Habiendo sido lanzado en 2015, está construido con unos de los motores más exigentes del mercado: CryEngine. Pese a eso, sus requisitos de hardware mínimos no son ni mucho menos elevados, siendo ejecutable en calidades gráficas altas en cualquier ordenador que cuente con una CPU y una GPU relativamente recientes, además de contar con 8GB de RAM.
Pero nosotros no hemos tenido la intención de probar cuánto de optimizado está juego, sino cómo de bien funciona sobre Steam Play y una RX 580, y siendo honestos, los resultados no han sido los mejores, ya que hemos experimentado tirones incluso estableciendo la calidad gráfica en media, que es la que viene por defecto nada más iniciarse el título por primera vez.
Al igual que con Batman: Arkham City, recomendamos a los usuarios de NVIDIA probarlo y ver si tienen más suerte que nosotros, algo que pueden hacer fácilmente debido a que Evolve: Stage 2 es gratuito Steam. Los usuarios de AMD pueden investigar formas de mejorar el desempeño, que pese a los tirones que se ven por defecto no terminan convirtiendo la experiencia de juego en un infierno.
Dead Space 1
El primer Dead Space fue un juego que en su momento no generó grandes expectativas cuando fue anunciado, pero que tras salir al mercado terminó convirtiéndose en uno de los mejores survival horror de la década pasada, gracias a su equilibrada mezcla de acción y terror, su conseguida ambientación espacial y su buena factura técnica para la época.
Tras la salida de Resident Evil 4, muchos esperaban que Capcom mezclara las nuevas vías abiertas por aquel “hereje” con la línea clásica, pero la desarrolladora japonesa decidió tomar el camino fácil y llevar la saga a la acción pura, algo que a nivel comercial le ha funcionado, pero a costa de perder el respeto de buena parte de la crítica y a los incondicionales de la línea clásica.
Dead Space ofrece en buena medida esa fusión de lo viejo y lo “nuevo” de Resident Evil, aunque es obvio que está más cerca de la línea de acción que la de survival aventurero. Pese a ello, es un juego redondo que someterá al jugador a muchas situaciones de tensión, ya sea por la cantidad de enemigos que se encuentra o bien por las dificultades para defenderse.
¿Y qué hay de su desempeño sobre Proton? Dead Space es un juego que está bastante bien soportado desde Wine, así que es de esperar un buen desempeño sobre Proton. En nuestro caso, hemos podido ejecutarlo con la calidad al máximo y con fluidez total, algo que facilita el hecho de ser un juego de 2008. Sin embargo, hemos detectado pequeños fallos gráficos a modo de bordes que aparecen pixelados. Solo aparecen en momentos puntuales y no afectan a la jugabilidad, pero posiblemente terminen siendo igualmente molestos para los más exigentes.
Otro fallo que hemos visto es que el apagado automático de la pantalla no queda inhabilitado, por lo que esta puede ponerse negra (y luego pedir la contraseña en caso de estar activada) en caso de estar viendo unas cinemáticas que duran más de la cuenta.
Steam Play: un gran potencial que todavía tiene que mejorar mucho
Steam Play/Proton abre un nuevo panorama en la ejecución de videojuegos sobre GNU/Linux, permitiendo a los usuarios del sistema Open Source, muy posiblemente en un futuro lejano, jugar a todo el catálogo disponible en Steam sin tener que esperar a que lleguen ports “nativos”.
Pero como bien ha apuntado el youtuberNeoRazorX, esta estrategia de Valve puede terminar desincentivando el desarrollo de videojuegos nativos para GNU/Linux, ya que será la compañía tras Steam la que se encargará de ofrecer la compatibilidad mediante Steam Play. Esa situación lleva a la siguiente pregunta: ¿Cuánto tiempo aguantará Valve? Es obvio que el trabajo de llevar los juegos a GNU/Linux tendría que ser cosa de las desarrolladoras, no de la plataforma, pero estos movimientos y decisiones tienen un objetivo muy claro: impulsar la utilización de Vulkan, una API que al trabajar a más bajo nivel tendría que eliminar ciertas barreras a nivel del sistema operativo y los drivers.
Por otro lado, de cara a los usuarios esto es una “jugada maestra” por parte de Valve, ya que con el paso del tiempo los usuarios de GNU/Linux verán incrementado de forma notable la cantidad de juegos que podrán usar, y más allá de los oficialmente soportados por Steam Play, también pueden probar aquellos títulos que llevan años funcionando sin grandes complicaciones en Wine, como el mencionado Dead Space 1.
Sin embargo, por los juegos que hemos probado está visto que a Steam Play le queda mucho camino por delante para ser una alternativa real a Windows. Pese a ello, esto solo está comenzando y veremos cómo madura este soporte en los próximos años. Además de una oportunidad para GNU/Linux como sistema de juegos, también lo es para darle un gran impulso a Wine.