Steam sur Debian, jouer avec confort

Mon dernier article sur le Retrogaming remonte à mai 2023, ouch ! J’ai honte. La bonne nouvelle est que j’ai pas chômé, après avoir creusé Recalbox, Batocera.linux, je ponce Steam et j’ai une forte envie de partager dessus.

Quelques précisions

Cet article a pour but de montrer/démontrer que d’un point de vue logiciel jouer sur Linux est confortable. En revanche d’un point de vue matériel, il faut toujours un PC suffisamment puissant (CPU, RAM, disque, carte graphique) pour faire tourner les jeux. J’ai acheté (456 euros), j’utilise et je teste un Minisforum UM690S. Je détaillerai ce que j’en pense dans un autre article.

Toutes les commandes sont lancées sur une Debian Testing Xfce, à vous d’adapter en conséquence. Je mets beaucoup de liens, vous avez ainsi la source de l’info et pouvez comprendre précisément les choses. Les commentaires sont ouverts, je réponds aux questions.

Je joue avec une manette Xbox en bluetooth sur ma télé depuis mon canapé.

Installer Steam et le pilote propriétaire NVIDIA si besoin

Le Wiki Debian est plutôt clair. Il s’agit de la méthode recommandée pour installer Steam, je vous invite à lire ce thread plus complet sur la question.

# Ajoutez l’élément non-free à /etc/apt/sources.list
# sudo nano /etc/apt/sources.list : deb https://deb.debian.org/debian testing main contrib non-free
sudo dpkg --add-architecture i386 && sudo apt update
sudo apt install steam

D’après le Wiki si vous avez une carte graphique Nvidia : « Le pilote propriétaire est fortement recommandé pour des performances décentes et la prise en charge de Vulkan ».

# Ajoutez les éléments contrib, non-free et non-free-firmware à /etc/apt/sources.list
# sudo nano /etc/apt/sources.list : deb https://deb.debian.org/debian testing main contrib non-free non-free-firmware
sudo apt update
sudo apt install linux-headers-amd64
sudo apt install nvidia-driver firmware-misc-nonfree

Configurer Steam

Les réglages que je fais sur Steam :
Menu (Touche Xbox), Paramètres, Interface, Sélectionnez la langue de votre choix : Français, Format 24 heures : On.
Menu (Touche Xbox), Paramètres, Compatibilité, Activer Steam Play pour les jeux compatibles : On, Activer Steam Play pour tous les autres titres : On, Exécuter les autres titres avec : GE-Proton9-11.
Menu (Touche Xbox), Paramètres, Interface, Lancer Steam au démarrage de l’ordinateur : On, Lancer Steam en mode Big Picture : On.

proton-ge-custom

D’après Wikipédia : « Proton est un logiciel gratuit et open-source qui permet aux logiciels conçus pour Microsoft Windows de s’exécuter sur des systèmes d’exploitation basés sur Linux. Proton est développé par Valve et basé sur un fork de Wine. Il comprend plusieurs correctifs et bibliothèques pour améliorer les performances et la compatibilité avec les jeux Windows. Proton lui-même est conçu pour être intégré au client Steam sous le nom de « Steam Play », permettant le fonctionnement transparent des jeux et logiciels Windows dans Steam, mais il peut être utilisé comme une application autonome. »

Pour simplifier Proton est la surcouche logicielle qui va s’occuper de faire fonctionner au mieux les jeux Windows sur Linux. Pour chaque jeu on peut choisir la version de Proton à utiliser sur Steam, en général on laisse/prend « simplement » la version la plus récente.

Un projet important à connaître est proton-ge-custom présenté comme « Compatibility tool for Steam Play based on Wine and additional components », il s’agit d’une version custom/optimisée de Proton/WINE (« the most recent bleeding-edge Proton Experimental WINE »). Pour faire simple, la version 9.0 de Steam Play peut être considérée comme une version stable, l’intérêt de proton-ge-custom est de proposer une version ultra-récente et optimisée de Proton/WINE. Les releases sont très régulières (et parlantes sur le boulot effectué), le dev GloriousEggroll (d’où le nom proton-GE) est « Software Maintenance Engineer @RedHat. Wine-Staging maintainer » et le projet est soutenu à plus de 1000 euros par mois sur Patreon (ce qui fait réfléchir et rêver). Bref du solide et à utiliser si vous rencontrez des problèmes avec un jeu sur Steam. Pour changer la version de Proton utilisée, sur la page du jeu dans Steam aller dans Gérer (icône en forme d’engrenage à droite), Propriétés…, Compatibilité, Forcer l’utilisation d’un outil de compatibilité Steam Play spécifique : GE-Proton9-11.

Pour installer proton-ge-custom.

mkdir $HOME/.steam/root/compatibilitytools.d
wget -qO - $(curl -s https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases/latest | grep -o https.*GE-Proton.*.tar.gz) | tar -xzC $HOME/.steam/root/compatibilitytools.d

Manette Xbox

Pas de plaisir à jouer sans une bonne manette. Je suis très satisfait des manettes 8BitDo qu’on utilise sur Recalbox, la référence reste pour moi la manette Xbox. Je n’avais pas du tout prévu d’en acheter une en débutant le sujet Retrogaming mais en jouant à Halo, tous mes souvenirs sont remontés. Il était inconcevable que je joue à Halo sans une manette Xbox, j’ai fini par craquer en profitant d’une promotion à 46 euros (et bordel en Shock Blue elle claque !).

Lorsqu’on fait des recherches sur cette manette et sa compatibilité, on s’aperçoit qu’une majorité de commentaires recommande l’achat d’un dongle USB pour la faire fonctionner en bluetooth sur PC et en effet impossible de la faire fonctionner out of the box (manette achetée en janvier 2024, PC avec connectivité bluetooth). Il était hors de question pour moi d’acheter un dongle à 20 euros uniquement pour ça. Je partais sur une rallonge USB de 3 mètres, l’inconvénient étant le câble, l’avantage pas de piles à utiliser dans la manette.

Le Wiki de Batocera.linux est souvent peu clair et pas à jour mais un doute m’a pris à la lecture de « If the controller is not pairing correctly, it may need to have its firmware updated via a Windows 10+ PC or an Xbox One/Series console » puis je suis tombé sur How to Fix Xbox Controller Not Pairing to Steam Deck.

Je vous déconseille fortement de mettre à jour votre manette via l’application Accessoires Xbox, je n’y suis jamais arrivé (testé dans une machine virtuelle puis sur un PC Windows 11 à jour), les avis sur l’application montrent le degré d’incompétence de Microsoft et de colère des utilisateurs, surtout certains parlent de manettes brickées. Je me suis souvenu que mon frère avait une Xbox One S, on a mis à jour la manette et… elle fonctionne à présent parfaitement en bluetooth y compris sur mon Intel NUC NUC7CJYH (datant de 2018) sur lequel je fais tourner Recalbox.

Association manette

On met la manette Xbox en mode pairing/coupler pour la connecter en bluetooth au PC (remplacer l’adresse MAC ci-dessous par celle de votre manette).

sudo apt install bluez
sudo systemctl enable --now bluetooth
bluetoothctl
agent on
power on
scan on
pair 40:8E:2C:01:9D:C4
trust 40:8E:2C:01:9D:C4
connect 40:8E:2C:01:9D:C4
quit

Au prochain reboot, vous allumez votre manette en appuyant sur la touche Xbox, elle va se reconnecter automatiquement au PC.

Ouverture automatique de la session

Sur Debian Xfce, LightDM est le gestionnaire de session par défaut. On veut que la session s’ouvre sans avoir à taper le mot de passe (autologin).

sudo nano /etc/lightdm/lightdm.conf
[Seat:*]
autologin-user=cascador

Récapitulons

Au démarrage :
1/ J’allume le PC (je peux le faire sans me bouger le cul du canapé via Wake-on-LAN depuis un PC sudo apt install wakeonlan ou depuis mon smartphone avec Termux pkg install wol), la session s’ouvre automatiquement (sans que j’ai à saisir un mot de passe, voir « Ouverture automatique de la session »), Steam est lancé au démarrage de l’ordinateur en mode Big Picture (plein écran avec l’ergonomie qui va bien, voir « Configurer Steam »).
2/ J’allume la manette (qui se reconnecte automatiquement) en appuyant sur la touche Xbox.
3/ J’appuie sur A pour lancer le jeu et je joue.

À l’extinction :
1/ Dans le jeu, je cherche « Quitter le jeu » et je valide.
2/ Je me retrouve sur l’interface Steam, j’appuie sur la touche Xbox, le menu apparaît à gauche, je sélectionne « Marche/arrêt » puis « Éteindre le système », le PC s’éteint, la manette également.

Jeux

Afin d’être plus clair sur les possibilités de jouer sur Linux avec Steam, j’ai terminé The Wolf Among Us, The Walking Dead : The Telltale Definitive Series, Life is Strange Remastered, Life is Strange : Before the Storm Remastered, Life is Strange 2, Life is Strange : True Colors, What Remains of Edith Finch, Sally Face.

Je joue actuellement à Streets of Rage 4, Mortal Kombat 11, Halo : The Master Chief Collection, Baba Is You, Phoenix Wright: Ace Attorney Trilogy, Soldats Inconnus : Mémoires de la Grande Guerre, Day of the Tentacle Remastered, Journey, Ken Follett’s The Pillars of the Earth.

Je confirme que ça marche très bien, que je n’ai aucun problème (bugs, blocage, ralentissements…) sur ces jeux.

Les sites à connaître

ProtonDB est LE site à consulter pour vérifier qu’un jeu est jouable/compatible sur Linux, je n’achète aucun jeu avant de le consulter. Exemple : Halo : The Master Chief Collection.

SteamDB est probablement le site le plus connu autour de Steam, il condense de nombreuses informations et statistiques sur les jeux, je m’en sers surtout pour voir le prix le plus bas enregistré pour un jeu sur Steam. Exemple : Resident Evil 7.

Co-Optimus se focalise sur les jeux en Co-Op et donne des informations précises sur le nombre de joueurs, local ou online, popularité du jeu. Exemple : Teenage Mutant Ninja Turtles : Shredder’s Revenge.

HowLongToBeat indique le temps nécessaire pour terminer un jeu. Exemple : The Longing.

On a chacun nos bonnes adresses pour trouver les jeux moins chers. Perso j’utilise Goclecd, j’ai acheté plusieurs jeux sur Instant Gaming, Eneba, Humble Bundle, GOG sans rencontrer aucun problème (je recommande un check sur Trustpilot pour vérifier la fiabilité des sites où acheter des jeux). IsThereAnyDeal et CheapShark sont les plus connus/utilisés pour trouver des bons plans.

Quelques détails

J’ai galéré à faire fonctionner Halo : The Master Chief Collection en mode plein écran, un problème connu avec ce jeu. Sur la page du jeu dans Steam aller dans Gérer, Propriétés…, Général, Options de lancement : -fullscreen.

L’ouverture automatique de la session ne change rien au verrouillage automatique de la session. Si vous ne jouez pas pendant X minutes, la session va se verrouiller et vous devrez saisir votre mot de passe pour l’ouvrir (donc sortir un clavier). On peut facilement se retrouver à faire autre chose pendant 15 mn. Bref pensez à mettre une durée confortable avant verrouillage genre 30 minutes.

J’ai parfois quelques problèmes, typiquement je quitte un jeu puis j’attends 3 longues minutes avant d’avoir l’interface Steam. Gonflant. Mais le truc qui me gonfle le plus c’est quand ma télé ne détecte pas le signal HDMI du PC, le PC tourne mais la télé n’affiche rien. Pendant un moment je rebootais le PC pour m’en sortir. J’ai trouvé un contournement et je l’ai paramétré en raccourci clavier dans Paramètres, Clavier, onglet Raccourcis d’applications, Commande ci-dessous et Raccourci « Super+D ». Il faudra permettre cette commande sans demander le mot de passe.

sudo systemctl restart display-manager # Redémarre la session en fermant toutes les applications

Étant donné que la session s’ouvre automatiquement et que Steam se lance au démarrage, c’est comme un reset, la télé « voit » alors le signal.

Satisfait et surpris

C’est dingue comment une fois tout remis au propre, cela semble « facile ». J’ai passé de nombreuses heures sur chaque point de cet article, le choix du PC, l’installation de Steam (j’avais commencé avec Flatpak et je rencontrais des problèmes), la découverte de proton-ge-custom, la grosse blague de Microsoft avec la manette Xbox (j’aurais jamais pensé à la mettre à jour pour qu’elle « juste » fonctionne avec un PC), Halo : The Master Chief Collection avec -fullscreen (j’ai d’abord pensé que c’était lié aux bureaux virtuels puis à ma config matérielle pas assez puissante), toute la réflexion pour ne pas avoir à sortir un clavier pour jouer directement, le magnifique sudo systemctl restart display-manager et cette pu$%!@ de télé n’affichant rien.

Bref au final je suis extrêmement satisfait et surtout très surpris du degré de qualité et confort de jeu de Steam sur Debian.

Vus : 90
Publié par blog-libre : 133