Steam Play: mucha mejora, mucho por mejorar
Hace un año expuse mis impresiones sobre Steam Play (o Proton) funcionando en mi Ryzen 7 1700 equipado con una RX 580 como GPU, por lo que utilicé los drivers libres para probar los juegos.
En aquella ocasión probé diversos juegos de los que sobresalió Doom 2016, posiblemente el título estrella de los que están en la lista blanca de Valve como juegos totalmente preparados para ser ejecutados con Steam Play. Esto quiere decir que, a pesar de no haber una versión nativa para GNU/Linux, aparece en la lista “SteamOS + Linux” del cliente de la plataforma como si realmente estuviera disponible para nuestro sistema favorito, sin necesidad de forzar la ejecución de Proton.
Los buenos resultados de Doom 2016 no fueron baladí, sino que responden a la utilización de Vulkan y la menor dependencia de esta API tanto del driver como del sistema operativo al trabajar a más bajo nivel que OpenGL. Sin embargo, no todo fue alegría, ya que en aquel momento Evolve: Stage 2 no ofreció una experiencia satisfactoria y Batman: Arkham City ni siquiera arrancaba. ¿Seguirán las cosas igual? Antes de empezar, aviso que los vídeos incrustado son largos debido a que he intentado mostrar diversas situaciones.
Características básicas del ordenador utilizado
- 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.2.
- Sistema operativo: KDE neon 5.16.4 basado en Ubuntu 18.04 y con Linux 5.0.
- Mesa 19.1.2 obtenido de la PPA Padoka Stable.
¿Qué percibo ahora?
Steam Play no es una característica orientada a ofrecer una compatibilidad inmediata, sino que se trata de un proyecto a muy largo plazo, por lo que lo importante no es tanto obtener resultados inmediatos como la mejora constante. Afortunadamente, y a pesar de que los resultados de la encuesta de Steam podrían invitar al desánimo, Valve ha trabajado duro para mejorar la ejecución de juegos de Windows en GNU/Linux, y no solo abarcando el propio Proton, sino también contribuyendo en la mejora de los drivers para las gráficas AMD gracias a que son Open Source.
Frente al artículo que publiqué hace un año lo que más destaca es que Batman: Arkham City por fin funciona, cosa que ocurre desde hace poco según lo que se puede consultar en ProtonDB. Pese a funcionar desde hace poco, el juego ha arrancado con bastante fuerza si es utilizado con DirectX 9 (sobre DirectX 11 pierde bastante), aunque he detectado un par de problemas un tanto molestos:
- El juego padece de ciertas ralentizaciones, cuando con mi configuración la experiencia tendría que ser totalmente fluida, si bien no he visto ninguna situación en la que estas ralentizaciones mermaran la jugabilidad.
- He visto caídas del servidor gráfico cuando entran en acción algunas cinemáticas y en momentos concretos del juego. Pasando de Proton 4.2-9 a 4.11-1 he conseguido desplazar el problema a otros lugares (por ejemplo, que el servidor gráfico se caiga al abandonar la partida hacia el menú principal), pero no desaparece. Por suerte la situación no es tan grave como parece, ya que al acabar la secuencia el servidor vuelve a estar operativo, o en el peor de los casos con alt+tab en Plasma 5 se puede recuperar el juego.
Si bien al principio notaba bastante stuttering, sobre todo en la carga de nuevas localizaciones, en la actualidad ofrece una experiencia razonablemente fluida si se inhabilitan ciertas opciones gráficas. Sigue sin ser perfecto, pero la mejora es más que apreciable. Sin embargo, con DirectX 11 continúa habiendo muchas cosas por mejorar y el juego arrastra con Steam Play un bug que provoca un cuelgue de varios minutos en el proceso de cierre.
Lo que han visto otros
Por lo que se puede apreciar, no soy la mejor persona para dictaminar cómo ha evolucionado Steam Play cuando se ejecutan juegos de última generación, primero porque las plataformas digitales me han permitido descolgarme de la actualidad del mercado al no descatalogarse los títulos, y segundo porque soy un gamer de la old school que ha mostrado una adaptación bastante escasa a los tiempos modernos (Resident Evil 2 remake es el único juego de última generación que me interesa de verdad).
Para poder abarcar títulos más recientes tomaré prestado las pruebas realizadas por Jason Evangelho, el contribuidor de Forbes dedicado a la publicación de artículos sobre el escritorio GNU/Linux. Evangelho ha comparado el rendimiento de Windows 10 y de Pop!_OS 19.04 en su portátil Oryx Pro de System76, el cual incluye una gráfica NVIDIA GTX 2070 Max-Q, un Intel Core i7-8750H como CPU y 16GB de RAM. Los juegos comparados, los cuales fueron ejecutados a 1080p, fueron F1 2018 (Steam Play), Dirt Rally 1 (nativo), Shadow of the Tomb Raider (Steam Play), Total War: Three Kingdoms (nativo), Strange Brigade (Vulkan) y Hitman 2 (Steam Play).
Los resultados arrojados son realmente sorprendentes, ya que F1 2018 ha funcionado mejor en Pop!_OS con una capa de compatibilidad que en Windows 10, en Dirt Rally el sistema Linux ha aventajado en 10 imágenes por segundo al de Microsoft y en Total War: Three Kingdoms (cuyo port de Feral usa Vulkan) Pop!_OS ha marcado 57 imágenes frente a las 50 de Windows 10. Peor suerte hubo en Shadow of the Tomb Raider y Hitman 2, ya que Windows 10 derrota en ambos casos a Pop_OS!, de manera clara en el primero al ser la deferencia de 11 imágenes y más leve en el segundo al marcar el sistema de Microsoft solo 4 imágenes más.
Los datos obtenidos por Jason Evangelho son tan sorprendentes como buenos, e incluso en el caso de F1 2018 la situación llega ser sonrojante para Windows 10, ya que ha sido derrotado por una capa de compatibilidad, siendo posiblemente la principal desventaja de Pop_OS! la utilización de DXVK para “traducir” las instrucciones DirectX 11 a Vulkan.
Otra puerta que abren estos resultados es la pregunta sobre cuál sería la diferencia entre Windows y GNU/Linux si los juegos para el segundo estuvieran más trabajados y programados específicamente para él, ya que los pocos títulos AAA disponibles son todos ports que parten de DirectX. A través de los datos que hemos recopilado a lo largo de los años se puede ver que las diferencias aparentemente se diluyen cuando se sube la resolución a 4K.
Conclusión: GNU/Linux es un sistema apto para jugar
A pesar de partir de una aparente situación de desventaja, no se puede negar que GNU/Linux ha demostrado ser una plataforma totalmente válida para jugar, lidiando de tú a tú con Windows cuando el software y los drivers utilizados están mínimamente preparados para ello.
Aunque haya una legión de usuarios de Windows y youtubers presuntamente especializados en hardware que no paran de repetir que “Linux no sirve para jugar”, con el paso del tiempo los datos muestran una clara evolución en la dirección correcta, hasta el extremo de que en muchos contextos las diferencias con el sistema de Microsoft no son grandes, llegando a superarlo en algunas ocasiones con ports realizados con pequeños presupuestos. Este mérito no solo es de Valve y Feral Interactive, sino también de AMD y NVIDIA por mejorar sus drivers para GNU/Linux en este contexto.
Sin embargo, parece que Steam Play está pecando de estar excesivamente orientado a juegos muy específicos, haciendo que en la actualidad solo ofrezca una experiencia muy satisfactoria con un catálogo un tanto limitado de juegos de Windows.