Instalar Steam en Linux y jugar con Proton

Instalar Steam en Linux ya no sirve únicamente para descargar los juegos que tienen una versión nativa. Con Proton también podemos ejecutar muchos títulos preparados para Windows desde la misma biblioteca. La instalación del cliente y la compatibilidad de cada juego, sin embargo, son dos cosas diferentes.

Vamos a instalar Steam en Ubuntu o Linux Mint, comprobar dónde se guardan los juegos y elegir una versión de Proton cuando haga falta. No existe una configuración que vuelva compatible todo el catálogo, ni conviene instalar varias variantes de Proton antes de intentar abrir el primer juego.

Steam y el pingüino de Linux

Elegir una instalación de Steam

En Ubuntu y Linux Mint podemos utilizar el paquete disponible en los repositorios o el instalador que enlaza la página oficial de Steam. El cliente se actualizará después por su propio mecanismo.

Si descargamos el archivo DEB de Valve, abrimos la terminal en la carpeta donde lo hemos guardado y utilizamos APT para que resuelva las dependencias:

sudo apt install ./steam.deb

steam.deb es el nombre del ejemplo. Lo cambiamos por el nombre real de nuestra descarga. El prefijo ./ indica un archivo de la carpeta actual, no un paquete que APT tenga que buscar por nombre en un repositorio.

También podemos abrir el archivo con el instalador de paquetes del escritorio. No hace falta darle permiso de ejecución como si fuera un programa independiente. La guía de instalar archivos DEB y otros formatos en Linux explica esa diferencia.

El cliente y distintos juegos pueden necesitar bibliotecas de 32 bits incluso si el sistema operativo es de 64 bits. Si la instalación informa de dependencias pendientes, revisamos el mensaje y el método recomendado para nuestra versión de la distribución. No copiaría una lista de bibliotecas antiguas ni añadiría un PPA de gráficos sólo para completar este paso.

Steam mediante Flatpak

Otra opción es el paquete de Flathub. Si ya tenemos Flatpak y ese remoto configurado:

flatpak install flathub com.valvesoftware.Steam
flatpak run com.valvesoftware.Steam

El paquete está mantenido por la comunidad de Flathub, no es otra edición oficial de Valve. Utiliza un entorno separado y tiene diferencias en las rutas de datos y el acceso a carpetas. La documentación del paquete recoge sus particularidades.

No mantendría al principio una instalación nativa y otra Flatpak para probar cosas sin distinguirlas. Podemos acabar abriendo clientes distintos, con configuraciones y bibliotecas diferentes. Elegimos una y anotamos cuál es antes de instalar complementos.

Para actualizar el paquete Flatpak se utiliza flatpak update, además de las actualizaciones que realice el propio cliente. Los remotos y el alcance de usuario o sistema se explican en instalar y actualizar Flatpak en Linux.

Primer arranque y biblioteca

Abrimos Steam desde el menú. La primera vez descargará los componentes que necesite y nos pedirá iniciar sesión. Revisamos las confirmaciones de seguridad en nuestra cuenta, sin introducir credenciales en páginas de terceros que prometan configurar Proton por nosotros.

Antes de descargar un juego grande, comprobamos el espacio libre y dónde estará la biblioteca. Desde los ajustes de Almacenamiento podemos añadir otra ubicación y seleccionar el destino de las instalaciones. La descarga del juego no es todo lo que acabará ocupando: también habrá actualizaciones, componentes de compatibilidad y otros datos.

Para una biblioteca que utilizaremos desde Linux, elegiría un sistema de archivos Linux adecuado, como ext4. Una partición compartida con Windows puede introducir problemas de permisos, enlaces y compatibilidad. No resolvería un juego que falla en una biblioteca NTFS aplicando permisos abiertos a todo el disco.

Con Steam Flatpak debemos permitir el acceso a la carpeta de una biblioteca externa. La wiki de Flathub explica cómo dar ese acceso de forma acotada. No es necesario entregar a la aplicación todo el directorio personal si sólo queremos utilizar una carpeta concreta para los juegos.

Juegos nativos y juegos de Windows

Un juego nativo tiene una versión preparada para Linux. Un juego de Windows puede utilizar Proton, una capa de compatibilidad basada en Wine y otros componentes. Proton no instala Windows dentro de una máquina virtual por cada juego.

El cliente puede descargar la herramienta de compatibilidad y el entorno necesario cuando corresponda. Si queremos elegir una versión para un título concreto, abrimos sus Propiedades → Compatibilidad y revisamos la selección disponible.

La presencia de un juego en nuestra biblioteca no garantiza que funcione en Linux. También pueden intervenir lanzadores adicionales, sistemas antitrampas, requisitos gráficos o una actualización del propio juego. La documentación de Proton de Valve permite consultar su propósito y los cambios de compatibilidad.

Empezaría con un título que tenga soporte conocido y una instalación pequeña. Así podremos distinguir un problema general del cliente o de la gráfica de un problema específico de ese juego.

Proton estable, Experimental y GE-Proton

La versión estable de Proton es el punto de partida para muchos títulos. Proton Experimental incorpora cambios que pueden ayudar con juegos recientes o fallos concretos, pero no significa que sea mejor para todos los juegos que ya funcionan.

GE-Proton es una variante mantenida por la comunidad, con cambios y componentes adicionales. No sustituye a la versión de Valve en todos los casos ni elimina las condiciones que impone un sistema antitrampas. Su repositorio oficial explica el alcance y las formas de instalación.

Si un juego funciona bien con la herramienta que Steam ha elegido, no lo cambiaría sólo porque exista otra con un número mayor. Si falla, probamos una alternativa concreta y repetimos la misma acción. Cambiar a la vez la versión, varios parámetros de lanzamiento y el controlador de vídeo hace mucho más difícil saber qué ha servido.

Mantendría la selección por juego. Utilizar una variante para un título que la necesita no obliga a imponerla sobre toda la biblioteca.

Instalar GE-Proton sin mezclar instalaciones

Podemos utilizar ProtonUp-Qt para gestionar versiones de compatibilidad. Elegimos dentro de la aplicación la instalación de Steam que realmente utilizamos, añadimos la versión de GE-Proton y esperamos a que termine.

Después cerramos Steam completamente y lo volvemos a abrir. La nueva herramienta debería aparecer en la selección de compatibilidad del juego. Si no aparece, comprobamos el destino que hemos elegido antes de instalar la misma versión varias veces.

Para una instalación manual, las rutas dependen del cliente. El repositorio de GE-Proton indica el directorio compatibilitytools.d de la instalación nativa y la ruta correspondiente dentro de ~/.var/app/com.valvesoftware.Steam/ para Flatpak. La carpeta de la herramienta no es la carpeta donde hemos instalado el juego.

El proyecto también advierte sobre el soporte de ciertas combinaciones con Flatpak. No damos por equivalente cualquier paquete comunitario que tenga «Proton GE» en el nombre. Consultamos la procedencia y mantenemos claro qué herramienta hemos añadido.

Si un juego no arranca

Primero anotamos qué ocurre: si no aparece ninguna ventana, si falla el lanzador adicional, si se abre y se cierra o si el problema es la imagen. Un fallo que sólo afecta a un juego no justifica borrar todas las configuraciones de Steam.

Revisamos su descarga y utilizamos la comprobación de archivos desde Propiedades → Archivos instalados. Después consultamos la versión de compatibilidad seleccionada. Si vamos a probar otra, conservamos la información de la anterior para poder volver atrás.

Para obtener un registro de Proton podemos añadir en las opciones de lanzamiento del juego:

PROTON_LOG=1 %command%

Es un valor para el campo de Steam, no un comando que debamos ejecutar directamente en la terminal. Si ya teníamos opciones, no las sobrescribimos sin guardarlas antes. La documentación de variables de Proton explica dónde se guarda el archivo steam-APPID.log y cómo ajustar ese destino.

Después de reproducir el fallo, leemos las líneas relevantes. El registro puede incluir rutas y nombres de usuario, así que lo revisamos antes de compartirlo. Quitamos la opción cuando hayamos terminado de diagnosticar para no seguir acumulando archivos innecesarios.

Controladores y Vulkan

La compatibilidad también depende de la pila gráfica. Si varios juegos fallan con errores relacionados con Vulkan o con las bibliotecas de vídeo, comprobamos los controladores y el soporte de nuestra GPU antes de insistir con otra versión de Proton.

Con NVIDIA podemos consultar la guía de controladores adicionales en Ubuntu. Para Intel, la explicación de controladores Intel en Linux distingue kernel, firmware y Mesa. No instalamos un archivo .run genérico ni desactivamos Secure Boot como primer paso para cualquier fallo de un juego.

En Flatpak también intervienen los componentes gráficos de su entorno. Por eso un cliente actualizado no demuestra por sí solo que todo su entorno de ejecución esté al día.

Antitrampas, partidas y cambios de versión

Hay juegos cuyo sistema antitrampas requiere que el desarrollador admita expresamente el uso de Proton. La documentación de Steam sobre Proton y anticheat explica esos requisitos. Cambiar a GE-Proton no garantiza que podamos entrar a un servidor que rechaza Linux.

Antes de cambiar una configuración importante comprobamos las partidas guardadas y el estado de Steam Cloud, si el juego lo utiliza. No todos los títulos sincronizan todo lo que consideramos importante.

Las carpetas de compatibilidad pueden guardar configuraciones, datos del entorno y, según el juego, partidas. No tratamos steamapps/compatdata como si fuera una caché prescindible que podemos borrar en bloque. Una instrucción para reconstruir el entorno de un juego debe identificar ese título y proteger primero sus datos.

Para empezar no necesitamos una colección de trucos: una instalación bien identificada, una biblioteca con permisos adecuados y una herramienta de compatibilidad elegida para cada caso. Cuando el primer juego funcione, será mucho más fácil reconocer qué cambia con el siguiente.

Sergio Almela

Senior Software Engineer con más de diez años de experiencia. Escribo sobre Linux, software libre, backend, arquitectura, rendimiento, testing e IA aplicada al desarrollo.

Ver todas las entradas de Sergio Almela →

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *