Contenu | Rechercher | Menus

Émulation vidéoludique

L'émulation permet de simuler un matériel nécessaire à l'exécution d'applications prévue pour d'autres architectures matérielles.

Concrètement, il s'agit de faire fonctionner sur votre ordinateur des programmes prévus pour d'autres types de machines : par exemples, des jeux pour Nintendo64 sur un PC sous GNU/Linux.

Cette page vous présente l'émulation appliquée au jeu vidéo en général. Il existe trois principales pages traitant du sujet de manière plus spécifique, qui sont :

Introduction

L'émulation est réalisée à l'aide d'un logiciel, appelé émulateur, qui va permettre de traduire les instructions prévue pour l'architecture émulée en leur équivalent dans l'architecture physique de la machine utilisée.

Ainsi, de manière élémentaire, pour faire fonctionner un programme sous une autre architecture que celle d'origine, il suffit d'installer un logiciel émulateur et de lancer le programme souhaité.

Légalité

  • La légalité des émulateurs est établie dans la plupart des cas. Dans certains pays, comme aux USA, des jugements ont permis d'établir formellement la légalité de ces programmes, notamment beaucoup de cas où les programmes émulés ont été acquis légalement.
  • Le téléchargement et l'utilisation de BIOS sont bien souvent illégaux.
  • L'utilisation de ROM (fichiers binaires contenant des jeux de console) est autorisée dans certains pays au titre de la copie de privée (ce qui suppose que vous avez acheté le jeu).
  • Dans l'ensemble, le téléchargement de ROM est interdit, bien que parfois toléré par quelques rares éditeurs.

Difficultés

  • Un émulateur n'est pas toujours capable de faire fonctionner tous les logiciels d'une architecture. Il est parfois nécessaire de configurer l'émulateur, ce qui peut se révéler techniquement difficile pour un débutant.
  • Les émulateurs sont faits par des passionnés : les mises à jour peuvent être très espacées et le développement de certains émulateurs présentés ici est parfois plus ou moins abandonné. Mais d'anciens émulateurs peuvent toujours fonctionner très bien et il n'est pas rare qu'un émulateur abandonné soit redéveloppé des années plus tard par d'autres personnes.
  • Tous les émulateurs ne demandent pas les mêmes ressources. L'émulation d'une Game Boy n'est pas trop gourmande, mais celle d'une GameCube demande une bonne configuration.

L'ancienneté d'une machine ne signifie pas que les ressources demandées soient faibles. Si l'émulateur est extrêmement précis, une configuration solide peut être nécessaire (exemple : Higan pour la SNES).

Il reste que certains émulateurs sont d'emblée fonctionnels, aussi est-il parfaitement possible de disposer de milliers de jeux rapidement et sans soucis. Ce qu'il faut garder à l'esprit, c'est que pour certains ordinateurs et certaines consoles, vous n'aurez aucun problème, alors que pour d'autres cela peut demander du temps et parfois n'aboutir à rien.

Ce qu'il vous faut

Pour émuler une autre architecture et faire tourner des programmes, il vous faudra au minimum :

  • un émulateur ; la liste des émulateurs fonctionnant sous Ubuntu est donnée ci-dessous. La plupart du temps, ces émulateurs sont libres.
  • parfois un BIOS, comme pour l'Amiga. En général, les BIOS sont sous copyright, ce qui fait que nous ne donnerons ici pas de lien pour s'en procurer. Mais cela ne concerne pas toutes les architectures et ne vous empêchera donc pas d'émuler un grand nombre d'ordinateurs et de consoles.
  • des jeux, sous la forme de fichiers appelés « roms », qu'il suffit généralement d'ouvrir dans l'émulateur. Ces jeux étant eux-aussi souvent sous copyright, nous ne donnerons ici aucun lien.

Dépôts et dépendances utiles

Dépôts utiles

Assurez vous d'avoir activé les dépôts Multiverse et/ou Universe car certains émulateurs y sont disponibles.

Des dépôts avec des versions plus récentes de certains émulateurs vous seront parfois proposés.

L'ajout de dépôts externes peut entraîner l'instabilité de votre système. Vous les utilisez à vos risques et périls.

Compilation

Si l'émulateur n'est disponible qu'en sources ou binaires, veuillez bien lire la documentation (FAQ, Readme, Install) pour savoir quelles sont les dépendances à installer.

Parmi les dépendances les plus communes en cas de compilation : libpng, zlib, build-essential, nasm, libgtk2.0 ou libgtk1.2, libsdl, libasound2 libasound2-dev libegl1-mesa-dev libgles2-mesa-dev cmake qtbase5-dev qtmultimedia5-dev libqt5opengl5-dev libopenal-dev libsdl2-dev

Éléments de configuration

Les émulateurs de jeux partagent certaines configurations, mais certains sont plus configurables que d'autres ou possèdent des paramètres spécifiques. Nous indiquons ici quelques éléments de configuration de base à connaître pour s'y retrouver à peu près dans l'utilisation de n'importe quel émulateur.

  • Lancer un jeu : dans bon nombre de cas, cliquez sur fichier en haut à gauche, puis open rom, open rom image, open, ou disk, etc. À noter que de nombreux émulateurs de machines les plus anciennes (jusqu'à la Nintendo 64) prennent en charge les roms compressés (au format .zip en général).
  • Arrêter un jeu sans arrêter l'émulateur : Fichier → Close.
  • Paramètres vidéo : préférences, display ou vidéo.
  • Modifier la « pixellisation » : dans les paramètres vidéo, cherchez Filtres, Appliquer un filtre ou Filter, et essayez les différents filtres proposés pour lisser l'image. Certains émulateurs permettent de combiner lissage et scanlines (fines lignes horizontales atténuant le crènelage)
  • Taille de la fenêtre : option scale ou changer la taille (1x, 2x, 2x, etc).
  • Résolution interne : Très intéressante pour la 3D (donc à partir de la Playstation, Saturn, Nintendo 64, Nintendo DS, etc) : cette option augmente réellement la résolution de l'image, puisque tous les éléments en 3D sont recalculés avec en autres une meilleure finesse. Les résultats pour des jeux PSP ou Nintendo DS peuvent être spectaculaires, mais cela demande un ordinateur très performant.
  • Améliorer la vitesse : Dans quelques cas (Yabause et d'autres), on peut essayer d'activer l'option Dynamic Recompiler, mais quelques jeux peuvent ne pas la supporter. Plus basiquement, l'option Frameskip permet de diminuer le nombre d'images de l'animation. Il est souvent déterminé automatiquement par l'émulateur, mais si un jeu s'avère un peu poussif, définir Frameskip à 2 peut résoudre le problème sans diminuer sensiblement la qualité de l'affichage. Un saut d'images plus élevé dégrade en général beaucoup trop le jeu. À noter que si la vitesse est au contraire trop importante, cette option Frame Limiter peut arranger les choses.
  • Mettre en pause quand vous n'utilisez pas l'émulateur : Pause when inactive, Mettre en pause quand l'émulateur n'a pas le focus.
  • Définir les touches du clavier : pas toujours facile à trouver, cherchez Pad, Configure pad, Joypad.

Bien que généralement optionnelle, une accélération 3D fonctionnelle est conseillée.

Les manettes de jeu (joysticks) sont automatiquement reconnues et accessibles via /dev/js0 pour le premier joueur, /dev/js1 pour le second joueur, etc. et la plupart des émulateurs les prennent en charge, certains permettent même de les configurer de façon précise.

Différents choix d'émulation

Pour les machines anciennes et obscures (les ordinateurs comme les consoles), pensez à consulter la liste d'émulation de MAME1).

Émulation d'anciens ordinateurs

Page dédiée : Émulateurs ordinateurs - Documentation sur l'émulation des ordinateurs :

Amstrad CPC, Amiga, Apple, Atari-8bit, Atari ST, BBC Micro, Camputers Lynx, Commodore, PC (DOS), Jupiter Ace, MSX, Oric, ScummVM et ResidualVM, Thomson MO5, TO7, ZX Spectrum.

Pour les plus connus :

  • Amiga : Demande une configuration préalable (kickstar) et configuration requise pour certains jeux. Fonctionne très bien à part ça.
  • Amstrad : Fonctionnement immédiat pour certains émulateurs. Émulateurs manquant de finitions, options de configuration insuffisantes.
  • Atari ST : Demande un peu de configuration, mais fonctionne bien.
  • Commodore 64 : Aucune difficulté.

Des jeux sur bornes d'Arcade

donkey_kong_arcade.jpg

  • MAME - Documentation sur MAME, l'émulateur de bornes d'arcade. Très utile également pour les consoles et les ordinateurs plus ou moins oubliés.
  • Final Burn Alpha, disponible pour Linux par Retroarch
  • Laserdisc : Daphne : Site officiel
  • Sega Model 3 : Supermodel

Jeux sur consoles

Page dédiée : Émulateurs console - Documentation sur l'émulation des consoles de jeux sous Ubuntu : Megadrive, SuperNES, NeoGeo, Nintendo64, Gameboy, Playstation 1 et 2, GameCube, Wii etc.

  • Installation simple et fonctionnement sans problème pour : Game Boy, NES, Super NES, Master System, Megadrive, Nintendo DS, PSP.
  • Plus difficile à faire fonctionner, mais bonne compatibilité : Playstation 1 (exige bios et plugins), PC-Engine, Nintendo 64 (plugins à configurer), Saturn, GameCube, Wii, Playstation 2.
  • Fonctionnement partiel ou faible : Dreamcast (reicast, installation assez technique, compatibilité moyenne).

Jeux et applications Windows

  • Wine : vous permettra de faire fonctionner un assez grand nombre de jeux et d'applications. Pensez à essayer avec Wine des émulateurs disponibles uniquement sous Windows : certains (dont quelques exemples sont donnés dans la documentation) fonctionnent très bien.
  • PlayOnLinux - Installez des jeux Windows de manière automatisée.

Gestionnaires d'émulateurs et interfaces graphiques

Il est en théorie possible d'unifier l'utilisation de tous les émulateurs grâce à des interfaces graphiques simplifiant le catalogage et le lancement des jeux pour toutes les machines. Dans la pratique, l'installation et la configuration de ces interfaces sont parfois extrêmement techniques et très peu accessibles.

  • GNOME Jeux : l'application du projet Gnome proposant une interface facile d'accès pour les jeux natifs du système mais aussi pour un très grand nombre d'architecture émulées.
  • EmulationStation : projet abandonné. Il reste possible de compiler pour Ubuntu la version mise à jour et francisée pour RecalBox : GitHub ou celle pour RetroPie qui propose en outre de nombreux thèmes. On en trouve aussi un fork en développement : https://github.com/Herdinger/EmulationStation.
  • Mala
  • jGameBase (site), exige java, peu ergonomique.
  • Kodi (un media center disponible sur Linux) avec l'add-on Rom Collection Browser disponible pour beaucoup de plateformes différentes. En anglais et souvent bugué.
  • RetroArch, GUI de Libretro (avec une meilleure interface en cours de développement : Phoenix).
  • RetroFE : à compiler, configuration assez technique mais claire. Un avantage appréciable est que l'on peut reprendre assez facilement les médias (images, vidéos) d'HyperSpin.

Certains ne sont plus développés:

  • Gelide (site) (getdeb), ne semble plus développé.
  • kamefu (plus développé depuis des années)

Autres utilitaires

Distributions dédiées à l'émulation

Actualités de l'émulation

  • Emu-France : Toute l'actualité sur les émulateurs.
  • Forum Reddit : Discussions autour de l'actualité de l'émulation (en anglais).
  • EmuGen : Compilation d'informations sur l'émulation.

Voir aussi


Contributeurs : francisscot, …



Le contenu de ce wiki est sous licence : CC BY-SA v3.0