Los resultados de la encuesta de Steam correspondiente a octubre de 2021 han arrojado un dato curioso, y es la presencia de la versión Flatpak del cliente como una de las distribuciones más utilizadas. Viendo que el formato de paquetes impulsado por Red Hat está ganando poco a poco más adeptos, vamos a enseñar a preparar Steam Flatpak para distintas distribuciones.
A pesar de que Flatpak va limando poco a poco sus carencias a nivel de integración, el cliente de Steam en ese formato arrastra dos inconvenientes a tener en cuenta:
- Primero, no suministra las reglas de udev para controladores, así que el usuario puede encontrarse que su controlador, ya sea el difunto Steam Controller, uno de PlayStation, uno de Xbox o el Pro Controller de Switch, no se integra con la aplicación.
- Segundo, si no se usa Flatpak 1.12, el usuario puede encontrarse un bug que hace que las versiones de Proton suministradas por el cliente no funcionen, lo que fuerza al usuario a tener que recurrir a las compilaciones comunitarias de Proton publicadas en formato Flatpak. Se cumpla o no con el requisito de Flatpak 1.12 para no arrastrar el bug, es preferible tener Proton Glorious Eggroll en formato Flaptak.
La ventaja de usar la versión Flatpak de Steam
Usar Steam en formato Flatpak tiene sus inconvenientes, pero también una ventaja importante, y es que dicha compilación de la aplicación usa una versión reciente de Mesa en el mismo formato para la ejecución de los videojuegos.
La versión Flatpak de Mesa no sustituye a la que está presente en el sistema en formato “tradicional” (Deb, RPM, tar.xz de Arch Linux… ), sino que la complementa y entra en acción solo cuando una aplicación Flatpak la requiere. Esto quiere decir que la integridad y la funcionalidad del sistema no quedan comprometidas al mantenerse las versiones de las bibliotecas suministradas oficialmente por y para la distribución.
La forma de funcionar de Mesa en formato Flatpak hace su uso atractivo en sistemas que suministran un conjunto de software estanco debido a que anteponen la estabilidad a todo, como Debian Stable y openSUSE Leap.
Instalando la integración de los controladores para Steam
El cliente de Steam en formato Flatpak no ofrece integración para los controladores, o dicho de manera más técnica, no suministra las reglas de udev necesarias para integrar un controlador de PlayStation, Xbox, el Pro Controller de Switch o el Steam Controller en la aplicación. La razón es porque la aplicación “no tiene permisos para instalar reglas de udev en las ubicaciones apropiadas y las reglas de udev enviadas por Steam también pueden ser insuficientes sin las personalizaciones de distribución”.
La integración de los controladores con Steam tiene que ser instalada de forma “tradicional”, a través de un paquete RPM o Deb. Por suerte, el nombre de dicho paquete es ‘steam-devices’ y está estandarizado, así que encontrarlo suele ser sencillo y está disponible, directa o indirectamente, para la mayoría de las distribuciones populares (en caso de no estar disponible, significa que las reglas de udev son suministradas por el cliente de Steam en formato “tradicional”).
Debian
Para instalar ‘steam-devices’ en Debian hay que ejecutar el siguiente comando después de habilitar los repositorios non-free:
Ubuntu
En Ubuntu puede que las reglas no estén puestas al día, aparte que tienen como dependencia la propia aplicación de Steam con toda su parafernalia. Para instalar solo las reglas de udev hay que añadir una opción al comando.
Fedora
En Fedora depende de si está usando la edición Workstation (o cualquier spin “tradicional” para el escritorio) o la Silverblue (que abarca Kinoite). Debido a que esta distribución suministra de por sí una versión muy reciente de Mesa sin necesidad de recurrir a repositorios de terceros, el uso del paquete Flatpak de Steam solo se justifica en las ediciones Silverblue y Kinoite, las cuales son sistemas inmutables que invitan al usuario a tragarse la mayoría de las modificaciones a través de paquetes Flatpak.
Otro detalle a tener en cuenta es que RPM Fusion, el archiconocido repositorio de terceros para Fedora, ha separado no hace mucho las reglas de udev de la versión RPM de la aplicación a propuesta de este servidor. Mi intención era aportar un granito de arena que ayudara a los usuarios interesados en usar Fedora Silverblue/Kinoite como un escritorio común.
Para instalar las reglas de udev para controladores de Steam, en primer lugar hay que habilitar el repositorio de terceros que permite instalar la aplicación (que es una activación parcial de RPM Fusion) o configurar el conjunto entero de RPM Fusion.
La configuración de RPM Fusion en Fedora Workstation y los spins “tradicionales” orientados al escritorio se realizar de la siguiente manera:
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
El comando para la instalación de ‘steam-devices’ en Fedora Workstation es el siguiente:
sudo dnf install steam-devices
Mientras que en Silverblue/Kinoite hay que recurrir a rpm-ostree. En primer lugar hay que configurar los repositorios de RPM Fusion y reiniciar el sistema:
sudo rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Luego se instalan las reglas y se vuelve a reiniciar para aplicar los cambios introducidos en la imagen del sistema (en otra ocasión nos extenderemos con Silverblue/Kinoite):
sudo rpm-ostree install steam-devices
openSUSE
Por último tenemos a openSUSE Leap, otro sistema para el que usar Steam Flatpak es algo atractivo. Sin embargo, y al igual que Ubuntu, al seleccionar el paquete ‘steam-devices’ se instala el cliente de Steam junto a todas sus dependencias, así que el usuario termina con dos versiones de la aplicación instaladas.
sudo zypper install steam-devices
Instalar el cliente de Steam en formato Flatpak
En caso de contar con una versión de GNOME Software o Discover bien implementada, el usuario solo tiene que descargar el instalador desde Flathub y luego abrirlo con la tienda de software que esté empleando. Para ello el usuario tiene que asegurarse de tener instalado el soporte de Flathub y la correspondiente integración para la tienda, que para Discover es ‘plasma-discover-backend-flatpak’ y para GNOME Software es ‘gnome-software-plugin-flatpak’ (al menos en Debian). En Fedora con GNOME este soporte viene preinstalado.
De manera alternativa se puede recurrir a la línea de comandos, configurando primero el repositorio de Flathub y luego instalando la aplicación.
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.valvesoftware.Steam
Instalar Proton en formato Flatpak
Si se quiere jugar a juegos de Windows desde Linux es altamente recomendable usar Proton, la reimplementación de Wine desarrollada por Valve para facilitar la ejecución de videojuegos compilados para el sistema de Microsoft.
Sin embargo, salvo que se use Flatpak 1.12, los lanzamientos recientes de las compilaciones de Proton suministradas por Valve no funcionan con la versión Flatpak de Steam, así que habrá que recurrir a las compilaciones comunitarias de Proton en formato Flatpak que hay disponibles. Eso sí, Proton Glorious Eggroll (Proton-GE), que es más competente para la ejecución de títulos AAA recientes, sería preferible en este caso tenerlo en formato Flatpak.
Si se ha instalado el repositorio de Flathub y la integración con Discover funciona, el usuario solo tiene que buscar Proton en la mencionada tienda e instalar los paquetes que le aparecen, los cuales son la última versión estable del Proton de Valve (recompilado), el Proton Experimental de Valve (recompilado) y GloriousEggroll, la conocida bifurcación comunitaria de Proton que suele ir mejor con los juegos AAA recientes.
En caso extremo, si se usa Flatpak 1.12 o posterior, sería recomendable instalar Proton Glorious Eggroll en ese formato, ya que cuenta con la ventaja de que se actualiza de forma automática:
flatpak install flathub com.valvesoftware.Steam.CompatibilityTool.Proton-GE
En caso de no tener en funcionamiento Flatpak 1.12, el soporte completo de Proton puede obtenerse con el siguiente comando:
flatpak install flathub com.valvesoftware.Steam.CompatibilityTool.Proton com.valvesoftware.Steam.CompatibilityTool.Proton-Exp com.valvesoftware.Steam.CompatibilityTool.Proton-GE
Conclusión
Con esto ya tenemos todo lo necesario para usar la versión Flatpak del cliente de Steam, abarcando tanto el soporte para controladores como el uso de Proton para poder ejecutar los juegos para Windows.
A pesar de que Flatpak todavía tiene carencias a nivel de integración, su mejora está siendo constante y cada vez se muestra más capaz. De hecho, este servidor ya usa las aplicaciones multimedia en ese formato, tanto para audio con Lollypop como para vídeo con SMPlayer.
Aparte de romper las limitaciones de las bibliotecas compartidas “tradicionales” a la hora de portar aplicaciones gráficas, donde más sentido cobra el uso de Flatpak es en Fedora Siverblue/Kinoite, aunque esto dependerá de la aceptación que tengan los sistemas inmutables entre los usuarios de Linux.
Fuente: Muy Linux