Jeux vidéo : comment jouer sous Linux ?

Par Julien Roland , le 20/06/2020 , mis à jour le 05/01/2023 - 21 minutes de lecture
ma ludothèque Lutris

Dans un précédent article consacré aux alternatives à Windows qui présentait un certain nombre de logiciels sous Linux capables de remplacer avantageusement leurs équivalents sous Windows, il était évoqué que le jeu sous Linux pouvait être un frein à une migration totale de l’ordinateur familial vers une distribution Linux. Ceci dans la mesure où, pour profiter sous Linux des derniers blockbusters (les triple A) créés pour Windows, il fallait déployer des efforts et de la patience, pas toujours justement récompensés. Mais est-ce que cette problématique existe-elle toujours en 2020 ? C’est ce que nous allons évoquer ici, où nous allons voir comment jouer sous Linux, en nous intéressant plus particulièrement à un logiciel dont l’ambition est de nous faciliter la vie : lutris.

Les exemples et copies d’écran qui sont présentés dans cet article proviennent d’une installation fraîche de la dernière version en date de la distribution Ubuntu : la 20.04 LTS. Pour un tutoriel sur l’installation d’Ubuntu, on pourra se référer à mon article qui montre comment configurer un double boot Windows 10 / Ubuntu.

Le support du matériel pour jouer

Avant de se lancer dans le vif du sujet, il va falloir s’intéresser au support du matériel, notamment graphique, qui est souvent un élément clé pour le jeu, en vérifiant que le système utilise les drivers les plus optimaux.

Les drivers propriétaires pour la carte graphique

De nombreux jeux nécessitent l’utilisation d’une carte accélératrice 3D pour fonctionner correctement. Il existe des pilotes libres pour ce genre de cartes, intégrés au noyau Linux, et développés par rétro-ingénierie car les spécifications des cartes ne sont pas publiées par les fabricants. Que ce soit pour AMD ou pour nvidia, ces pilotes libres ont atteint des niveaux de qualité remarquables (comme l’excellent module « nouveau » pour les cartes nvidia), et conviennent dans la plupart des cas, sauf peut-être si votre carte graphique est très récente.

Cependant, les fabricants de puces graphiques ont également la bonne pratique de développer des drivers Linux pour leurs cartes. Ces drivers ne sont certes pas open source, mais prétendent nous apporter l’intégralité des fonctionnalités pouvant être offertes par la version Windows de leurs drivers. Ils peuvent nous permettre de maximiser nos chances de succès dans notre quête du jeu sous Linux.
C’est donc ce qui sera choisi ici. Pour cet article, la carte nvidia utilisée sera pilotée par le driver non open source développé par son fabricant pour Linux. Lors de l’installation de Ubuntu, celui-ci sera installé et configuré de manière simplissime en cochant la case « installer un logiciel tiers pour le matériel graphique » lors des réglages du type d’installation.

installation pilotes propriétaires
Utilisation des pilotes propriétaires dès l’installation d’Ubuntu

Si vous ne savez pas si vous utilisez le driver open source ou le driver propriétaire pour votre carte graphique nvidia sur votre système, vous pouvez le vérifier en listant les modules chargés (ce sont les drivers) par le noyau Linux, et en filtrant les résultats avec le mot clé « nvidia ».

lsmod | grep nvidia

lsmod module nvidia
La commande lsmod nous permet de voir si le module (le pilote) nvidia est chargé

Si il y a un résultat, c’est que le driver propriétaire de nvidia est installé et utilisé sur le système. Si ce n’est pas le cas, il faudra procéder à son installation. Cette installation se fait relativement simplement en quelques étapes simples :

Dans le gestionnaire de configuration des mises à jour:

lancement logiciels et mises à jour

Se rendre à l’onglet “Pilotes additionnels”, choisir le driver nvidia recommandé et appliquer les changements.

 

pilotes additionnels
Le gestionnaire détecte le matériel nvidia, et propose les pilotes adaptés

Il ne reste plus qu’à redémarrer l’ordinateur pour charger le module au prochain démarrage.

Cas d’autres périphériques un peu particuliers

De nombreux joueurs sur PC disposent de périphériques tels que claviers, souris ou micro-casques, spécialement étudiés pour le jeu. Ces périphériques particuliers dédiés aux jeux sont souvent programmables (pour associer des macro-commandes à certains boutons par exemple), disposent de réglages de sensibilité particuliers, ou bien encore présentent des éclairages RGB personnalisables. Malheureusement, la plupart du temps, ces fonctionnalités ne sont accessibles qu’à travers des logiciels développés pour Windows.

Il est peut-être possible de faire fonctionner ces utilitaires avec Wine, mais j’avoue ne pas avoir de retour d’expérience sur ce point, et je doute que la couche Wine autorise bien l’accès direct aux périphériques comme le nécessitent souvent de tels utilitaires.
Certaines initiatives open source existent, comme par exemple OpenRazer prenant en charge un grand nombre de périphériques du célèbre fabriquant Razer, mais de telles initiatives semblent bien peu nombreuses.

Une alternative efficace est de soigneusement choisir son matériel, en préférant des périphériques pleinement utilisables sans drivers particuliers, ou disposant de mémoire interne stockant une bonne fois pour toutes les réglages effectués avec le logiciel dédié. Ainsi, leur dépendance à cet éventuel logiciel est faible voir inexistante. Cette quête n’est pas insurmontable : en effet, il existe de très nombreux périphériques provenant de nombreuses grandes et petites marques, toutes reconnues dans le monde du jeu vidéo sur PC et répondant à ces contraintes. Ce sujet n’étant pas la problématique principale de cet article, nous n’irons pas plus loin dessus, mais il pourra être développé plus tard si besoin.

Lutris : comment jouer sous Linux de manière simple

Lutris est un logiciel libre dont le développement fut à l’initiative en 2009 d’un développeur Franco-Américain : Mathieu Comandon.

L’objet de ce logiciel n’est pas de faire tourner les jeux lui-même, mais de présenter sous forme de ludothèque une collection des jeux installés sur la machine. Mais bien plus que cela, Lutris nous propose de nous faciliter les tâches d’installation et de lancement de tout  ces jeux, en fournissant des scripts d’installation personnalisés pour chaque jeu, et chaque plateforme. Ces scripts sont maintenus par la communauté, comme bien souvent dans le monde open source.

Enfin, Lutris propose une intégration avec plusieurs plateformes de commercialisation en ligne de jeux, telles que Steam ou GOG, permettant ainsi de gérer les ludothèques associées en son sein.

Comment ça marche ?

Plutôt bien ! :)

Blaque à part, Lutris se base sur ce qu’il appelle des « runners » (qu’on pourrait traduire comme des « exécutants »). Ce sont eux qui font fonctionner le programme du jeu. Ils ne font pas partie du projet Lutris, mais Lutris sait les piloter, voir les installer lui-même si besoin. Il y en a de nombreux qui peuvent être gérés par Lutris ; pêle-mêle on peut trouver le client Steam natif Linux, toutes sortes d’émulateurs de consoles, des émulateurs de vieux OS comme le DOS, ou bien encore Wine, le runner dédié aux jeux pour Windows, prenant par exemple en charge l’installation du client Steam pour Windows. Cette liste n’est pas exhaustive.

Nous allons nous intéresser à quelques-uns de ces runners par la suite, mais dans un premier temps il nous faut installer Lutris.

Installation de Lutris

Lutris n’est pas encore disponible dans les dépôts logiciels Ubuntu. Pour l’installer, comme expliqué dans la documentation, il va falloir ajouter un nouveau dépôt à la liste des dépôts utilisables par notre gestionnaire de paquets. Cela se fait en tapant les trois commandes suivantes dans un terminal de commandes :

sudo add-apt-repository ppa:lutris-team/lutris

add apt repository

Cette commande réalise l’ajout du dépôt de packages logiciels à la liste des dépôts de notre gestionnaire de paquets.
(appuyer sur la touche Entrée quand c’est demandé)

sudo apt-get update

 

apt update

Cette commande demande au gestionnaire de paquets apt de mettre à jour la liste des logiciels, pour prendre en compte le nouveau dépôt. Il est possible que suite à ça le gestionnaire de paquets indique qu’il y a des mises à jour à faire.

sudo apt-get install lutris

Cette commande installe Lutris et toutes ses dépendances. Cette fois-ci c’est le gestionnaire de paquets apt qui est utilisé pour installer le logiciel, à la place de Ubuntu software.

Note : Pour plus de détails sur ce qu’est un dépôt ou un gestionnaire de paquets, on peut se référer à mon article présentant ceux-ci.

Une fois Lutris installé, nous allons passer à la partie vraiment miraculeuse.

premier lancement lutris
L’interface de Lutris, fraîchement installée.

La base de données impressionnante de lutris.net

En effet, Lutris met à disposition par l’intermédiaire de son site internet une base de connaissance portant sur de nombreux jeux. On y trouve un moteur de recherche en haut à droite, dans lequel taper des noms de jeux qui nous intéressent. Cette base de données est vraiment impressionnante, et la grosse majorité des recherches que j’ai effectuées sur des jeux de moins de 20 ans ont trouvé un résultat. Le taux de réussite sur des jeux bien plus vieux (ceux de mon enfance par exemple, sur amiga) est moins élevé, mais reste très honorable avec plus de 170 références.

Un exemple avec le jeu Quake Champions sous Linux

Premier cas pratique, avec le jeu Quake Champions de l’éditeur Bethesda. Ce jeu est développé par le mythique studio id Software. Ce jeu qui est assez récent (2017), est exclusivement développé pour Windows. C’est l’occasion de mettre à l’épreuve le runner de Lutris adéquat pour la situation : Wine.
Pour rappel Wine est un logiciel qui permet de faire fonctionner des logiciels pour Windows sous Linux, en redirigeant les appels systèmes Windows des logiciels vers leurs équivalents sous Linux. Wine présente aussi à l’application une arborescence de fichiers typique d’un système Windows, et tout ceci fait que l’application se croit vraiment tourner sous Windows.

Il existe de nombreuses version de Wine qui cohabitent dans l’écosystème, car chaque logiciel ou jeu pour Windows fonctionnera mieux avec une version précise de Wine. C’est d’ailleurs là où réside une des forces de Lutris : non seulement Lutris sait faire cohabiter plusieurs versions de Wine, mais il les installe automatiquement en cas de besoin et de plus, Lutris sait quelle est la meilleure version de Wine à utiliser avec un jeu donné.

Quake Champions est accessible par le magasin de jeux Steam, il faudra donc que la version Windows de Steam soit installée en préambule comme runner pour Lutris. Qu’à cela ne tienne, ça se fait en quelques clics directement dans l’interface de Lutris. On appelle la fenêtre de gestion des runners en cliquant sur la roue crantée dédiée.

manager les runners

Dans la fenêtre de gestion des runners, on descend jusqu’à trouver la ligne correspond au client Steam pour Windows et on clique sur le bouton installer.

installation runner steam windows

Le reste de l’installation se déroule semi automatiquement.

téléchargement steam windows
Téléchargement automatique de Wine qui prendra en charge le client Steam pour Windows.

Wine exécute automatiquement la procédure d’installation du client Steam Windows, et il est possible qu’il sollicite l’utilisateur pour installer des modules supplémentaires: il suffit de cliquer sur “installer” pour que la procédure se poursuive.

installation wine mono
Wine demande l’autorisation d’installer le paquet wine-mono, qui permet de faire fonctionner les applications écrites en .NET.

 

installation gecko
Requête d’installation du moteur gecko pour permettre l’affichage du code web éventuellement contenu dans les applications. Dans mon cas, cette requête est apparue deux fois.

Le runner Steam pour Windows est prêt une bonne fois pour toute (il n’y aura pas besoin de recommencer son installation à chaque jeu le nécessitant). On va le lancer une première fois pour se connecter à la plateforme Steam avec son identifiant et mot de passe, en cliquant sur le bouton “triangle play” du runner.

premier lancement steam
Premier lancement de Steam pour Windows. Ca sera l’occasion de mettre à jour Steam (automatiquement) et de s’y connecter avec son compte.

 

fin installation Steam windows
Le client Steam pour Windows se met à jour au premier lancement.

L’étape suivante consiste à se rendre sur la page de lutris.net dédiée à Quake Champions, ce qui se fait aisément avec une petite requête sur le moteur de recherche du site.

On remarque que deux runners sont disponibles avec Lutris pour Quake Champions : le runner Steam Windows (celui qu’on va utiliser) et le runner Steam « proton version » (nous en reparlerons plus loin). L’information importante ici, c’est le niveau de qualité d’exécution : Platinium pour les deux runners. Cela signifie que peu importe le runner utilisé pour jouer avec Quake Champions, Lutris nous promet qu’il sera installé et fonctionnera sans aucun accroc. L’installation se prépare après avoir cliqué sur le bouton « install » correspondant au runner désiré.

quake champions lutris.net

Lorsque le navigateur demande avec quel logiciel ouvrir ce type de lien, on lui indique de le faire avec l’application Lutris.

ouvrir avec lutris

A partir de là, la suite des opérations est confiée au runner choisi, ici Steam pour Windows.installation quake champions avec steam pour windows

ajout quake champion Lutris

Tout se passe ensuite comme si le client Steam tournait sous Windows, et on pourra se rendre dans la rubrique téléchargements de celui-ci pour surveiller le téléchargement de notre jeu.

ajout quake champions à la bibliothèque steam
Ajout de Quake Champions à la librairie Steam.

 

création des fichiers locaux du jeu
Préparation des fichiers avant le téléchargement du jeu.

 

téléchargement quake champions
Téléchargement du jeu depuis le client Steam pour Windows.

Une fois le téléchargement terminé, le jeu est installé et apparaît dans notre bibliothèque Lutris.

Autre exemple, autre runner : comment jouer sous Linux à Quake Live

Quake Live est un autre mastodonte du genre FPS rapide orienté arcade, développé par le même studio que Quake Champions.
Un petit tour sur la page qui lui est dédiée sur lutris.net nous montre que lui aussi peut être exécuté par deux runners différents.

quake live sur lutris.net

Mais cette fois-ci, on remarque que l’un d’entre eux est Platinium, alors que l’autre est « seulement » Gold. Le niveau Gold signifie que le jeu fonctionnera parfaitement, au prix de quelques réglages, ce qui n’est pas trop coûteux. Mais puisqu’avec Lutris, nous sommes rentrés dans l’ère du choix et du luxe, nous allons choisir le runner qui propose à priori la meilleure expérience : ici c’est la version native de Steam pour Linux. Ce qui n’est pas sans poser une question somme toute pertinente : pourquoi le Steam pour Linux serait le meilleur runner pour faire tourner Quake Live alors que c’est un jeu pour Windows ?
Et bien parce que le client Steam pour Linux embarque le composant proton, qui permet d’exécuter des jeux Windows sous Linux. En fait, proton est une version particulière de Wine, maintenue par la société Valve, qui développe Steam.

Steam / proton est un runner dont l’installation n’est pas prise en charge par Lutris. Nous allons devoir l’installer nous-même, en préambule. Cela se passe sans douleur.
On se rend sur la page de téléchargement du client Steam, et on récupère le package debian d’installation du client.

téléchargement steam proton
La page de téléchargement du client Steam pour Linux.

enregistrement paquet deb

Après l’avoir téléchargé, il faut l’ouvrir avec un utilitaire capable d’installer des paquets. On fait ça en cliquant avec le bouton droit sur le fichier .deb téléchargé, et en choisissant « ouvrir avec une autre application » dans le menu contextuel.

ouvrir avec

On choisi ensuite l’application « installation de l’application » et on clique sur sélectionner.

installation steam proton

Il suffit ensuite de cliquer sur installer.

installation steam proton

Une fois l’installation terminée, le runner Steam/proton pour Linux est disponible dans Lutris (ne pas hésiter à fermer puis ouvrir de nouveau Lutris pour le faire apparaître).

Proton n’étant pas activé par défaut, il faut se rendre dans les paramètres du client Steam pour Linux, à la rubrique « Steamplay », et cocher les deux cases optionnelles. Ce sera l’occasion de le lancer une première fois et de s’y connecter avec son compte.

lancement du runner steam proton
Premier lancement du client Steam natif Linux.
activation moteur proton
Activation du moteur proton dans les préférences du client Steam pour Linux.

De la même façon que pour le runner Steam pour Windows, l’installation du runner Steam/proton est réalisée une bonne fois pour toutes. On peut à présent passer à l’installation à proprement parler de Quake Live en retournant sur la page Quake Live de lutris.net, et en cliquant sur le bouton « install » correspondant au runner Steam/proton que l’on vient d’installer.

quake live dans lutris.net

La suite de l’installation se passe de façon similaire à l’exemple précédent, et à la fin de l’installation Quake Live est disponible dans notre bibliothèque Lutris.

lutris avec les deux quake
Quake Live est désormais disponible dans notre ludothèque Lutris.

 

quakelive présentation gnome
Quake Live, dans le mode “présentation” de Gnome.

D’autres runners : comment jouer sous Linux à des vieux jeux par exemple

En effet, Lutris sait utiliser d’autres logiciels permettant de faire tourner des jeux en tant que runners. On pourra citer parmi eux de nombreux émulateurs de consoles de toutes générations (à l’exception de la génération actuelle), ou bien encore des émulateurs de vieux PC comme DOSBox. Une nouvelle fois, ces logiciels n’ont pas fondamentalement besoin de Lutris pour faire tourner les applications et jeux pour lesquels ils sont faits, mais Lutris nous simplifie tellement les tâches d’installation, de configuration et de maintenance de tous ces composants que ce serait dommage de s’en passer. Tout ça en plus de tout regrouper dans une seule interface, comme un juke-box de jeux en quelque sorte.

L’ajout de ces runners supplémentaires est simplissime, par l’intermédiaire du panneau de gestion des runners.

day of the tentacle
Le cultissime Day of the Tentacle, tournant grâce au runner DOSBox. Le tout est affiché dans le mode “présentation” de Gnome.

Pas de bug ?

Rien à signaler dans le cadre des applications présentées ici. Les deux quake fonctionnent à la perfection (même si Quake Champions est un peu rude pour les capacités de ma vieille machine…) comme nous le promettait la base de données de lutris.net en qualifiant Platinium ces deux jeux.

Si on prend l’exemple de Rage, qui est un autre jeu id Software que j’aime beaucoup, la base de données Lutris ne lui attribut aucun classement, parce qu’actuellement il ne fonctionne qu’avec les configurations équipées de cartes nvidia ; ce qui est mon cas. Si on est dans cette configuration, le jeu fonctionne alors parfaitement.

Qu’en est-il des performances ?

C’est une question qu’on peut logiquement se poser pour les exemples présentés ci-dessus. Car si on peut s’attendre à bénéficier des performances maximales autorisées par notre matériel pour les jeux fonctionnant nativement sous Linux (rappelons que nous utilisons ici les drivers du constructeur de la puce graphique), on peut légitimement se demander si la couche logicielle (Wine) qui permet la compatibilité avec le jeux Windows ne fait pas baisser les performances.

C’est ce qu’on va tâcher de vérifier ici. Les mesures ayant été faites sur une machine relativement ancienne, il faudra prendre les résultats avec un certain recul.
Pour réaliser ces mesures, les logiciels de benchmark de la société Unigine ont été utilisés : ce sont heaven, valley et superposition. Il ont été choisis car ils sont disponibles nativement sous Windows et sous Linux. Ceci nous autorisera donc à comparer les performances natives Windows et Linux entre elles, ainsi qu’avec les performances de la version Windows tournant sous Linux à travers Wine.

Il conviendra de noter également qu’entre Windows et Linux, les versions du pilote nvidia utilisées, bien que très proches et récentes toutes les deux, ne sont pas strictement identiques (version 445 pour Windows, et 440 pour Linux) ce qui peut altérer légèrement les résultats.
Enfin, les réglages utilisés dans les différents tests n’ont pas vraiment d’intérêt à être exposés ici. Il faut juste savoir qu’ils ont été rigoureusement identiques entre les trois plateformes. Par ailleurs, les benchmarks ont été lancés en utilisant la librairie graphique 3D OpenGL dans tous les cas (cette librairie étant disponible sous Linux aussi bien que sous Windows).

Les résultats sont mesurés en images débitées par l’application à chaque seconde (FPS, ou « frames per seconds »).

résultats benchmarks
Les performances délivrées par notre plateforme de test dans les 3 benchmarks Unigine, sous les trois environnements Linux, Windows et Windows sous Linux via Wine.

On constate en premier lieu que sur deux des trois benchmarks, les performances sous Linux sont en retrait de 17 à 25 % par rapport à  Windows, ce qui est assez conséquent. De manière surprenante, le benchmark superposition, qui est le plus récent, montre quant à lui également une différence bien nette de l’ordre de 15 %, mais cette fois-ci en faveur de la version Linux.

Ces premiers résultats laissent supposer que les versions des benchmarks pour Windows mais exécutés sous Linux à travers Wine seront également en retrait par rapport à leur exécution native sous Windows. Ce qui est effectivement le cas, avec des écarts de respectivement 20 %, 40 % et 5 %. Une première conclusion que l’on peut tirer de ces chiffres, est que suivant l’application et donc suivant le jeu, les différences de performances entre les deux plateformes (natif Windows, ou via Wine) peuvent aussi bien être négligeables (5 % d’écart avec superposition) que très conséquentes (40 % d’écart avec valley).
Une autre conclusion qu’on peut tirer est l’efficacité indiscutable de Wine, qui offre pour certaines applications des performances très proches des performances natives Linux (2 % d’écart pour heaven) mais qui subit des variances importantes quand même pour d’autres (13 % et 22 % pour les deux autres benchmarks).

Pour un travail plus complet, on pourra se référer à cet article dont l’auteur a entreprit de faire le même genre de comparaison Windows / Linux, de manière plus exhaustive. Il a utilisé plusieurs jeux dont le portage a été réalisé sous Linux.

Finalement, est-il toujours compliqué de jouer sous Linux ?

On se rend compte à présent que jouer sous Linux, en particulier à des jeux exclusivement réservés à Windows, n’a jamais été aussi simple qu’aujourd’hui. En effet, Lutris nous promet des installations enfantines, avec un choix automatique de la meilleure version de Wine pour chaque jeu connu pour maximiser nos chances de vivre une bonne expérience. De ce point de vue, on peut dire qu’il n’est plus du tout compliqué de jouer sous Linux.

ma ludothèque Lutris

En revanche, il y aura deux points d’attention à ne pas perdre de vue. Le premier est au niveau des performances. En effet, comme on l’a constaté, l’écart entre les deux plateformes peut être important dans certains cas. Si la machine utilisée pour jouer est correctement dimensionnée pour le jeu visé, ça ne devrait pas poser de problème particulier. Mais si la machine est juste, l’écart de performance éventuel pourra peut-être venir perturber l’expérience de jeu. Le second point d’attention sera la dépendance des périphériques de jeu (clavier, souris…) à d’éventuels pilotes disponibles exclusivement pour Windows, et là, c’est à l’achat qu’il faudra faire attention.

Tux, la mascotte du noyau Linux. (c) Larry Ewing

Julien Roland

Technicien systèmes et réseaux depuis plus de 15 ans, je travaille au sein des infrastructures informatiques d'une entité de plusieurs milliers d'utilisateurs. Convaincu du fait qu'il existe des produits d'excellence à la fois issus du monde propriétaire et du monde open source, j'aime butiner dans les deux. Cependant j'ai une appétence particulière pour les logiciels libres de par leur esprit d'universalité et de partage. Mes contributions passent par le partage et la transmission des mes connaissances et expériences, mais aussi par l'aide et le conseil que je peux apporter autour de moi.

Voir les publications de l'auteur

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.