Publié le 11 décembre 2020 - par

Batocera 29 le retrogaming pour Raspberry Pi

Batocera sort en version 29. Cette version est compatible avec de nombreux appareils mais surtout avec les Raspberry Pi 4 et Pi400 qui amènent une fluidité certaine aux émulations. Environ 90 consoles émulées et plus de 100 manettes reconnues !ç

Batocera 29 le rétrogaming pour le Raspberry Pi

Les origines

Présentation de l’équipe et du projet dans cette vidéo de 11 minutes

Machine compatibles

De nombreux systèmes informatiques sont supportés ce qui permet d’utiliser Batocera un peu partout. Les machines qui supportent Batocera sont nombreuses et c’est la page de téléchargement qui en est la preuve la plus évidente :

Cliquer pour agrandir

Sachant que les versions Raspberry Pi 4 et Raspberry Pi 400 sont identiques et fonctionnent parfaitement. Un certain nombres de boîtiers sont également supportés, comme les Argon One par exemple.

Les émulateurs

La philosophie de Batocera c’est de ne mettre dans ce système que des émulateurs de consoles qui ne sont plus sur le marché pour ne pas concurrencer les ventes.

On va trouver 90 consoles possibles avec Batocera et de nombreux réglages sont accessibles pour personnaliser votre distribution.

Vous pouvez consulter la liste des émulateurs et les compatibilité sur cette page.

Installer Batocera

Pour l’installation de Batocera on reste dans le classique. Rendez vous sur la page de téléchargement de la distribution et cliquez sur l’image qui représente la machine sur laquelle vous voulez faire l’installation. Pour nous ce sera un des Raspberry Pi. Je vous conseille au moins un Raspberry Pi 3B+, un Raspberry Pi 4 2Go ou un Raspberry Pi 400 si vous voulez profiter au mieux de votre machine de retrogaming.Vous récupérez une image de type .gz batocera-29-rpi4-20201203.img.gz c’est un format de compression utilisé sous Unix puis Linux. Enregistrez le dans un dossier que vous choisirez.

Avec Balena Etcher
Si vous flashez la carte micro SD avec Balena Etcher, il est inutile de décompresser l’image. Balena Etcher se chargera de décompresser avant de flasher la carte.

Vous pouvez extraire l’image de cette archive avec 7zip par exemple, qui s’installe sur de nombreux système d’exploitation. Le programme est accessible ensuite via le menu contextuel accessible en faisant un clic droit sur le fichier .gz

Cliquez sur Extraire ici pour décompresser l’archive.

Vous obtenez un fichier image de type .img (un peu plus de 2Go) qui est une copie exacte de ce qu’il va y avoir sur la carte micro SD. On va transférer cette image avec Balena Etcher (voir cette page pour le télécharger). Parmi les solutions disponibles pour installer la distribution, c’est celle que Batocera préconise, je vous conseille donc de l’utiliser. Il est disponible sous Windows ainsi que sous Linux.

Lancez ensuite Balena Etcher.

Choisissez Flash from file et dans la fenêtre qui s’ouvre allez sélectionner votre fichier batocera…gz. Si vous n’avez qu’une carte SD elle est sélectionnée sans que vous n’ayez rien à faire. Si vous avez plusieurs lecteurs connectés, vérifiez soigneusement que la cible est bien la carte SD, sous peine de détruire les données sur un autre stockage amovible. Quand tout est bon, cliquez sur Flash!.

Balena Etcher commence par extraire l’image de l’archive .gz

Dans un deuxième temps Balena Etcher flashe la carte micro SD

puis vérifie que l’image sur la carte est identique à l’image souhaitée.

Quand c’est terminé récupérez votre carte micro SD et vous pouvez la mettre dans le Raspberry Pi, brancher les différents câbles puis mettre sous tension.

Réglages de base

Manette utilisée

Voici la manette que j’utilise pour ce test. Ce n’est pas le haut de gamme, mais ça me suffit (je ne suis pas un gamer 😉 )
Il y a une croix directionnelle sua la gauche, deux boutons Select et Start au milieu et quatre boutons à droite. Très souvent le jaune sert à valider, et le rouge à revenir en arrière mais ça dépend des jeux et il faut essayer. Le bouton Start démarre la plupart des jeux et l’appui simultané sur Select et Start permet de sortir d’un jeu. Dans Batocera, Start ouvre le menu principal.
Il y a également deux boutons sur le haut de la manette, à gauche et à droite.

Langage

La distribution est fournie par défaut en Anglais. Je vous propose en premier lieu de mettre la langue en Français.

Jetez un coup d’œil à l’écran. En haut à gauche l’icône de la manette branchée, en haut à droite l’icône du réseau et en bas à droite l’heure. Appuyez sur Start pour ouvrir le menu principal (MAIN MENU). Avec la croix directionnelle descendez la surbrillance sur SYSTEM SETTINGS.

Allez sur la ligne LANGUAGE ouvrez la liste avec le bouton jaune (B). Au passage (flèche jaune) c’est ici que vous choisirez sur quelles sorties iront l’audio et la vidéo.

Sélectionnez le Français dans la liste. Pour changer la langue utilisée il faut redémarrer Batocera.

 

Revenez au MAIN MENU (bouton rouge A) et descendez sur QUIT. Validez

Choisissez RESTART SYSTEM et validez, le Raspberry Pi redémarre.

Configurer une manette

Après le redémarrage les menus sont en français.

 

Descendez sur PARAMÈTRES DES MANETTE.

Choisissez CONFIGURER UNE MANETTE 

Lisez le message avant de continuer. Vous verrez que si un bouton n’existe pas sur la manette en votre possession, il faudra rester appuyé sur un bouton déjà configuré pour l’ignorer.

Réseau WiFi

Le plus simple pour connecter votre Raspberry Pi au réseau est de connecter un câble RJ45. Dans certains cas on a besoin d’utiliser le WiFi. Voici comment régler les paramètres dans Batocera.

 

Ouvrez le menu principal (Start) et descendez sur PARAMÈTRES RÉSEAU puis validez avec le bouton B (jaune)

Dans la fenêtre qui s’ouvre, descendez jusque NOM DU RÉSEAU WIFI et validez

 

La liste des points d’accès WiFi disponibles pour la connexion s’affiche. Si ce n’est pas le cas, allez sur RAFRAICHIR, validez et attendez un peu que le WiFi soit scruté par votre Raspberry Pi.

Sélectionnez alors le point d’accès qui vous intéresse.

Rendez vous maintenant sur CLÉ WIFI pour saisir votre mot de passe d’accès au WiFi.

Une fois le Wifi configuré, pour tester son fonctionnement, débranchez le câble réseau et redémarrez Batocera. Si tout s’est bien passé, vous aurez récupéré une adresse IP via le WiFi. Cette adresse IP sera différente de celle qu’avait votre Raspberry Pi sur la connexion filaire.

Récupérer des jeux…?

Vous pourrez trouver plus de détails dans cet article de Clubic. un extrait :

Le problème de l’émulation ou de la mise à disposition des jeux anciens, certes tous dépassés technologiquement et/ou graphiquement, est qu’ils appartiennent toujours à quelqu’un, le plus souvent un éditeur. Dès lors, mettre à disposition un jeu est équivalent à mettre à disposition un film, qu’importe son année de sortie ! À moins qu’elle ne soit tombée dans le domaine public, toute œuvre – y compris vidéoludique – est soumise au droit d’auteur. Un jeu sur console, quand bien même celui-ci n’est plus vendu dans le commerce, n’est pas gratuit.

Vous voilà prévenu(e) après c’est de votre responsabilité. J’attire en particulier votre attention sur les offres alléchantes de certaines boutiques qui vous proposent en toute illégalité des consoles avec des milliers de jeux basées sur RecalBox, Batocera, Retropie… distributions qui interdisent la revente du logiciel. De plus ces boutiques intègrent des jeux dont ils ne payent bien entendu pas la licence. C’est vrai que pour Noël c’est tentant mais… maintenant vous savez.

Si vous récupérez quelques jeux de votre jeunesse pour les mettre sur Batocera et jouer de temps en temps (même si c’est illégal), ça n’a rien à voir avec ces personnes qui vous vendent en toute connaissance de cause des distributions opensource interdites à la vente et des jeux non libres dont ils tirent les bénéfices.

Gestionnaire de téléchargement Batocera

Dans la rubrique MISES A JOUR ET TELECHARGEMENTS vous trouverez un certain nombre de jeux disponibles sur les dépôts de Batocera. Ce gestionnaire a été développé par l’équipe Batocera.

Cliquez sur TELECHARGEMENT DE CONTENU

Et vous pouvez installer les jeux proposés dans ce gestionnaire.

Les BIOS

Le BIOS sur un PC, c’était un logiciel de gestion de la carte mère, installé sur une mémoire morte ou une EEPROM. Dans une console de jeux son rôle est identique, il gère le matériel et sert d’interface  avec les jeux. Par exemple, c’est lui qui va gérer les manettes, générer la musique ou encore envoyer les images sur l’écran. Un émulateur va simuler le matériel de la console et jouer le rôle d’interface entre le Raspberry Pi et le BIOS. Il va donc falloir lui fournir un BIOS pour qu’il puisse fonctionner.

A gauche synoptique d’une console de jeu, à droite émulation sur Raspberry Pi

Chaque console et par conséquent chaque émulateur a son BIOS. Les fabricants de console ont intégré sur une même console des BIOS différents  pour “régionaliser” les cartouches. Tout ça pour empêcher les clients d’acheter un jeu US et de l’utiliser en Europe par exemple. On trouve donc des BIOS Etats Unis, Japon, Europe, Etats Unis + Japon…. Il faudra fournir à Batocera le bon BIOS pour le bon émulateur en copiant celui-ci dans le bon répertoire BIOS. La liste des BIOS est en général fournie avec un hash MD5 qui permet de vérifier l’intégrité des fichiers.

Pour trouver le BIOS d’une console vous pouvez récupérer des packs de BIOS pour une distribution particulière, ou si vous cherchez un BIOS particulier, entrez son MD5 dans un moteur de recherche. Par exemple pour la PS3 vous trouverez :

PS3 “biosFiles”:
md5 : cf9cb4ba53a83ad557501417837c8de9 : bios/PS3UPDAT.PUP

Saisissez par exemple  cf9cb4ba53a83ad557501417837c8de9  dans la zone de texte de Google…

Les ROM

Comme vous avez pu le voir sur le synoptique ci-dessus, les ROM sont un “DUMP” du contenu de la cartouche de jeu ou une copie bit à bit d’un CD, DVD etc. Normalement pour utiliser un jeu sur un émulateur vous devez posséder la cartouche du jeu.

Pour trouver des ROMs cherchez sur les moteurs de recherche avec comme mots clés :
roms jaguar (il suffit de mettre le nom de la console cible à la place de Jaguar)
torrent roms fullset parce que souvent les packs “fullset” (jeu complet) sont tellement volumineux que le meilleur moyen c’est le partage en torrent.

Jetez également un coup d’oeil au projet RVGM :

Vous trouverez d’autres liens dans les sources. certains peuvent être payants… Si vous connaissez d’autres sources, mettez les dans les commentaires, je les ajouterai à la liste.

Jeux sur la carte micro SD

Par défaut Batocera va utiliser les jeux sur la carte micro SD. Les ROM, BIOS etc. sont stockés dans le dossier /userdata. Ce dossier est partagé en SAMBA sous le nom de Share :

Extrait du fichier  /etc/samba/smb.conf

[share]
comment = batocera.linux user data
path = /userdata
writeable = yes
guest ok = yes
create mask = 0644
directory mask = 0755
force user = root
veto files = /._*/.DS_Store/
delete veto files = yes

Pour accéder à ce dossier partagé sous Windows 10 : Clic droit sur l’icône Windows > Exécuter et tapez dans la zone de saisie l’adresse de votre Batocera :

Vous ouvrez une fenêtre qui vous donne accès à la carte SD

et maintenant vous ouvrez Share pour copier vos BIOS, ROMs…

Jeux sur un partage NAS

Si vous disposez d’un NAS ou d’un partage sur une autre machine (PC, MAC, Box Internet), vous trouverez sur le wiki de Batocera les explications pour utiliser un stockage externe. Il y a 4 choses que vous pouvez mapper (relier) à votre NAS:

 

  • tout le répertoire de données utilisateur appelé SHARE
  • juste le répertoire des roms appelé ROMS
  • juste le répertoire des bios appelé BIOS
  • juste le répertoire de sauvegarde appelé SAVES
  • ou une combinaison des 3 derniers

Pour ma part j’ai choisi de TOUT déporter sur le NAS, le Raspberry Pi 400 n’accueillant plus que la distribution Batocera. J’utilise un NAS Synology, en fonction de ce que vous utilisez pour créer la partage, il faudra vous adapter. Il m’est impossible de connaître toutes les possibilités et de vous aider…

Attention
Cette utilisation nécessite des modifications dans le fichier de configuration de Batocera. Ne vous lancez pas seul si vous n’avez pas l’habitude. Faites une sauvegarde des fichiers que vous modifiez avant d’intervenir pour pouvoir revenir en arrière. Framboise314 ne pourra pas être tenu pour responsable si votre distribution Batocera ne fonctionne plus après vos modifications.

Il y a trois étapes à réaliser pour pouvoir utiliser un serveur NAS avec Batocera

  • Créer un dossier partagé sur le serveur NAS
  • Créer un utilisateur ayant le droit d’accéder à ce partage
  • Informer Batocera que les jeux sont sur le NAS

Créer un dossier partagé

Sur le NAS, créer un dossier partagé. Je l’ai appelé retrogaming mais vous pouvez le nommer comme vous le voulez.

Dans ce dossier copiez la totalité des dossiers nécessaires à Batocera, vos bios, roms…

Créer un utilisateur avec les droits sur le dossier partagé

Créez ensuite un utilisateur. Je l’ai appelé batocera mais vous pouvez choisir le nom que vous voulez.

Attribuez un mot de passe à cet utilisateur. Notez bien ce mot de passe car il servira lors de la configuration de Batocera.

Donnez des droits à votre utilisateur : il pourra Lire et Écrire dans le dossier retrogaming.

J’ai enfin choisi de ne pas donner de Quota (limite en utilisation des données) à mon utilisateur batocera pour le dossier retrogaming.

Modifier Batocera

Insérez votre carte micro SD dans un lecteur de carte connecté au PC. Ouvrez le disque correspondant. en principe il se nomme boot ou BATOCERA et le système lui a attribué la lettre H: ici mais ça peut varier d’une machine à l’autre.

Faites un clic droit sur le fichier batocera-boot.conf et faites en une copie avent toute modification. Ouvrez le fichier pour le modifier. J’utilise NotePad++ pour ce genre de modification. Au début du fichier vous allez trouver :

# device to the share data (userdata)
sharedevice=INTERNAL

Modifiez la ligne sharedvice et ajoutez les lignes qui permettront à Botacera d’accéder au NAS.

  • 192.168.1.xx sera remplacé par l’adresse IP de votre NAS
  • retrogaming/roms/retrogaming/saves/, retrogaming/bios/  correspondent au chemin d’accès à vos différents fichiers
  • username = batocera    est le nom de l’utilisateur créé sur le NAS
  • password = pass est le mot de passe de l’utilisateur batocera sur le NAS

Si les dossiers liés à roms, saves et bios n’existent pas sur le NAS, la lecture ne fonctionnera pas. Vous devriez obtenir quelque chose comme ceci

Au prochain démarrage si vous n’avez pas fait de conn…  d’erreur, Batocera ira chercher vos jeux sur le NAS.

Se connecter en SSH

Pour vous connecter en SSH, ouvrez Putty à l’adresse de votre Raspberry Pi sous Batocera. Le login est root et le mot de passe est linux.

Vous ne pourrez pas modifier le fichier /boot/batocera-boot.conf via Putty car le dossier est monté en lecture seule. Pour le rendre modifiable :

et cette fois vous pouvez modifier le fichier puis le sauvegarder. Redémarrez ensuite Batocera.

Kodi

Kodi (anciennement Xbox Media Center ou XBMC) est un lecteur multimédia libre initialement créé pour la première génération de la console de jeux Xbox. Le logiciel a ensuite été porté sur les systèmes d’exploitation BSD, Raspbian, GNU/Linux, Mac OS X, Microsoft Windows, Android et iOS.

Kodi supporte un large choix de formats multimédia et incorpore des fonctionnalités telles que les listes de lecture, les visualisations audio, les diaporamas d’images, les prévisions météo et toute une série d’extensions tierces. En tant que Media center, Kodi peut lire la plupart des formats de fichiers audio et vidéo, et afficher des images depuis n’importe quelle source virtuelle, incluant les CD, DVD, disque USB, Internet et Réseau local. Il peut se connecter sur Internet Movie Database ou CDDB pour récupérer des informations sur les musiques ou vidéos. Kodi offre aussi la possibilité de regarder des vidéos en streaming ou d’écouter les radios sur Internet, notamment celles des services Shoutcast et Last.fm. (source Wikipedia)

Réglages de base

Pour démarrer Kodi ouvrez le menu principal de Batocera.

 

L’écran d’accueil de Kodi S’affiche un moment.

Cliquez sur l’icône Paramètres

Puis sur Interface

Modifiez les paramètres de langue et de clavier si nécessaire.

Pour l’utilisation de Kodi, reportez vous aux nombreux tutoriels disponibles en ligne.

Transformer ses ROM en CHD

Les émulateurs (en particulier MAME) nécessitent des jeux au format CHD

Pour la conversion de roms en CHD sous Windows

Placez vous dans le dossier des ROM et lancez la commande

Pour la conversion de roms en CHD sous Linux

ARGH ! Ma manette ne fonctionne pas (plus)

Ça vous arrivera peut être… En testant j’ai mal configuré ma manette, du coup je me suis dit bah c’est pas grave je passe toute la config en appuyant sur un bouton déjà utilisé. Et là… plus de bouton programmé sur la manette, plus moyen de valider dans le menu.

Seule solution, virer le fichier de configuration des manettes et le remplacer par l’original.

Pour supprimer le fichier défectueux ou vos mauvais réglages de manette si vous ne pouvez pas les effacer manuellement.

Et ensuite aller récupérer le fichier directement sur le github de Batocera pour le remplacer.

Vous perdez vos configs !

  • Le nouveau fichier va écraser l’ancien. Si vous avez configuré plusieurs manettes, les configurations seront perdues il faudra refaire les configurations.
  • Le nouveau fichier peut permettre de faire reconnaître par Batocera des manettes récemment sorties car les développeurs ajoutent régulièrement de nouveaux modèles dans le fichier.

Vidéo de lancement de Batocera 29

Cliquez sur ce lien pour voir la vidéo de lancement

 

Mes premiers essais de Batocera 29

 

Sources

Faciliter le retrogaming avec son NAS

 

 

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

11 réflexions au sujet de « Batocera 29 le retrogaming pour Raspberry Pi »

  1. Bernard

    Très pédagogique comme d’habitude et surtout merci Francois pour le travail.
    Juste une remarque, au début de l’article vous écrivez :” Un certain nombres de boîtiers sont également supportés, comme les Argon One par exemple”
    En quoi le boitier est concerné dans la version de Batocera? Par exemple j’ai un Pi4B dans un boitier Argon One j’ai donc chargé la version PI4B, quelle est l’incidence du boitier en l’occurrence ?
    Très cordialement. 😉

    Répondre
    1. François MOCQ Auteur de l’article

      Bonjour Bernard
      c’est la gestion de l’arrêt qui est faite par Batocera
      je n’ai pas testé car j’ai fait tourner sur pi 4 mais normalement la distribution gère les GPIO en fonction du boitier
      cdt
      françois

      Répondre
  2. Gordon

    Salut à tous.

    Je possède une play station one (première génération) acheté en 1998, avec quelques CD que l’on ne trouve plus dans le commerce car trop ancien.
    Admettons que j’utilise Batocera 29 sur ma raspbrry pi 4B / 8GB.
    Comment je fais pour récupérer ce qui se trouve sur mes CD et les installer dans une carte micro SD ?

    Cordialement.
    Artemus24.
    @+

    Répondre
    1. liberodark

      Ce n’est pas très compliqué mais cela demande un peut de temps 😀
      1 Déjà tu peux utiliser CloneCD ou alternative (Attention aux protections de certains jeux) pour les jeux PS1
      2 Je te conseil te faire une conversion vers CHD
      3 Il suffit de mettre tes jeux dans la Partition Share de ta MicroSD en SMBou SFTP
      4 Tu peux jouer 😀

      Répondre
  3. FRANCOIS DELPIERRE

    Bonjour, comment fait -on pour mettre le menu de Batocera 5.29 en 4/3 ? Avant sur ma borne, j’avais Recalbox et le menu était ajusté. Par préférence, j’ai installé Batocera mais il n’y a pas de réglage possible. Le menu est en 16/9, par conséquent les côtés sont rognés.
    Cordialement

    Répondre
  4. Godefroy

    Merci beaucoup pour ce tuto qui m’a vraiment bien aidé.

    Je n’arrivais pas à rentrer dans le raspberry (c’est parce que je tapais l’adresse ip dans mon adresse de navigateur en fait… Au lieu de lancer par la fonction exécuter)

    Répondre

Laisser un commentaire

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

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.