Si tienes unaSteam Deck, probablemente te sorprenda lo bien que funcionan muchos juegos en ella. No solo es una consola portátil, sino que también es una consola portátil que ejecuta Linux. A pesar de la mala reputación del sistema operativo con la ejecución de videojuegos, títulos AAA comoCyberpunk: 2077yGrand Theft Auto: Vfuncionan muy bien en Steam Deck. Eso es gracias a Proton, la capa de compatibilidad desarrollada por Valve y CodeWeavers.

¿Qué es Proton? ¿Cómo funciona?

Interfaz de usuario de Steam Deck 1

En realidad, Proton es unos años más antiguo que Steam Deck, que se lanzó por primera vez en agosto de 2018. En ese momento, Valve dijo que "los juegos de Windows que no tienen una versión para Linux actualmente disponible ahora se pueden instalar y ejecutar directamente desde el cliente Steam para Linux, con soporte nativo para Steamworks y OpenVR".

Antes de Proton, los jugadores de Linux solían necesitar versiones nativas de juegos para sus sistemas o se veían obligados a depender de capas de compatibilidad de terceros como Wine. Wine funciona bastante bien, pero a menudo requería muchos ajustes para que todo funcionara perfectamente; juegos comoDOOM (2016)se podían jugar con un poco de trabajo.

Aquí es donde entra en juego Proton. Elimina la necesidad de cualquier trabajo por parte del usuario final. La idea es que puedas instalar el juego y jugarlo como si fuera un port nativo sin que el usuario final tenga que saber qué está pasando.

Proton funciona junto con una versión modificada de Wine. Wine funciona como una capa que traduce las llamadas de la API de Windows a llamadas POSIX (interfaz de sistema operativo portátil) y, al mismo tiempo, recrea una estructura de directorio de Windows y proporciona implementaciones alternativas de los servicios del sistema. Wine no utiliza ninguna emulación ni virtualización para ejecutar binarios de Windows.

La otra parte de Proton que es esencial para la ecuación de los juegos es su capacidad para traducir las llamadas a la API de Direct3D. Incluye DXVK, una capa de traducción basada en Vulkan para Direct3D 9, 10 y 11, con soporte para Direct3D 12 proporcionado a través de VKD3D-Proton, una bifurcación de VKD3D de Wine.

En cuanto a Direct3D, es una API de gráficos para máquinas Windows y forma parte de DirectX, y Proton básicamente interpreta estas llamadas a la API de Direct3D. Proton crea su propia versión de esta biblioteca con la que los juegos pueden interactuar. Luego, Proton enruta internamente estas llamadas a la API de Vulkan, lo que permite que el juego se ejecute como si estuviera en una máquina Windows.

Interfaz de usuario de Steam Deck Proton

Proton es completamente de código abierto, lo que según Valve "permitirá a los usuarios avanzados modificar Proton". La versión personalizada de Proton más popular esProton-GE, que incorpora los cambios experimentales más recientes de Proton. También contiene otros parches y características que el Proton normal no tiene.

El futuro de Proton

Siempre se puede trabajar en Proton y mejorarlo, pero tal y como está ahora, ya es un proyecto maduro y desarrollado. Con títulos enormes que ya se pueden jugar a través de él, no hay mucho más que los jugadores puedan pedir. Aún hay algunos problemas de compatibilidad y fallos gráficos que surgen, pero en general, jugar a través de Proton es indistinguible de jugar de forma nativa en Windows.

Una de las cosas en las que Valve podría centrarse a continuación es en rebasar la versión de Wine en la que se basa Proton para que tenga una versión más reciente. Proton está varios lanzamientos por detrás de la última versión oficial de Wine, y los proyectos comunitarios de código abierto como Proton-GE tienen como objetivo añadir funciones adicionales y rebasar para tener versiones más recientes de Wine.

Por supuesto, el objetivo final de Valve es la estabilidad y la compatibilidad, por lo que no incluye todos estos cambios que proyectos como Proton-GE han podido lograr. Si eres un usuario avanzado, nada te impide instalar y usar Proton-GE en su lugar, pero para el jugador cotidiano, Proton estable es definitivamente la mejor opción.