Recalbox vs Retropie


J'ai testé Retropie en premier, sur un RaspberryPI B+ v1 : Très simple à installer, rien à dire. De mémoire, il fallait bricoler un poil pour resize le filesystem. Emulation ok, scrapping ok. Puis un ami m'a dit de tester Recalbox, qu'il utilisait lui sur son Pi en mode media center. J'ai regardé vite fait la doc et il faut dire que c'est attirant : Communauté française très active, beaucoup de docs, d'exemples, de retours d'expérience et une petite fonctionnalité qui me manquait dans Retropie : Le mode démo :D
 

Installation de l'OS


Devant réinstaller le système à cause du passage au RPi 3 B+, j'en profites pour tester Recalbox en version 6.0. Un petit dd du fichier img vers ma sdcard 64Go, on l'enfile dans le RPi et go. L'OS est opérationnel desuite, bluffant. La commande Linux pour ceux qui ont besoin :
dd if=/home/toto/recalbox.img of=/dev/mmcblk0 conv=fsync

Avec le recul, et en voyant la taille des jeux de consoles un peu récente, mon choix de stockage est peut être pas super. Dans les docs Recalbox, ils préconisent plutôt de stocker les "data" sur un stockage USB et ne mettre que l'OS sur la sdcard. On verra à l'usage mais sachez que la bonne pratique est de séparer OS et data.

Pour la suite de la conf, on peut faire du ssh en root avec le mot de passe 'recalboxroot', on peut aussi accéder à une bonne partie du filesystem (dont le dossier des roms et le fameux recalbox.conf) via un serveur samba préinstallé ou en passant par une webUI de management qui devra être activée avant. Cette appli web est très sympa, on voit la conso en cpu/ram/filesystem, on peut lancer des commandes comme un restart ou lancer un jeu, on peut aussi accéder aux logs système et emulstation.
 

Configuration de l'affichage


J'ai eu une petite déconvenue quand je suis passé de mon écran en 16/10eme vers l'écran prévu pour la borne, un 19" en 4/3 5/4 : plus d'image du tout une fois un émulateur lancé ... On trouve facilement la réponse sur le net, il faut modifier la variable 'global.videomode' du fichier recalbox.conf. Avec la commande 'tvservice -m DMT', on a la liste des modes supportés. J'ai choisi celui avec la plus grosse résolution en 60Hz et qui revient souvent dans les docs et posts des forums : DMT 35 HDMI.

Cette documentation est simple et claire :
https://github.com/Laddyacris/Wiki/wiki/Configuration-r%C3%A9solution-%C3%A9cran-avec-adaptateur-HDMI-vers-VGA

A noter que j'ai du forcer 'global.ratio' sur 5/4 car j'avais deux petites bandes noires en haut et bas en utilisant 'auto' ou 'custom', cela serait à cause de l'adaptateur HDMI -> VGA que j'utilise.
 

L'émulation d'arcade


Autre point qui m'a fait un peu galérer est l'émulation de l'arcade. Il n'était pas question de passer à coté des magnifiques jeux d'arcade, surtout pour une borne d'arcade ;-) C'est encore pas très claire pour moi mais en gros il y a différentes versions du "bios" Mame et donc il faut trouver la rom qui correspond à cette version. Recalbox est fournie avec plusieurs versions de Mame, la 0.78 est la plus classique, appelée aussi Mame 2003. Il y a aussi la 0.139 aka Mame 2010 qui m'a été utile pour certaines roms.

Dans la selection des jeux, on peut éditer les paramètres d'un jeu avec le bouton select, puis dans "Editer les données du jeu", sur cet écran on peut choisir la version à utiliser (càd le core) :
config01.png

Il peut être nécessaire de modifier d'autres paramètres, comme l'overclocking ou la région, pour cela il faut passer par un menu accessible quand le jeu est lancé, en appuyant sur la touche hotkey et le bouton B. J'en ai eu besoin par exemple, pour corriger un problème de lag sur Metal Slug 2 :
config2.png

Post update 6.1 : Ils ont rajouté mame2015, je n'ai pas encore eu de jeux nécessitant cette version. Si vous avez du lag avec une rom, malgré l'overclocking, vous pouvez tester avec une autre version de mame. Il y a par exemple une version nommée "mame2003-plus" qui m'a donnée de bon résultat sur des roms qui ramaient en mame2003.
 

Le scrapping des jeux


Le scrapping consiste à contacter une base de données en ligne pour y récupérer les métadatas de nos jeux (càd la pochette, l'année de sortie, le genre, un synopsis, etc), indispensable pour avoir un menu agréable à parcourir. Avec Retropie, si ce dernier était connecté au LAN, on pouvait lancer un scrapping depuis la borne elle même, c'était plutôt facile. Dans Recalbox, je n'ai pas réussi à faire marche la fonction de scrapping intégré dans l'interface. A vrai dire, j'ai pas trop insisté car personne ne semble l'utiliser, tout le monde passe par des programmes externes tourant sur une autre machine.

J'ai utiliser le logiciel Universal XML Scrapper, je n'en ai pas testé d'autres donc je peux difficilement juger de sa qualité :
https://github.com/Universal-Rom-Tools/Universal-XML-Scraper/releases

Le logiciel va se connecter au RPi en utilisant le nom netbios 'recalbox' mais vous pouvez configurer l'IP du RPi si jamais. La base de données utilisée est le site screenscraper.fr (encore une ressource FR), vous n'êtes pas obligé de créer un compte mais pendant mes tests, il y avait des problèmes de disponibilité de ce site (visiblement ils ont des soucis de conso CPU, à priori ils ont une base mysql :S) et certaines fonctionnalités étaient réservées aux users connectés.

Je ne sais pas comment est faite la reconciliation entre une ROM et un jeu dans la base mais j'ai toujours eu 100% de roms scrappées (en fait non, j'ai une rom patchée FR qui n'est pas scrappée, ainsi que les jeux Sega 32x), pas besoin d'éditer à la main.

Post update 6.1 : Ils ont mis à jour les appels aux webservices de gamedb et ils ont ajoutés screenscraper, on peut maintenant scrapper les jeux directement depuis la Recalbox. Dans le fichier recalbox.conf, on peut configurer son compte screenscraper et le type d'affichage, j'utilise pour ma part le mixv2.
 

Le thème de l'interface


J'aime pas l'écran du thème par défaut où les jeux sont listés, l'image générée par le scrapper est trop petite, il y a trop d'info pas forcément utile. Il y de nombreux thèmes dispo qui en plus d'être plutôt beau, permettent de personnaliser un peu plus sa borne. Attention, il y a un piège sur le filesystem de Recalbox, les thèmes ne sont pas à mettre dans le dossier /share/themes mais dans share/system/.emulationstation/themes, vous voilà prévenu :D

En mode 4:3 (ou 5:4), on a pas beaucoup de choix mais heureusement les thèmes 16:9 rendent quand même bien. Deux thèmes m'ont plu, Alekfull NX Cobalto et Next Pixel, le premier n'est dispo qu'en 16:9 alors que le second a une version 4:3. A noter que les thèmes peuvent avoir des options, comme différents types de caroussel (horizontal ou vertical) ou des modes dark/light.

Illustration du thème Alekfull NX Cobalto :
theme1.png
theme2.png

Illustration du thème Next Pixel :
theme3.png
theme4.png
 

Le mode démo


Une des fonctionnalités qui m'a tapé dans l'oeil quand j'ai vu le changelog de cette version 6.0 : Le mode démo en guise de screensaver <3 Je vais modifier la liste des systèmes concernés par ce mode pour y exclure les jeux consoles pas très visuel (genre missile command :D), donc dans recalbox.conf :
global.demo.systemlist=mame,neogeo,favorites

Les roms d'arcade sont un peu longue à charger mais leur mode démo tellement sympa à regarder, je vais un peu allonger la durée entre chaque rotation de jeux :
global.demo.duration=150

Post update 6.1 : Ils ont ajoutés un pti truc sympa avec le mode démo, avant de passer à un autre jeu, un résumé du jeu est affiché pendant quelques secondes (6s par défaut, paramétrable) indiquant son nom, son système et l'image issue du scrapping.
demo1.png
 

Références


Le site de Recalbox où récupérer l'OS : https://archive.recalbox.com/
La documentation FR : https://github.com/recalbox/recalbox-os/wiki/Home-%28FR%29
Un repo de roms compatibles Mame 0.78 : https://archive.org/download/MAME2003_Reference_Set_MAME0.78_ROMs_CHDs_Samples/roms/
Un site vraiment complet pour les roms autres que Mame2003 : http://www.gametronik.com/site/index.php
Thème Alekfull NX Cobalto : https://forum.recalbox.com/topic/17141/theme-alekfull-nx-for-recalbox-18-03-16
Thème Next Pixel : https://forum.recalbox.com/topic/16064/recalbox-6-1-snap-videos-next-pixel-theme