Faciliter le retrogaming avec son NAS

Dans cet article, nous allons nous intéresser à la manière d’améliorer la gestion de son rétrogaming avec son NAS. En effet qui dit rétrogaming, dit bibliothèque de jeux (les fameuses ROMs) et celles-ci sont souvent lues à partir de cartes micro SD.

Mais pourquoi ne pas tout simplement stocker tout cela sur votre NAS, pour les lire directement par la suite ? Cela évite d’une part les transferts fastidieux sur des cartes micro SD, mais peut aussi vous faire économiser l’achat supplémentaire de cartes SD 🙂

Voyons dans le détail comment faire.

Solution de retrogaming

On supposera ici l’utilisation d’une solution de rétrogaming à base de Raspberry Pi. On retrouve notamment les très bons boîtiers de la marque Retroflag.

Pour la partie NAS, je détaillerai le cas des NAS Synology, mais si vous avez une autre marque ne vous inquiétez pas : les principes restent les mêmes.

Télécharger une image efficacement

Pour le Raspberry Pi, il existe 3 logiciels que je conseille pour l’émulation :

  • Recalbox : une solution française qui a fait ses preuves et compatible jusqu’au Raspberry Pi 3B+
  • Batocera : un équivalent basé sur Recalbox
  • Retropie : une solution anglaise compatible jusqu’au Raspebrry Pi 4

Il existe des images toute faites de ces solutions. Celles-ci peuvent contenir éventuellement des ROMs (on rappelle qu’il faut respecter les droits d’auteur à ce sujet, seules les ROMs indiquées comme téléchargeables par leurs auteurs peuvent l’être).

Les images déjà tout prêtes sont utiles car vous n’aurez (quasiment) rien à configurer.

Un site complet à propos du rétrogaming est Arcade Punk. Une page dédiée aux images pour Raspberry Pi 3b+ et inférieur est disponible ici et une autre dédiée au Raspberry Pi 4 est disponible là.

Pour télécharger l’image, rien de plus simple sur NAS Synology : il suffit d’utiliser le logiciel Download Station, disponible en standard.

Une fois que vous aurez récupéré le fichier .torrent de votre image, cliquez sur le symbole « + » dans Download Station pour indiquer la destination de téléchargement sur votre NAS ainsi que le fichier torrent associé :

Si tout se passe bien, vous aurez alors le contenu de l’archive qui sera récupérée, ici des fichiers au format 7z :

Validez et le téléchargement devrait commencer.

Suivant la qualité de votre connexion internet (Fibre, ADSL, …) cela devrait prendre plus ou moins longtemps.

La dernière étape consiste à extraire l’image.

En se connectant en SSH à votre NAS, lancez les commandes suivantes (on suppose ici que le répertoire partagé où est stocké le téléchargement s’appelle « downloads ») :

cd /volume1/downloads/pimiga_1_1_32GB 
7z x ./pimiga_beta_v1.1.7z.001

Ici il s’agit d’une archive 7z. Si jamais vous rencontrez une image de type unrar, il suffira d’utiliser la commande associée (unrar e nom_archive).

Pour l’extraction de l’archive, soyez très patient car cette étape peut prendre pas mal de temps suivant la taille de votre archive et la puissance de votre NAS.

Malheureusement, 7z pour Synology n’indique pas le pourcentage de progression. Vous pouvez consulter dans DSM, le moniteur de ressource pour vérifier quand la commande « 7z » se terminera :

Si tout s’est bien terminé, l’image devrait être maintenant disponible dans son intégralité avec le message suivant de 7z :

Everything is Ok

Utiliser une image

Il faut savoir que les images Recalbox, Batocera ou encore Retropie sont tout simplement des images standards de Raspberry Pi et possèdent une partition Linux au format ext4.

Cela tombe bien, les NAS Synology peuvent lire ce type d’image en suivant quelques manipulations.

En effet, pour lire ces images il faudra d’abord identifier la partition Linux, car en général l’image contient une première partition FAT32 de démarrage, et une deuxième (Linux) contenant les différents logiciels.

Tapez la commande suivante pour analyser votre image (le nom de l’image a été changée pour correspondre à une vraie image Pi) :

fdisk -l /volume1/downloads/DZ-King-Ultimate-400-Pi.img 

Notez bien la valeur de démarrage de la partition « Linux » (la 2e valeur en dessous « Start »):

On obtient pour cette image la valeur 124 928

Multipliez cette valeur par celle de l’unité des secteurs c’est à dire 512 (Sector Size) : 512*124928 = 63963136

Effectuez un montage de votre image dans « /mnt/retropie » :

sudo mkdir /mnt/retropie
sudo mount -v -o offset=63963136 -t ext4 /volume1/downloads/DZ-King-Ultimate-400-Pi.img /mnt/retropie

Vous pouvez maintenant parcourir votre image (Retropie ici) :

cd /mnt/retropie/home/pi/RetroPie

Le contenu de l’image est dorénavant accessible comme bon vous semble depuis votre NAS !

Vous pourrez alors copier les fichiers qui vous intéressent dans un répertoire qui n’est pas un point de montage (au redémarrage de votre NAS les points de montage ne sont pas conservés par défaut).

Le but est de pouvoir lire ces fichiers comme cela va être illustré dans la dernière partie de cet article.

Lire les fichiers de votre NAS depuis Recalbox/Batocera

On va supposer que vous avez :

  • Un Raspberry Pi sur lequel Recalbox/Batocera a été installé, et avec l’accès SSH disponible
  • Un dossier partagé sur votre NAS qui s’appelle « retrogaming » dans lequel vous avez stockés vos fichiers (bios, roms, save, …)

Cela signifie que vous avez donc une image Recalbox sur au moins une carte micro SD pour faire fonctionner votre Raspberry (celle-ci peut être une image minimaliste).

La lecture des fichiers de retrogaming depuis un NAS est assez peu documentée, voici donc comment faire.

Tout d’abord créez sur votre NAS un utilisateur « recalbox » :

Donnez à cet utilisateur les droits de lecture/écriture sur votre dossier partagé du NAS lié au rétrogaming (ici « retrogaming ») :

Connectez-vous ensuite en SSH à votre Raspberry.

Ci-dessous les accès standards pour chaque type de solution (si le mot de passe n’a pas été changé) :

Solution GamingUtilisateurMot de passe
Recalboxrootrecalboxroot
Batocerarootlinux

Ainsi pour Recalbox, on aura l’accès en SSH suivant (RECALBOX correspondant au nom de votre Raspberry sur le réseau) :

ssh root@RECALBOX

Vous devrez éditer le fichier « recalbox-boot.conf » :

mount -o remount,rw /boot
vi /boot/recalbox-boot.conf

Entrez les différentes lignes :

sharedevice=NETWORK
sharenetwork_smb1=ROMS@192.168.1.79:retrogaming/EmulationStation/roms:username=recalbox,password=pass,vers=2.0
sharenetwork_smb2=SAVES@192.168.1.79:retrogaming/EmulationStation/saves:username=recalbox,password=pass,vers=2.0
sharenetwork_smb3=BIOS@192.168.1.79:retrogaming/EmulationStation/bios:username=recalbox,password=pass,vers=2.0

La première ligne indique que Recalbox / Batocera lira les fichiers de retrogaming via votre réseau.

Les 3 lignes suivantes indiquent où trouver les fichiers sur votre NAS :

  • ROMS : La liste des ROMs disponibles
  • SAVES : Les sauvegardes de vos jeux en cours
  • BIOS : Les BIOS des différents émulateurs

Notez que :

  • « 192.168.1.79 » doit être remplacée par l’adresse IP locale de votre NAS
  • « retrogaming/EmulationStation/ » doit correspondre au chemin d’accès à vos différents fichiers
  • « pass » doit correspondre au mot de passe de votre utilisateur « recalbox » sur votre NAS

Redémarrez votre Raspberry Pi :

reboot -h

Vous pourrez alors constater que vos fichiers de retrograming sont directement lus de votre NAS vers votre Raspberry.

Ci-dessous Outrun en version Megadrive lu depuis le NAS 🙂

Lire les fichiers de votre NAS depuis Retropie

On va supposer que vous avez :

  • Un Raspberry Pi sur lequel Retropie a été installé, et avec l’accès SSH disponible
  • Un dossier partagé sur votre NAS qui s’appelle « retrogaming » dans lequel vous avez stockés vos fichiers (bios, roms, save, …)

Tout d’abord créez sur votre NAS un utilisateur « retropie » :

Cette image a un attribut alt vide ; le nom du fichier est roms-1.png

Connectez-vous ensuite en SSH à votre Raspberry.

Ci-dessous les accès standards (si le mot de passe n’a pas été changé) :

Solution GamingUtilisateurMot de passe
Retropiepiraspberry

On aura l’accès en SSH suivant (RETROPIE correspondant au nom de votre Raspberry sur le réseau) :

ssh pi@RETROPIE

Si jamais l’accès ne fonctionne pas, pensez à utiliser raspi-config dans les options de Retropie pour changer le mot de passe.

Une fois connecté à votre Raspberry en SSH, entrez :

sudo raspi-config 

Puis indiquez que votre Raspberry doit attendre l’accès réseau au démarrage :

Modifiez ensuite le fichier « autostart.sh » :

sudo vi /opt/retropie/configs/all/autostart.sh

Indiquez dès la première ligne comme ci-dessous le point de montage de vos ROMS situées sur le NAS vers votre Raspberry :

sudo mount -t cifs -o sec=ntlmv2,username=retropie,password=pass,rw,file_mode=0777,dir_mode=0777,nounix,noserverino //192.168.1.79/retrogaming/EmulationStation/roms /home/pi/RetroPie/roms

Notez que :

  • « 192.168.1.79 » doit être remplacée par l’adresse IP locale de votre NAS
  • « retrogaming/EmulationStation/ » doit correspondre au chemin d’accès à vos différents fichiers
  • « pass » doit correspondre au mot de passe de votre utilisateur « retropie » sur votre NAS

Vérifiez que le point de montage s’effectue correctement en tapant en dehors du fichier cette commande.

Si aucun message d’erreur apparait c’est que votre point de montage fonctionne !

Rebootez votre Raspberry :

sudo reboot

Si tout se passe bien, vous devriez voir vos roms stockées sur le NAS directement dans Retropie.

Ici Mario Golf 🙂

J’espère que ces quelques astuces vous aurons aidé à utiliser au mieux votre NAS pour le rétrogaming.

Have fun 🙂

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s