Les jeux-vidéos et Linux peuvent-ils cohabiter ?

Le marché du jeu-video accroît considérablement de jour en jour et le système d'exploitation Windows prend une place prépoderante dans ce marché. Cependant, on peut entendre régulièrement l'idée reçue selon laquelle le jeu-vidéo ne serait pas un terrain d'entente sur Linux. Mais qu'en-est-il réellement ?
Dans cet article, je vais vous montrer par différents moyens, technologies que Linux peut largement avoir sa place dans le monde du jeu-vidéo.
Préambule
Pour commencer, il faut savoir que l'on peut noter 3 cas possibles:
1 - Le jeu fonctionne nativement
On a ici un jeu qui est 100% compatible avec une distribution Linux et on a très rarement des problèmes car les développeurs ont fait le choix de développer également leur jeu sur la plateforme Linux.
2 - Le jeu fonctionne, mais pas nativement
Le jeu ne peut fonctionner sans utiliser une des technologies qui seront mentionnés dans cet article.
3 - Le jeu ne fonctionne pas
Il est possible que le jeu ne puisse absolument pas tourner sur la machine (même avec les technologies mentionnés), pour causes diverses: le matériel, les pilotes, la distribution linux, etc...
Ici on va surtout s'attarder sur le deuxième cas. Pour montrer l'étendue de possibilités qu'offre Linux en matière d'expérience utilisateur dans le domaine du jeu vidéo.
A - Jeux natifs
Même dans la liste des jeux complètement natifs, on peut retrouver plusieurs jeux. La catalogue n'est pas pour autant faible et on offre généralement 2 solutions possibles pour les jeux natifs.
Steam, un client Linux natif
On ne présente plus ce géant du jeu-vidéo, en effet Steam est un client natif sur Linux et possède un grand catalogue de jeux-vidéos sur lequel Linux ne s'en prive pas.
On peut rencontrer certains jeux natifs dans le catalogue Steam, comme par exemple: Counter-Strike Global Offensive, PAYDAY 2, etc...
Pour reconnaître un jeu natif parmi tous les jeux sur Steam, on regarde dans la configuration requise du jeu.
On peut remarquer que l'onglet SteamOS + Linux est disponible, ce qui signifie que le développeur a decidé de rendre compatible son jeu nativement sur Linux. Donc le jeu est directement disponible sans manipulations particulières.
Des jeux libres
On peut également retrouver des jeux natifs qui sont sous licence GPL, donc plus concrètement des jeux libres. Ces jeux peuvent s'installer depuis le gestionnaire de paquets de la distribution utilisé (ou compilé à la main). Par exemple: SuperTuxKart.
C'est un jeu de course en 3D inspiré de Mario Kart et qui est sous licence GPL.
B - Jeux non-natifs
La majorité des jeux sur Linux ne sont pas natifs, et pour rémédier à cela on a plusieurs technologies à disposition.
PlayOnLinux
PlayOnLinux est un logiciel qui permet d'éxecuter des applications (notamment des jeux) qui sont disponibles uniquement sur Windows. Pour cela il se base sur wine.
Lien: PlayOnLinux
Wine
Ce dernier est un logiciel qui permet d'éxecuter des programmes Windows sur Linux, ce n'est aucunement un émulateur, il implémente l'api de Windows (win32), qui permet de communiquer facilement sur les systèmes d'exploitation Windows. L'inconvénient de wine c'est qu'il peut parfois ralentir certains programmes.
Lien: Wine
Valve Proton
Valve à développé une technologie appelé Proton qui permet d'éxecuter des jeux (conçu uniquement sur Windows) sur Linux, c'est un fork de wine et il integré directement dans Steam.
Comment l'activer
Sur Steam, on accède aux paramètres en cliquant sur "Steam" sur le menu tout en haut de Steam puis "Paramètres", puis on clique sur Steam Play et on coche les 2 cases qu'on peut voir sur l'image ci-dessous.
Voci, un exemple de jeu (disponible uniquement sur Windows) qu'on peut parfaitement tourner sur Linux: Among Us
Distribution Linux: Linux Mint 20 Ulyana
ProtonDB
Si vous souhaitez savoir si un jeu fonctionne correctement avec la technologie Proton, il existe un site non officiel qui recueille une grande liste de jeux et permet de savoir également le niveau compatibilité sur tel distribution en fonction des avis des internautes.
Lien: ProtonDB
Certains jeux tournent si bien avec Proton qu'on peut presque les qualifier de jeux natifs.
Lutris
La solution ultime est Lutris, c'est une plateforme qui va réunir les jeux natifs, ou pas, provenant de différents cliens (Steam,Epic Games Store,Uplay,Origin,etc...). Pour les jeux non-natifs il se base principalement sur wine, mais des jeux fonctionnant sur des émulateurs sont pris en compte également. Ce qui fait une panoplie de jeux disponibles.
On peut ajouter des jeux ou clients (comme Steam) dans notre propre bibliothèque sur le site officiel de lutris.
C - Aller plus loin
DirectX est une api graphique qui n'est pas supporté sur Linux, cependant son grand concurrent Vulkan est compatible sur Linux, et si vous souhaitez aller plus loin dans l'exploration des jeux sur linux. Je vous propose ce repos github (dxvk).
Groissièrement, ce repos permet de traduire les couches DirectX d'un programme (un jeu 3D) en couche Vulkan afin de les rendre compatible sur Linux.
Vous pouvez vous renseigner davantage ici:
https://www.reddit.com/r/linux_gaming/comments/edaq0s/guide_migrating_to_linux_in_2020/
Pour conclure, on peut dire que les jeux-vidéos et linux sont bel et bien compatibles, et des solutions ce n'est pas ce qui manque sur Linux.