Aujourd'hui éloignons nous un peu du Mac mais tout en restant dans l'un de nos domaines de prédilection : le retro-gaming, avec l'installation d'une RetroPie.
J'ai été impressionné par la facilité d'installation, il m'aura fallut moins d'une heure pour faire la configuration de base et lancer un premier jeu, et encore, cela aurait pu être plus rapide avec une configuration réseau moins complexe (détaillée plus bas). Cette action est désormais à la portée de tous.
Voici un guide pas-à -pas de l'installation de le RetroPie avec les quelques subtilités ou astuces à savoir.
Qu'est ce qu'une RetroPie ?
Une RetroPie est tout simplement l'installation d'un système d'exploitation dédié au retro-gaming, et donc à l'émulation de jeux disponibles sur d'anciennes plateformes sur une Raspberry Pi.
Si vous ne connaissez pas, la Rasberry Pi est un micro-ordinateur coûtant une trentaine d'Euros sur lequel il est possible d'installer une multitude de systèmes d'exploitation dédiés à une seule tâche comme nous allons le voir ici, ou plus généraux pour en faire des micros ordinateurs ou serveurs à emmener facilement avec soit.
Une fois la RetroPie installée, nous aurons accès à plus d'une trentaine de plateformes et donc potentiellement à des milliers de jeux.
Pré-requis
Si vous vous lancez dans cette sympathique opération, vous aurez besoin :
- Un kit de démarrage Raspberry Pi 3 ou des éléments séparément (Carte mère Raspberry Pi 3, Alimentation 5V, un boitier Raspberry Pi 3, et 1 Carte Micro-SD). Les Kits permettent d'obtenir, sans stresser, un ensemble compatible et près à l'emploi.
- Une manette USB, il existe de nombreux modèles rétro mais pour ma part j'ai utilisé une manette DualShock 3 initialement prévue pour Playstation 3 que je possédais déjà .
- Evidement vous aurez besoin un écran d'ordinateur ou de télévision disposant d'un port HDMI (ou d'un port VideoComposite, mais le HDMI est à favoriser) pour brancher l'appareil.
En option, pour mon installation, j'ai ajouté :
- Une clé USB de forte densité, ici de 64Go. Cela permettra d'installer les ROMs sur un espace de stockage amovible. Si vous souhaitez installer vos ROMs directement sur la carte micro-sd du système ce qui est la configuration de base, veillez juste à en prendre une assez grande.
- Un boitier NesPi, histoire d'avoir un boitier qui en jete sous la télé !
Uniquement pour l'installation vous aurez besoin :
- Un Mac pour initier l'installation, cela peut se faire sur un Windows ou un Linux, mais la suite de l'article ne traitera que du Mac.
- Un lecteur de carte micro-SD. Les cartes micro-SD sont souvent vendues avec un adaptateur SD, et parfois un lecteur de carte SD, en USB.
- Un clavier USB dans le cas d'une configuration Wifi. (Celui du Mac peut faire l'affaire.)
Vous aurez aussi besoin de quelques ROMs pour tester. Si vous n'en avez pas, elles se trouvent très facilement sur Internet avec n'importe quel moteur de recherche. N'oubliez pas que légalement vous ne devez disposer que de ROMs dont vous possédez l'original, qu'il s'agisse d'un disque ou d'une cartouche.
Installation
Comme indiqué plus haut l'installation est d'une simplicité enfantine. Les outils sont de plus en plus complets et ne nécessitent plus de bidouiller pour les faire fonctionner.
Commencez par télécharger l'image disque de la distribution de RetroPie pour Raspberry Pi 3 et décompressez la. L'utilitaire d'archive disponible avec macOS devrait la décompresser sans soucis.
Puis récupérez l'utilitaire Apple Pi Baker dont vous noterez le joli jeu de mot.
Branchez la carte micro-SD dans votre Mac et ouvrez l'application Apple Pi Baker.
Dans la colonne de gauche, sélectionnez votre carte SD. Ne vous trompez pas, vous risqueriez de formatter l'un de vos disques ou de vos autres cartes SD.
A droite, en face d'IMG File, sélectionnez l'image disque décompressée de RetroPie puis cliquez sur Restore Backup et laissez faire.
Une fois la carte SD prête, montez votre RPi et insérez-y la carte SD. Branchez la RPi à l'écran choisi et n'oubliez pas de brancher la manette USB. Dès que vous brancherez le micro-ordinateur à l'électricité, celui-ci démarrera automatiquement si vous disposez d'un boitier "classique" (avec un boitier NesPi, il faut appuyer sur le bouton Start dédié) et commencera l'installation du système sur la carte SD.
Encore une fois, tout se fait tout seul. Une pointe de magie très appréciable.
Lorsque l'installation se termine vous devrez configurer votre manette pour lier chaque touche à la manette virtuelle du système.
Et voilà ! Ce n'était pas plus compliqué que cela.
Installation des ROMs
Pour simplifier l'installation des ROMs, par défaut la RetroPie lit les clés USB que vous pourriez y insérer et copie automatiquement les ROMs dans les dossiers dédiés.
J'ai rapidement testé avec un dossier qui a fini éparpillé sur le disque interne de la RPi. Bref, je n'avais pas trop confiance en ce genre d'artifice et cela n'a fait que confirmer.
Si vous ne souhaitez pas configurer de réseau et finalement vous arrêtez là : Essayez en mettant vos roms dans les dossiers dont le nom est identique à celui que l'on trouve sur la RetroPie. En voici la liste avec la plateforme correspondante :
- amstradcpc : Amstrad CPC
- arcade : Arcade
- atari800 : Atari 800 / Atari 5200 (!)
- atari2600 : Atari 2600
- atari7800 : Atari 7800
- atarilynx : Atari Lynx
- dreamcast : Sega Dreamcast (!)
- fba : FinalBurn Alpha
- fds : Famicom Disk System
- gamegear : Sega Game Gear
- gb : Nintendo GameBoy
- gba : Nintendo GameBoy Advance
- gbc : Nintendo GameBoy Color
- mame-libretro : Arcade MAME
- mame-mame4all : Aracde MAME, version 0.37b5 (July 2000)
- mastersystem : Sega MasterSystem
- megadrive : Sega Megadrive
- n64 : Nintendo 64
- neogeo : NeoGeo
- nes : Nintendo NES
- ngp : NeoGeo Pocket
- ngpc : NeoGeo Pocket Color
- pcengine : PC-Engine
- psp : Sony PSP
- psx : Sony Playstation
- saturn : Sega Saturn (!)
- sega32x : Sega 32X
- segacd : Sega CD
- sg-1000 : Sega SG-1000
- snes : Nintendo SuperNES
- vectrex : Vectrex
- zxspectrum : ZX Spectrum
Les dossiers avec un (!) ne sont pas installés par défaut mais ils correspondent aux bons dossiers pour les plateformes concernées.
Pour ma part, étant un fainéant, je préfère tout envoyer depuis le Mac sans avoir à me lever, à travers le réseau. Mais cela demande d'aller un peu plus loin dans la configuration de RetroPie.
À noter qu'à chaque nouvel ajout de ROMs, il faut redémarrer le logiciel EmulationStation qui s'affiche ou carrément la RPi, ce qui est finalement plus facile. Vous pouvez effectuer un reboot depuis le menu Configuration > RETROPIE SETUP > Perform reboot (ou en SSH, via la commande reboot si vous choisissez de faire la configuration avancée).
Ainsi à chaque démarrage les roms seront vérifiées par le logiciel Emulation Station et ainsi les plateformes disposant de ROMs et d'un émulateur activé s'afficheront automatiquement.
Les BIOS sont à installer dans le dossier ~/RetroPie/BIOS/.
Configuration réseau
Si vous disposez d'un réseau avec un DHCP, ce qui est désormais souvent le cas avec une box, il suffit d'y brancher un câble RJ-45 pour que la RPi récupère une adresse IP et puisse accéder à internet et soit elle-même accessible sur le réseau.
Si vous disposez d'un réseau sécurisé avec l'adresse IP définie selon l'adresse MAC sur la RPi, sélectionnez l'outil de configuration, puis le raccourci "SHOW IP" qui vous donnera l'adresse MAC de la carte réseau ou de la puce Wifi selon votre besoin.
L'outil SHOW IP permet ensuite de vérifier que votre RetroPie est bien connectée au réseau en indiquant l'adresse IP attribuée en entrée.
[Optionnel] Configuration du Wifi
La version 3 de la Raspberrry inclut désormais en standard une puce Wifi d'une qualité très correcte. Comme est elle directement intégrée à la carte mère, il est plus facile de proposer un driver pour toutes les RPi alors qu'avec les versions précédentes, il fallait faire l'installation à la main du driver et ce n'était pas toujours aisée.
Restez dans l'outil de configuration et accédez au menu dédié WIFI, puis sélectionnez "Connect to Wifi network".
Branchez le clavier à votre RPi et configurez le système pour se connecter à votre réseau. Attention, le clavier sera en QWERTY (avec un mapping PC qui peut changer de ce qu'il y a marqué sur votre clavier Apple), il faudra peut être adapter les quelques touches qui changent.
Activation du SSH
Pour pouvoir accéder à la RetroPie à distance, il faut activer le SSH, désactivé par défaut. Suivez les menus suivants :
Configuration > RASPI-CONFIG > Interfacing options > SSH > Enable
Puis redémarrer la RetroPie depuis le menu Configuration > RETROPIE SETUP > Perform reboot.
Par défaut, l'identifiant et le mot de passe sont pi et raspberry. Ces identifiants sont les mêmes pour tout le monde, il est donc conseillé de changer le mot de passe, surtout si votre Pi est accessible depuis internet. En local, il n'y a pas trop de risque.
Un message vous le répètera à chaque connexion que vous ferez en SSH.
SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.
[Optionnel] Configuration clé USB dédiée
Comme indiqué dans les pré-requis, j'ai choisi de mettre les ROMs sur une clé USB. Cela permet, si besoin, de retirer la clé de la Raspberry Pi pour la mettre sur le Mac pour faire de gros transferts de ROMs par exemple.
Branchons donc la clé à notre Pi.
Ouvrons un terminal pour se connecter à notre RetroPie, en SSH :
ssh pi@adresse_ip
Avec le mot de passe indiqué au dessus.
Trouvons notre clé USB dans les périphériques USB branchés :
pi@retropie:~ $ lsusb
Bus 001 Device 006: ID 054c:0268 Sony Corp. Batoh Device / PlayStation 3 Controller
Bus 001 Device 005: ID 0781:5571 SanDisk Corp. Cruzer Fit
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Les "devices" de 001 à 003 correspondent aux composants de la Raspberry Pi, le périphérique correspond à hub USB intégré au boitier NesPi.
Le périphérique 006 correspond à la manette PS3. Et finalement, c'est notre "device" 005 qui se trouve être notre clé USB, on peut y voir la marque d'ailleurs, ici une SanDisk.
Retrouvons l'ID de votre périphérique, avec la commande :
pi@retropie:~ $ blkid
/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="F800-84AD" TYPE="vfat" PARTUUID="5728b712-01"
/dev/mmcblk0p2: LABEL="retropie" UUID="0d5d7270-400a-4069-90ce-5547c464af88" TYPE="ext4" PARTUUID="5728b712-02"
/dev/sda1: UUID="2D7E-3D1E" TYPE="vfat"
La ligne qui nous intéresse est la ligne commançant par /dev/sda1 et l'on note que l'ID unique ou UUID est 2D7E-3D1E.
Ensuite, pour que la clé USB soit montée automatiquement à chaque démarrage, nous allons l'insérer dans la configuration système des fichiers.
sudo nano /etc/fstab
sudo permet l'ouverture de l'éditeur en ligne de commande nano en mode Administrateur et nous allons édité le fichier fstab dans le dossier /etc.
Sous les deux lignes commençant par #, ajoutez les éléments suivants sur une même ligne, séparés par des tabulations :
UUID="2D7E-3D1E"
/media/usb0
auto
defaults,noatime,user,uid=1000,gid=1000,umask=077
0 0
Voici le résultat :
Pour information, le premier élément défini l'ID du périphérique à retrouver (il faut bien sur mettre le vôtre, pas le mien), le second est l'emplacement où monter le système de fichier, le troisième est le format du système de fichier qui est vfat comme on a pu le voir avec la commande blkid mais que nous laissons à auto par simplicité.
Ensuite, viennent les paramètres associés aux fichiers lors du montage de la clé par le système.
- defaults : reprends les paramètres par défaut du système
- noatime : indique de ne pas mettre à jour la valeur d'accès à chaque lecture de fichier, nous sommes sur un disque flash, et cela pourrait limiter rapidement et prématurément le nombre de lecture/écriture que la clé est capable de faire
- user : permet à n'importe quel utilisateur de monter le système
- uid=1000,gid=1000 : indique l'utilisateur est le groupe à associé aux fichiers lors du montage, ici la valeur 1000 indique le compte par défaut qui est pi. Si vous souhaitez être sur que pi ait bien l'ID 1000, vous pouvez vérifier avec la commande cat /etc/passwd
- umask=077 : indique les droits de lecture et écriture à appliquer aux fichiers, ici lecture/écriture pour le propriétaire (qui sera, selon la ligne précédente, pi) et rien pour les autres.
Enfin, les deux zeros indiquent respectivement la fréquence de sauvegarde par le système et si le programme fsck qui existe aussi sur macOS doit faire la vérification de ce disque au démarrage. Dans les deux cas, nous n'en avons pas besoin.
Et n'oubliez pas d'ajouter un retour à la ligne en fin de ligne.
Pour sauvegarder, tapez ctrl+o puis entrée pour valider.
Pour quitter l'éditeur, tapez ctrl+x si vous avez fait d'autres modifications au fichier après l'enregistrement celui ci vous demandera de l'enregistrer, sinon cela quittera simplement l'application nano.
Votre clé devrait ainsi monter automatiquement au prochain démarrage. À tester immédiatement :
sudo reboot
Vous allez perdre la main sur la pi et revenir sur le prompt de macOS. Vérifiez sur la télé quand votre RetroPie est redémarrée, puis reconnectez vous avec SSH, puis tapez
pi@retropie:~ $ ls -l /media/usb0/
total 0
Si un total est affiché, même à 0, c'est bon, votre clé sera bien montée à chaque fois.
Si vous obtenez un message tel que
ls: cannot access /media/usb0: No such file or directory
c'est que vous vous êtes trompé dans votre configuration du fstab et il faut alors revoir ce fichier.
Si tout va bien, continuons.
Copions maintenant le dossier RetroPie sur notre clé.
cp -r ~/RetroPie /media/usb0/
puis je fais une archive du dossier RetroPie original
mv ~/RetroPie ~/RetroPie_bck
enfin, je remets un lien depuis la clé usb vers le dossier original
ln -s /media/usb0/RetroPie ~/RetroPie
ainsi je remets à sa place le dossier attendu par le système tout en me permettant d'accéder aux fichiers simplement et extérieurement si besoin.
Bien sur, si vous avez besoin de sortir la clé, il est préférable d'éteindre la Raspberry Pi avant et de ne la redémarrer qu'une fois la clé rebranchée.
Tout est désormais prêt pour installer les ROMs, soit en ssh, ce qui ne nécessite pas de tout éteindre, soit avec la clé USB. Attention à bien respecter les dossiers.
Merci à Frank pour son aide sur cette partie, et notamment la gestion de l'USB sur le linux.
Plugins, packages et émulateurs
D'origine, et encore une fois pour simplifier l'installation pour tout le monde, de nombreux émulateurs sont installés et il n'y a donc pas besoin de les installer. Ce sont par exemples les émulateurs dédiés à quelques consoles de Nintendo : NES, SuperNES, N64, GameBoy / Color / Advance, ou d'autres pour machines de SEGA : MasterSystem, GameGear, MegaDrive, 32X, ou encore de la Playstation 1 de Sony pour ne citer que les consoles de jeu les plus communes.
C'est bien simple si une fois les ROMs ajoutées au bon format et dans le bon dossier et un redémarrage en règle effectué, la plateforme n'apparait pas, c'est que les émulateurs ne sont pas installés. Il suffit alors d'aller les installer.
A noter que, s'ils ne sont pas installés par défaut, c'est souvent que l'émulation n'est pas très bonne, voire qu'elle est expérimentale. Mais cela reste très fun de tester.
Pour cela, il faut aller dans Configuration > RETROPIE SETUP > Manage Packages > Manage Optional Packages
Tout au long des menus vous pouvez voir toutes les options qui s'offrent à vous en matière d'installation et de configuration, que je ne détaillerai pas ici, ce serait beaucoup trop long.
Allons à l'essentiel avec l'installation, par exemple d'un émulateur PSP, et trouvons l'émulateur PPSSPP, qui existe aussi sur Mac. Nous le sélectionnons puis indiquons "Install package from binary" et laissons faire la machine.
L'émulateur est ensuite marqué comme installé.
Si l'émulateur souhaité ne se trouve pas dans la liste des "Optional Packages", il faut alors peut être chercher dans les "Experimental Packages".
C'est le cas de Yabause, l'émulateur Saturne ou encore des dernières versions de MAME. Attention, les binaires sont souvent indisponibles et il n'est alors possible que de faire "Install from Sources", cela veut dire que votre Pi devra compiler les sources pour en faire une application, ce qui prendre un peu plus de temps.
Après un petit redémarrage, vos nouvelles plateformes devraient être disponibles.
Compatibilité et formats
Il n'est bien évidemment pas possible pour moi de tester toutes les plateformes et encore moins tous les jeux mais je mettrais cette section à jour de temps en temps au fil de mes expérimentations.
Vous trouverez beaucoup d'informations sur les pages web que je vous ai lié dans les liens utiles, notamment pour savoir quel bios et quel format de fichier il faut pour chacun des émulateurs.
Nintendo
- NES
- Dossier des fichiers : RetroPie/roms/nes
- Format de fichier : .7z .fds .fig .mgd .nes .sfc .smc .swc .zip
- BIOS : Fourni avec le système
- Compatibilité : Excellente
- SuperNES (snes9x)
- Dossier des fichiers : RetroPie/roms/snes
- Format de fichier : .7z .bin .fig .mgd .sfc .smc .swc .zip
- BIOS : Aucun
- Compatibilité : Excellente
- GameBoy
- Dossier des fichiers : RetroPie/roms/gb
- Format de fichier : .7z .gb .zip
- BIOS : Aucun
- Compatibilité : Excellente
- GameBoy Color
- Dossier des fichiers : RetroPie/roms/gbc
- Format de fichier : .7z .gbc .zip
- BIOS : Aucun
- Compatibilité : Excellente
- GameBoy Advance
- Dossier des fichiers : RetroPie/roms/gba
- Format de fichier : .7z .gba .zip
- BIOS : Aucun
- Compatibilité : non testée
- N64 (mupen64)
- Dossier des fichiers : RetroPie/roms/n64
- Format de fichier : .z64 .n64 .v64
- BIOS : Aucun
- Compatibilité : écran noir lors de tous mes tests, à reprendre
SEGA
- Master System (Genesis)
- Dossier des fichiers : RetroPie/roms/mastersystem
- Format de fichier : .7z .bin .sms .zip
- BIOS : Aucun
- Compatibilité : Excellente
- Mega Drive (Genesis)
- Dossier des fichiers : RetroPie/roms/megadrive
- Format de fichier : .7z .bin .gen .md .sg .smd .zip
- BIOS : Aucun
- Compatibilité : Excellente
- Game Gear (Genesis)
- Dossier des fichiers : RetroPie/roms/gamegear
- Format de fichier : .7z .bin .gg .sms .zip
- BIOS : Aucun
- Compatibilité : Excellente
- 32X
- Dossier des fichiers : RetroPie/roms/sega32x
- Format de fichier : .32x .7z .bin .md .smd .zip
- BIOS : Aucun
- Compatibilité : Excellente
- Dreamcast
- Dossier des fichiers : RetroPie/roms/dreamcast
- Format de fichier : .cdi .chd .gdi
- BIOS : dc_boot.bin, dc_flash.bin
- Compatibilité : Sans succès pour l'instant, 3 jeux testés, aucun n'a fonctionné correctement.
- F355 Challenge, démarre et permet de lancer une course, malheureusement c'est l'affichage du rétro qui prend tout l'écran, ce qui rend le jeu très compliqué.
- Sega Rally 2 : Ne démarre pas
- LeMans 24H : Affiche le logo Infogram puis quitte.
Sony
- Playstation
- Dossier des fichiers : RetroPie/roms/psx
- Format de fichier : .cue .cbn .img .iso .m3u .mdf .pbp .toc .z .znx
- BIOS : SCPH1001.BIN
- Compatibilité : non testée
Autres
- Neo Geo
- Dossier des fichiers : RetroPie/roms/neogeo
- Format de fichier : .zip
- BIOS : neogeo.zip (à mettre avec les ROMs et non avec les BIOS)
- Compatibilité : non testée
Liens utiles
- La page d'accueil de RetroPie : La base de tout, permettant de télécharger le système d'exploitation et une aide complète et détaillée sur l'installation et la configuration de ce dernier.
- Les pages de set-up de RetroPie sur Github : Il y a de nombreuses pages d'aide à la configuration de RetroPie, notamment chaque plateforme supportée est documentée avec les bios, le format des roms acceptés, ainsi que les équivalences de boutons pour les manettes pour chaque émulateur.