Linux et les jeux vidéo

Une ancienne légende dit que si on est joueur sur PC il vaut mieux fuir Linux. Si le fondement de cette légende est compréhensible et que c’était encore vrai il y a quelques années ce n’est presque plus le cas aujourd’hui.
la preuve en est voici un screenshoot de mon compte Steam et on peut constater que sur la totalité des jeux 78% fonctionnent sur Linux.

Si on voit aussi des jeux windows only avec lesquels je ne peux pas jouer (car je n'utilise pas du tout cet OS) c'est parce que j'achète presque tout mes jeux avec les humble indie bundle donc parfois dans le lot il y a des jeux windows only.
Ludothèque Steam

Voici un état des lieux, ainsi que quelques rétrospectives.

Les principaux blocages d’antan

Parmi les nombreux blocages qu’a connu le jeu sur Linux, les principaux furent :

La mauvaise qualité ou l’absence de bon drivers 3D / La faible communauté d’utilisateur de Linux

En effet pour jouer à des jeux 3D il faut avoir une carte 3D, et aussi les drivers pour que cette carte puisse fonctionner au maximum de son potentiel. Donc comme à l’époque il y avait peu de joueurs sur Linux les constructeurs de carte 3D ne prenaient pas la peine de s’intéresser à ce marché et ne développait donc pas de drivers. Comme il n’y avait pas de drivers les joueurs ne pouvaient pas jouer et ne migraient donc pas sur Linux.

Ensuite il y eu l’époque où les constructeurs (AMD et Nvidia principalement) commençaient a faire des drivers pour Linux, du côté d’AMD le driver était tellement lent qu’il était presque impossible de jouer à la plus part des jeux, côté Nvidia certaines de leur technologies telles qu’Optimus n’ont jamais été intégrées aux drivers Linux ni même documentées, cela a entrainé une totale impossibilité de jouer correctement aux jeux 3D pour les Linuxiens possédant un PC pourvu de cette technologie. Il a fallu plusieurs années d’efforts de retro ingénierie de la part de la communauté pour créer un driver (Bumblebee) qui fonctionne.

Direct 3D

Depuis 1994 il existe une norme nommée OpenGL établissant un ensemble de fonctions pour le calcul 2D et 3D, mais Microsoft étant devenu leader sur le marché des PC a décidé de créer une technologie propriétaire Direct3D. Comme la large majorité des utilisateurs étaient sur windows les studios de jeux ont utilisés cette technologie, mais comme je l’ai mentionné la techno Direct3D est propriétaire il n’a donc pas été possible de la porter simplement sur Linux, en définitive seuls les jeux qui utilisaient OpenGL pouvaient être migré sur Linux et encore cela demandait un travail non négligeable et comme il n’y avait pas une grosse communauté de joueur ce n’était souvent pas fait.

Tout ceci étant de l’histoire ancienne car depuis plusieurs années les principaux constructeurs de cartes graphiques (AMD et Nvidia) développent des drivers pour Linux. AMD à même fait le choix de librement diffuser les spécifications de leurs processeurs 3D (GPU), cela a permis à la communauté de développeurs de créer un driver libre particulièrement puissant pour Linux.
Dans un futur proche les jeux vidéo 3D utiliseront presque tous la nouvelle norme qui remplace OpenGL et qui se nomme Vulkan (Khronos Group) et qui est multi-plateforme (Mac, windows, Linux, Android) à partir de ce moment le choix de supporter Linux sera un choix plus politique que technique pour les éditeurs de jeux vidéos.

Les précurseurs

Impossible de parler du jeu sur Linux sans parler de John Carmack et de ID Software en effet John étant sensible au mouvement du logiciel libre décide dés 1995 de libérer le moteur de rendu du célèbre Wolfenstein 3D rendant celui-ci portable sur Linux. En 1996 il y eu une fuite du code source de Quake (premier du nom) un hacker en a profité pour porter ce moteur sur Linux. Là où une autre société aurait porté l’affaire en justice ID Software y a vu une opportunité et a utilisé les modifications du hacker pour officiellement proposer une version Linux de ce jeu. Ensuite ce fut les moteurs 3D de Quake2 et Quake3 qui ont été aussi été libérés permettant à des communautés de développeur de créer des jeux entièrement libre, citons les excellents Warsow, Unvanquished, UFO: Alien Invasion. ou encore OpenArena.

Un combat dans OpenArena

Chez les incontournables précurseurs il y a aussi le célèbre Neverwinter Nights de Bioware qui a connu une version native Linux dés Juin 2003.

Quelques sociétés se sont intéressé très tôt à Linux, telles que Feral interactive qui est spécialisé dans le portage des jeux sur Linux (et Mac) ou encore Linux Game Publishing qui porte et publie des jeux pour Linux, sans oublier Loki Entertainment qui elle aussi à œuvré au développement du jeu sur Linux dès la fin des années 1990.

Parmi les personnalité marquantes je citerais Michael Simms qui a donné sont nom au célèbre jeu (nan je déconne) qui a crée en 2000 Tux Games qui évoluera plus tard en Linux Game Publishing cité ci-dessus.

L’alternative Wine

Au début des années 2000 il y avait clairement très peu de gros jeux (en 3D) sur Linux, mais un projet nommé Wine (acronyme récursif : « Wine Is Not an Emulator« ) dont le but est de recoder l’API de windows pour faire fonctionner sur Linux des logiciels windows, commence à suffisamment bien fonctionner pour que l’on puisse utiliser très convenablement des jeux comme Warcraft3, Diablo2, et bien d’autres.

À l’heure actuelle il existe des projets très aboutis pour faire fonctionner des jeux utilisant la technologie DirectX de windows :

  • pour Direct3D 11 il s’agit de dxvk
  • pour Direct3D 12 de Vkd3D
Logo de Wine

De même que le projet FNA qui a permit une ré-implémentation des outils spécifique pour les jeux de Microsoft XNA

Si Wine est un projet vraiment génial certain éditeur l’utilise comme excuse lorsqu’une communauté de joueur demande une version pour Linux : « Notre jeu tourne avec Wine donc utilisez le » sans pour autant contribuer d’une manière ou d’une autre au projet Wine.

Les initiatives communautaires

À une époque Wine était plutôt compliqué à utiliser, de plus certain jeux fonctionnait bien avec une version mais pas avec la suivante, cela rendait l’installation des jeux windows parfois très compliqué. C’est là qu’une communauté a eu l’idée de faire un logiciel nommé PlayOnLinux dont le but était de s’occuper d’installer automatiquement, avec les bons réglages, les bonnes versions de Wine et éventuellement les bons patchs une grande quantité de jeux exclusivement prévus pour windows.

Depuis d’autres initiatives ont vues le jour comme Lutris, GameDataPackager ou encore ./play.it toutes ayant leurs avantages et inconvénients mais comme seul but de pourvoir installer les jeux windows sur Linux.

Les studios indépendants

Avec la monté des studios indépendants (indé) début des années 2010, le jeux sur Linux a pris un véritable essor. En effet Linux devenant de plus en plus facile à utiliser pour les utilisateurs communs (non informaticiens) et les studios de jeux indépendant ne voulant pas se passer d’une clientèle faible en pourcentage mais tout de même conséquente en nombre et motivée à promouvoir les jeux vidéos sur leur OS favori, ils développèrent de très nombreux jeux sont compatibles nativement avec Linux.

Je citerais l’excellent Torchlight II un hack’n’slash de Runic Games avec lequel moi et des potes nous faisons des LAN depuis pas mal d’années.

Screen shoot d’une LAN sur TorchLight II

Citons aussi la société FrozenBytes qui dés 2005 développe ShadowGrounds puis de 2009 à 2015 a réalisé l’excellente et magnifique trilogie Trine (le quatrième opus est actuellement en développement) disponibles nativement sur Linux.

Parmi les personnalités du monde du jeu indépendant je ne me permettrais pas d’oublier Edmund McMillen à qui on doit entre autre Super Meat Boy jeu de plateforme au gameplay tout juste excellent, et The Binding of Isaac un rogue like à l’ambiance unique (même si la première version de Binding of Isaac sur Linux était en flash et donc presque injouable tant elle était lente).

La grande force des éditeurs (studios) indépendants, c’est qu’ils n’ont pas ou peu de contraintes de financiers, gestionnaires et autres décideurs n’ayant pas l’esprit d’originalité mais seulement un point de vue mercantile.

2 modes de création de jeux vidéos

Dans l’image précédente la partie « Développer un jeu vidéo avant » est ce que l’on retrouve dans l’esprit des studios indé et la partie dessous est ce qu’il se passe chez les gros éditeurs 😃.
Grâce à cet état d’esprit indépendant nous voyons sortir de véritables pépites, Limbo de Playdead, Braid de Jonathan Blow, World Of Goo de 2D Boy, Fez de Polytron Corporation, Bastion de Supergiant Games, Amnesia de  Frictional Games, Hotline Miami de Dennaton Games, Don’t Starve de Klei Entertainment. Je vais m’arrêter là mais il y en a tellement et ça n’est pas près de s’arrêter, grâce à l’avènement d’internet et la puissance des ordinateurs actuels il est beaucoup moins coûteux qu’avant de créer et de distribuer des œuvres comme les jeux vidéos, et comme l’industrie du jeu vidéo est l’une des plus lucrative nous pouvons imaginer que beaucoup de studio indépendants vont se créer, et que ceux existants vont prospérer.

Les jeux communautaires

Linux est depuis presque toujours une plateforme de prédilection pour les programmeurs et autres amateurs d’informatique et liberté. Il est donc naturel qu’avec l’arrivée massive d’Internet au début des années 2000 des communautés de passionnés se soient réunis autour de projet de création ou de reprise de jeux vidéos au code source libre.

0AD Magnifique jeu qui a débuté comme mod du célèbre Age of Empires II: The Age of Kings avant de devenir un jeu à part entière, son but est d’offrir un jeu de stratégie en temps réel avec pour objectif d’allier aussi étroitement que possible l’exactitude historique des civilisations antiques.

Les Bretons dans 0AD

Ryzom un MMORPG crée début des années 2000 qui a connu bien des aventure en tant que jeu propriétaire avant de devenir libre et de continuer sa vie encore de nos jours.

Flare un jeu de type Diablo like entièrement libre et communautaire.

Certain jeux ont commencé leur vie en tant que freeware pour ensuite être libérés c’est le cas de Jump ‘n Bump un jeu au gameplay plutôt sympathique.

La communauté Linux est particulièrement attachée à certain jeu car ils sont particulièrement réussi et existent depuis longtemps tout en continuant d’évoluer. On ne peut pas passer à côté du légendaire The Battle for Wesnoth un jeu de stratégie au tour par tour qui fait référence mais chez ses concurrents commerciaux. Des noms qui reviennent très souvent hedgewars (clone de Worms), Pingus (clone de Lemmings), Supertux (clone de SuperMario), Lincity (clone de Simcity), Tux Racer, Teeworlds, Super Tux Kart (clone de Mario Kart), MineCraft, ou encore le rogue-like Tales of Maj’Eyal qui a connu plusieurs noms au cours de sa vie.

Quelques sites comme icculus.org ou encore onpon4 proposent des listes de jeux ou projet de jeux libres.

Bien entendu il existe une liste colossale de jeux communautaires plus ou moins aboutis tournant sur Linux.

Les moteurs de jeux communautaires

Il existe aussi certain projets originaux comme OpenMW dont le but est la ré écriture du moteur 3D du RPG de légende Morrowind, même si il faut le jeu original pour avoir les assets (modèle 3D, cartes, sons, images, …) le jeu est maintenant jouable sur Linux et grâce à la force de l’opensource le nouveau moteur corrige des bugs, ajoute des fonctionnalités et améliore les graphismes du jeu d’origine, tout en lui donnant une seconde vie.

La ré écriture de moteurs de jeux n’est pas une nouveauté, un projet nommé GemRB dont le but était de faire un équivalent libre au moteur de Bioware l’Infinity Engine et ainsi pouvoir faire tourner sur Linux des perles du jeu vidéo comme Baldur’s Gate II: Shadows of Amn , Planescape: Torment et bien d’autres.

Certains moteur Libres comme OGRE arrivent à une telle maturité qu’ils ont été utilisé dans des jeux commerciaux tel que TorchLight (cité plus haut). À présent il existe bon nombre d’initiatives de ce type, je citerais Godot car je trouve que ce projet est particulièrement abouti.

Steam sur Linux

Clairement le gros coup de canon dans le monde du jeu Linux fût l’arrivée du client Steam.

En effet Steam, l’une des plus grande plateforme de jeu dématérialisé a fait son entrée sur Linux début 2013. De plus Valve la société qui a crée Steam développe SteamOS un système d’exploitation dédié au jeu et basé sur Linux. C’est donc  dans son intérêt qu’il existe un maximum de jeux afin que SteamOS ait du succès.

Je ne peux qu’applaudir Valve qui fait partie des gros éditeurs qui font clairement un effort pour rendre compatible les jeux sur Linux, en commençant par les leurs, en effet à part Left for dead (premier du nom) je crois que tous leurs jeux tournent sur Linux. Si vous saviez ce que j’ai pu être content quand j’ai appris que j’allais pouvoir jouer à Portal sur mon PC \o/. Rendu officielle l’an dernier une couche de compatibilité nommée Steam Play vise à rendre transparent l’utilisation de n’importe quel jeu steam sur n’importe quelle OS, que ce soit Mac, windows ou Linux. Par ailleurs Steam Play utilise une version maison de Wine nommée Proton

Menu de SteamOS

Du côté des autres plateforme de vente de jeux en ligne soulignons GOG (Good Old Game) ou encore itch.io (cette dernière est plus dans l’esprit underground) qui proposent eux aussi un nombre grandissant de jeux pour Linux.

Le rétro-gaming

Voici un sujet qui mériterait un article entier à lui tout seul 😃 car l’émulation de consoles ou de systèmes anciens (comme le DOS avec DOSBox ou encore ScummVM) fonctionnent particulièrement bien sur Linux, on trouve à présent des projets très important regroupant un grand nombre d’émulateurs j’aime bien Retropie pour l’avoir beaucoup testé sur mon Raspberry Pi, mais Recalbox a aussi d’excellent retours. Dans le monde de l’émulation nous nous retrouvons avec des dizaines voir même des centaines de milliers de jeux potentiellement accessible sur Linux (notons que la plus part d’entre eux sont encore soumis au droit d’auteur il faut donc posséder les originaux).

Le menu de Retropie

Les zones d’ombres

Comme cité plus haut il existe encore des studios qui ne développent pas de version de leur jeux pour Linux, et souvent ce sont des gros éditeurs qui existaient avant que ce système devienne populaire. Prenons comme exemple Blizzard  dont un porte parole a expliqué la raison de l’absence de version Linux de leurs jeux pour cause d’une trop petite communauté.

Les développeur qui maîtrisent mal Linux car ils n’ont pas été formés à certains concepts, utilisent des techniques et/ou des outils qui sont spécifiques à un système d’exploitation au lieu d’être plus générique, cela implique au final une grande quantité de bugs sur Linux, faisant passer ce système pour un nid à ennuis et donc décourageant d’autant les éditeurs à poursuivre leur effort de compatibilité.

Concernant les maisons d’édition qui continuent à faire des produits Windows Only, mon attitude est simplissime : je les boycotte !

Conclusion

Je vais faire une conclusion très personnelle, car en lisant l’article vous aurez compris que pour les gamers « fashion addict » qui sont à fond sur les derniers blockbuster avec des graphismes nécessitant une carte graphique à 500€, Linux n’est pas envisageable. Par contre pour ceux qui aime avant tout l’humour, le gameplay, l’originalité et l’esprit dans les jeux vidéos, ce public là peut passer sur Linux sans problèmes.

Le monde du jeux s’avance néanmoins vers plus de standardisation, avec l’arrivée massive des ordiphones et autres appareils comme les consoles utilisant des architectures matérielles diverses il n’est plus intéressant de réinventer la roue comme le fît microsoft avec DirectX. Maintenant certains éditeurs concevront leur moteur de jeu en utilisant vulkan, d’autres utiliseront directement des outils tels que Unity3D qui présente l’avantage de pouvoir concevoir des jeux qui fonctionneront directement sur un très grand nombre de plateforme (25 à l’heure ou j’écris ces lignes).

Très récemment c’est Google qui s’y met lui aussi avec Stadia qui utilisera dans ses serveurs les technologies Linux, Vulkan ainsi que des cartes graphiques AMD, même si cette offre est dans le Cloud il n’en reste pas moins que les jeux devront être compatibles autant que possible pour Linux. Notons aussi une initiative Française : Shadow dont l’idée est de louer un PC puissant dans le cloud et pouvoir installer dessus ses jeux et y jouer en streaming depuis presque n’importe quel appareil connecté à Internet.

Cela laisse présager de beaux jours pour le jeu sur l’OS au manchot

Quake Tux

 

Olivier Munier

Depuis ma plus tendre enfance j'ai toujours été attiré par les domaines techniques et les appareils électroniques. Très vite je me suis intéressé à l'informatique et j'ai eu mon premier PC en 1992. Au début des années 2000, j'ai découvert Linux et le monde des logiciels libres et open source. Assez vite j'ai décidé de me spécialiser sur ce vaste monde afin de devenir un expert. Titulaire d'un master en Informatique, mes compétences couvrent un très large éventail, notamment l'administration système et réseau Linux, la virtualisation et la programmation C, Shell et surtout Python. Sur ce site je partage mes connaissances, réalisations et avis sur tout un tas de domaines mais particulièrement l'informatique, l'électronique et la geekitude.

12 pensées sur “Linux et les jeux vidéo

  • 29 avril 2019 à 16 h 37 min
    Permalink

    Merci pour l’article. Il manque cependant un chapitre sur les portages de jeux commerciaux par des entitiés comme Loki Games (qui a notamment créé un installeur), icculus ou encore Linux Game Publishing. Ils ont, pour moi, eu une contribution importante, car il ont permis de constituer une liste de jeux commerciaux jouablent sous Linux alors que l’on partait de zéro.

    Répondre
    • 29 avril 2019 à 20 h 43 min
      Permalink

      Informations très intéressantes, je vais creuser et sûrement les ajouter dans l’article. Merci !

      Répondre
  • 30 avril 2019 à 12 h 26 min
    Permalink

    Dommage, pas de mention pour Shadow, la boite Française qui a levé XX millions €€ !
    Certes, il y a des contraintes (prix, débit minimum) mais ça reste une alternative très viable (que j’utilise depuis 3 mois) et qui permet d’avoir un PC boosté dans le cloud !
    https://blog.ariase.com/box/dossiers/shadow-pc-cloud-gaming

    Répondre
    • 30 avril 2019 à 20 h 33 min
      Permalink

      Ah je ne connaissais pas, encore une évolution du jeu vidéo vers le nuage … Mais cela mérite d’être cité. Merci

      Répondre
  • 30 avril 2019 à 17 h 09 min
    Permalink

    Pour ce qui est de Wine dans les années 2000, pour faire tourner Diablo II par exemple, il était nécessaire d’utiliser une version payante et propriétaire nommée Cedega : https://fr.wikipedia.org/wiki/Cedega

    Et je tiens à rappeler aussi que dès les années 2000 on avait de très bon jeux, existant en versions natives, publiés par de prestigieux studios, comme « Neverwinter Nights » par Bioware, publié sous la marque Atari par Infogrames : https://fr.wikipedia.org/wiki/Neverwinter_Nights

    Je plussois l’ajout de l’aventure Loki Entertainment Software qui nous a quand même permis de jouer à des best-sellers commes Tribes II (Starsiege), Heroes of might and magic, Rune, Simcity 3000 etc… : https://fr.wikipedia.org/wiki/Loki_Entertainment_Software

    Répondre
    • 30 avril 2019 à 20 h 30 min
      Permalink

      Merci pour ces informations je les ajouterais dans l’article car l’absence de « Neverwinter Nights » et « Loki Entertainment Software » est anormale, surtout que j’ai beaucoup joué à Neverwinter Nights et Rune.

      Répondre
  • 1 mai 2019 à 9 h 04 min
    Permalink

    petite correction …

    « communautés de passionnés ce soit réunis  » => « communautés de passionnés se soient réunis  »

    Merci pour l’article.

    Eric

    Répondre
  • 2 mai 2019 à 10 h 49 min
    Permalink

    Merci pour l’article, intéressant. Je retourne à SuperTuxKart ! 😉
    2 petites corrections :
    il faut mieux fuir Linux => Il vaut mieux fuir Linux
    de l’abcence de version Linux => de l’absence de version Linux

    Répondre
  • 2 mai 2019 à 20 h 17 min
    Permalink

    Très bon article 😉 Dommage de ne pas parler de Feral interactive qui est spécialisé dans le portage des jeux sur Linux (et Mac), à qui l’on doit les excellents Xcom et Tomb Raider, sans oublier Dirt 4, Civilization et j’en passe. Des jeux triple A, on en trouve aussi sous Linux. Je m’éclate à dégommer du zombies avec Dying light.
    Avant je démarrais sur ma partition Window$, maintenant avec Proton, ça doit faire 1 an que je ne l’ai plus lancé 😀

    Répondre
    • 2 mai 2019 à 21 h 50 min
      Permalink

      Remarques pertinentes Merci, j’ajouterais ces informations en faisant une mise à jour dans quelques temps.

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *