Petits tips pour jouer aux jeux Windows sur Linux
C'est à la fois simple et pas simple
Hello les gens !
Régulièrement des gens veulent me proposer des jeux, ou m'inviter à me joindre à eux, mais sans trop savoir si je peux jouer aux jeux en question car je suis un Linuxien hardcore depuis deux Décennies (comme déjà expliqué dans plusieurs articles, le plus récent étant sur la grande époque de Feral Interactive que je re-citerai ici), et j'ai pu voir sur Mastodon à droite à gauche des personnes en galère avec certains jeux (si vous me lisez, cet article vous est dédié), et donc je vais prendre le temps de vous expliquer un peu tout ça.

Déjà, de quoi qu'on a besoin pour jouer sur une bécane sur Linux ?
Ici on va se concentrer sur le jeu PC "classique" via un des 3 grands stores (Steam, Epic, GOG), on a besoin principalement de deux logiciels : Steam (évidemment, et si vous êtes sur Ubuntu ou un de ses forks, récupérez le .deb ici, ne passez pas du tout par le Snap qui est sur le store, il est daubé du cul et pas géré par Valve mais directement par Canonical) et Heroic Games Launcher.
Ensuite, quand vous allez sur Steam, sur les pages de vos jeux, il y a deux éléments à regarder, le premier étant "est ce qu'il y a un Build Linux de mon jeu", pour le savoir, regardez au dessus du prix, vous aurez entre 1 et 3 logos, Windows, MacOS, et le logo de Steam pour tout ce qui est lié à Linux (par rapport à SteamOS), la deuxième chose à regarder, c'est "ok il y a que Windows, ou Windows+Mac, est ce que Steam dit que c'est compatible Steam Deck ?", si oui, cela veut dire que ça tournera quand même sur Linux (j'explique après le pourquoi du comment ne vous en faîtes pas), peut être joué à la manette, et avec une machine au moins équivalente au Steam Deck.

Mais du coup, par quelle diablerie on lance des jeux pas prévus sur Linux sur une bécane sur Linux me direz vous ?
Tout ça c'est grâce à Proton (dont j'avais pu parlé à une époque plus que lointaine en 2018), rien à voir avec un certain service de Mail + VPN + Gestionnaire de Mots de Passe + IA sur le téléphone (oui oui, son petit nom c'est Lumo), c'est un ensemble de logiciels maintenus partiellement ou intégralement par Valve qui vont créer une couche logicielle intermédiaire entre votre distribution Linux et votre jeu pour faire croire à ce dernier qu'il tourne sur une bécane sur Windows, le tout avec plus ou moins de succès (mais ce n'est pas de l'émulation, et promis j'essaie de faire au plus simple).
En gros retenez juste que dans Steam, il y a tout ce qu'il faut pour jouer à vos jeux favoris sur Linux même s'ils sont pas conçus pour (côté Heroic, il y a aussi ce qu'il faut pour utiliser Proton, c'est dans les options de Wine, qui est la partie de Proton qui sert à lancer des logiciels Windows sur Linux).


Mes paramétrages dans Steam et Heroic
Maintenant il faut savoir qu'il n'y a pas QUE Valve qui s'occupe de Proton, en effet, deux forks existent et résolvent chacun à leur manière des bugs qui peuvent subsister dans Proton, il s'agit de Proton-GE par Glorious Eggroll (le créateur et mainteneur de ma distro, Nobara Linux) et Proton-CachyOS par l'équipe derrière CachyOS (une distro gaming basée sur Arch Linux qui n'a pas souhaité intégré l'Open Gaming Collective, décision dont je comprends les raisons mais trouve regrettable pour de nombreuses raisons).
Vous avez plusieurs moyens de les installer et les gérer, mais je trouve que la plus simple est de passer par l'utilitaire ProtonPlus (dispo sur Flathub), qui vous permet de gérer et maintenir en quelques clics vos installations de Proton, et d'avoir du coup plusieurs versions de Proton-GE ou de Proton-CachyOS installées en parallèle sans prise de tête.

Enfin, on va passer à la partie qui peut être réellement prise de tête, les fameuses "Options de Lancement".
Parce que bon, c'est pas en installant Proton-GE que vous allez résoudre d'un coup de clic magique tous les petits soucis qu'on peut rencontrer sur une version plus "classique" de Proton, et surtout, c'est pas parce qu'une solution marche sur votre PC qu'elle va marcher sur le mien, et inversement.
Déjà à cause des constructeurs de carte graphique, Nvidia ayant une certaine tendance à casser les pieds avec des drivers "maison" cassés une fois sur deux alors qu'AMD contribue directement au driver Mesa (un driver libre faisant partie de l'écosystème Linux), mais du coup on va devoir aborder ce délicat sujet.
Parce que si je dis qu'il faut jamais copier coller bêtement des commandes qu'on voit sur internet, c'est surtout parce que les gens le font sans même chercher à comprendre ce que ça fait, on va donc prendre le temps de voir ça ensemble.

Valve nous a fait une petite documentation complète à ce sujet sur leur site, mais je vais quand même vous résumer ici ceux que j'ai le plus couramment dû utiliser à titre purement personnel sur mon PC (un Lenovo Legion 5 Pro avec une carte Nvidia GTX 4060) :
- PROTON_ENABLE_NVAPI : en gros j'indique à Proton s'il doit utiliser les API de Nvidia, je mets ça sur 1 si je veux le forcer à le faire, et sur 0 si je veux justement pas qu'il le fasse
- PROTON_HIDE_NVIDIA_GPU : c'est un argument complémentaire au premier, il sert à dire si je veux gruger proton sur le fait qu'il est sur une carte graphique Nvidia, en effet certains jeux peuvent avoir certaines options forcées s'il pense être sur une CG Nvidia, et cela peut résulter en de piètres performances sur Linux (coucou MH Wilds et Doom Dark Ages à leur sortie), je le mets donc sur 1 pour être certain de shunter toutes les options liées de près à de loin à du Nvidia comme le Ray Tracing et le DLSS
- SteamDeck : il y a des jeux qui vont avoir certaines optimisations ultra spécifiques qui ne s'active que si le jeu pense qu'il tourne sur un Steam Deck, comme l'anti-cheat de Space Marine 2 qui pour une raison qui m'échappe a une très forte tendance à déconner si le jeu ne pense pas tourner sur un Steam Deck, vous l'aurez compris, je l'ajoute pour faire croire au jeu qu'il tourne sur la machine portable de Valve
- gamemoderun : celui la nécessite d'installer le paquet Gamemode, qui est maintenu par Feral Interactive (vous voyez que j'allais en parler de ces mecs qui ont permis au Gaming sur Linux de subsister pendant des années), en gros il va effectuer des micro optimisations sur votre machine pour tenter d'en tirer le maximum pour lancer votre jeu dans les meilleures conditions possibles
Si vous ne savez pas lesquelles utiliser, je vous invite à aller zieuter du côté de ProtonDB, il s'agit d'une base de données collaborative (à laquelle je participe de temps en temps) sur laquelle la communauté va indiquer si le jeu que vous cherchez tourne bien, et sous quelles conditions, que ce soit côté configuration matérielle, la distribution Linux, la version de Proton utilisée, les Options de lancement qui ont pu être ajoutées, voire même les options modifiées en jeu pour les cas extrêmes pour réussir à lancer un jeu (les Linuxiens sont du genre débrouillards en général).
Ce site est un indispensable car il vous permettra de voir aussi si le dernier jeu à la mode peut être lancé ou non en raison d'un DRM ou d'un anti-cheat plutôt récalcitrant (coucou Marathon et Destiny 2, c'est très gentil de montrer que vous chiez sur les joueurs).

Comme j'ai dit, il n'y a malheureusement pas de formule magique pour que tout tourne à la perfection sur Linux, mais grâce au travail collaboratif entre la commu et les développeurs des outils que je vous ai cité ici, cela s'améliore d'année en année depuis bientôt 8 ans.
J'espère avoir réussi ma mission de vous vulgariser un peu le fonctionnement de tout ce bouzin sur Linux, surtout qu'à l'heure actuelle il n'y a plus besoin d'être un "codeur fou" pour réussir à lancer le moindre jeu sur sa distro préférée (petite pensée pour le jeune Budda de 20 ans qui passait des nuits blanches à coder des scripts pour configurer son Wine automatiquement pour chacun des C-RPG auxquels il souhaitait jouer).
Merci de m'avoir lu jusque là, comme évoqué dans un précédent article, ce Blog est un média 100% indépendant, financé et produit par mes propres moyens, si vous appréciez mon travail et souhaitez m'aider, n'hésitez pas à le partager autour de vous, et si vous souhaitez participer financièrement afin de faire vivre ce média, vous pouvez faire un don ponctuel sur mon Liberapay.
