Un PC dedié à l’émulation sous GNU/Linux

Voici comment et avec quoi j’ai réalisé une machine dédiée à l’émulation de jeux sous GNU/Linux.

Sommaire :

  1. Cahier des charges
  2. Le PC
  3. Programmes et tâches
  4. Cabrio
  5. Qjoypad
  6. Les émulateurs

Cahier des charges :

  • Démarrage automatique jusque dans l’interface graphique
  • Pas de souris, ni de clavier
  • L’écran est une TV LED 105cm 1080p
  • Silence du PC
  • Une distribution avec un large choix de paquets et en 32-bits pour une meilleure compatibilité des émulateurs
  • Architecture de la distribution figer et stable afin d’éviter la casse des paquets avec des mises à jour de librairie hasardeuse
  • Les jeux seront accessibles sur le réseaux local via un NAS
  • Connexion internet obligatoire, ce PC abritant de multiple serveur (apache, son, mumble…)
  • Émulation obligatoire des architectures : NES, Super Nintendo, Megadrive, Arcade, Playstation

Le PC :

  • Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz
  • 6 GB DDR2
  • ATA Maxtor 6Y160P0
  • Radeon HD 6450 1GB Passive
  • Logitech RumblePad 2 USB

Programmes et tâches :

Programmes Taches Descriptions / Liens
Xubuntu 12.04 OS GNU/Linux http://fr.wikipedia.org/wiki/Xubuntu
fluxbox Gestionnaire de fenêtres http://fr.wikipedia.org/wiki/Fluxbox
cabrio Front end special emulation Cabrio est un menu léger en ressource qui permet de choisir ses jeux de manière intuitive via une manette, il se configure aisement via des fichiers XML.
qjoypad Programmer des touches clavier sur une manette de jeu Permet de lancer et fermer les émulateurs et le front end d’émulation sans clavier/souris et aussi sans acheter de télécommande/clavier bluetooth.
pcsxr Émulateur SONY Playstation PCSX-Reloaded est un fork de PCSX-df 1.9, avec le support de Windows, GNU/Linux et Mac OS X ainsi que de nombreuses corrections de bugs et améliorations.
mame Émulateur de multiple borne d’arcade http://fr.wikipedia.org/wiki/MAME
zsnes Émulateur de Super Nintendo http://fr.wikipedia.org/wiki/Zsnes
Kega Fusion (fusion) Émulateur SEGA Megadrive (Kega Fusion) Kega Fusion est un émulateur Sega Mega Drive / Genesis. Il émule également le Mega CD, Sega 32X, Sega Game Gear, Sega Master System, SG-1000 et SC-3000.
nestopia Émulateur NES Nestopia est un émulateur libre de NES/Famicom écrit en C++. Il est conçu pour émuler le matériel aussi précisément que possible, sans utiliser aucune astuce d’émulation.
La distribution que j’ai choisi est une Xubuntu 12.04, en effet Ubuntu est bien connu pour son large choix de paquet. Aussi son système de parution est figé ce qui interdit les mises à jour de fonctionnalité et enfin la 12.04 est une LTS ce qui permet les mises à jour de sécurité pendant 5 ans.
Certain des émulateurs choisit ne sont pas les meilleurs en terme de performance ou de jeux supporter mais ceux-ci s’intégrent mieux dans l’architecture fluxbox+cabrio+qjoypad. Cette machine est stable depuis plusieurs mois.
Maintenant passons aux configurations et/ou installations de toute ces choses.

Cabrio :

Ce front end n’est pas présent sous ubuntu il nous faut télécharger les sources et compiler.
~$ sudo apt-get install gcc make libc6-dev libavcodec-dev libavutil-dev  libavformat-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-gfx1.2-dev  libsdl-mixer1.2-dev libsdl-ttf2.0-dev libswscale-dev libxml2-dev zlib1g-dev
<span style="color: #222222; font-family: monospace, serif; font-size: 0.85em; letter-spacing: 1px; white-space: nowrap;">~$</span> git clone https://github.com/SteveMaddison/cabrio
<span style="color: #222222; font-family: monospace, serif; font-size: 0.85em; letter-spacing: 1px; white-space: nowrap;">~$</span> cd cabrio
<span style="color: #222222; font-family: monospace, serif; font-size: 0.85em; letter-spacing: 1px; white-space: nowrap;">~$</span> make
<span style="color: #222222; font-family: monospace, serif; font-size: 0.85em; letter-spacing: 1px; white-space: nowrap;">~$</span><span style="color: #222222; font-family: monospace, serif; font-size: 0.85em; letter-spacing: 1px; white-space: nowrap;"> sudo </span>make install
Configuration de cabrio (XML) :
~$ nano -w .cabrio/config.xml
  • Section émulateurs (exemple avec l’émulateur pcsx)
<emulators>
<emulator>
          <name>pcsx</name>                   #NOM
          <display-name>pcsx</display-name>   #NOM AFFICHER 
          <executable>pcsx</executable>       #NOM DE L'EXÉCUTABLE (COMMANDE) 
          <params>
          <param><name>-cdfile</name></param> #OPTION DE LA COMMANDE 2
          <param><name>-nogui</name></param>  #OPTION DE LA COMMANDE 1
          </params>
</emulator>
</emulators>

 

  • Section jeux (exemple avec le jeu Sonic 2 sur Megadrive)
<game>
      <name>Pac Man</name>
      <platform>Sega Megadrive</platform>
      <rom-image>../Jeux/Sega_Megadrive/Sonic_2.zip</rom-image>
      <images><image>
      <type>logo</type><image-file>../Jeux/Megadrive/Img/S2_l.png</image-file>
      </image><image>
      <type>screenshot</type><image-file>../Jeux/Megadrive/Img/S2_s.jpg</image-file>
      </image></images>
</game>

cabrio-2 cabrio-1

qjoypad :

$ sudo apt-get install qjoypad

Ajouter qjoypad au démarrage de fluxbox

$ nano -w .fluxbox/startup
exec fluxbox &
fbpid=$!                #A AJOUTER
                        #
sleep 10                #
{                       #
qjoypad --update 1 &    #
} &                     #
wait $fbpid             #

Il est à noter que qjoypad est un peu capricieux, c’est à dire qu’une fois votre manette USB brancher sur un port, il ne faudra pas la changer ni la débrancher/rebrancher à chaud sous peine de devoir redémarrer l’application.

Les émulateurs :

  • pcsxr, mame, zsnes et nestopia
$ sudo apt-get install pcsxr mame nestopia zsnes
  • fusion doit etre installer à la main, il vous faudra aller chercher l’adresse complète lors de la configuration de Cabrio.
$ wget http://segaretro.org/images/2/21/Fusion363x.tar.gz
$ tar -zxvf Fusion363x.tar.gz

Laisser un commentaire

Votre adresse de messagerie ne sera jamais publiée, ou utilisée à des fins commerciales. Les champs obligatoires sont indiqués avec des *.

Vous pouvez utiliser les balises de mise en forme