(Voir la page principale sur le Raspberry Pi 3 B)
RecalBox est une distribution orientée émulation de consoles de jeux et inclue également le médiacenter Kodi. Une fois installé, RecalBox peut se piloter avec juste des manettes de jeux.
Note: Si j'ai bien réussi à installer RaspBian et LibrELEC à partir de NOOBS, je n'ai pas réussi à installer RecalBox. (Après téléchargement et installation, j'ai juste obtenu un écran noir après celui de NOOBS).
Vous pouvez par contre utiliser PINN (un dérivé de NOOBS) qui supporte RecalBox.
Alternativement, vous pouvez aussi télécharger recalbox.img.xz
du site officiel de RecalBox et utiliser Etcher pour le transférer sur MicroSD.
RecalBox est fourni avec une poignée de jeux "homebrew" parfaitement légaux. Si vous voulez toute la panoplie de jeux, il vous faut:
/share/bios/
)/share/roms/…
, par exemple /share/roms/snes
pour les roms SuperNintendo)Voici diverses sources de ROMs:
Si vous n'avez pas les captures d'écran des ROMs, ne vous inquiétez pas: RecalBox a une option pour aller chercher automatiquement les captures d'écran et pochettes des jeux (voir l'option "Scraping" dans les menus).
J'ai environ: 700 jeux MegaDrive, 700 jeux SuperNintendo, 700 jeux bornes d'arcade MAME et 300 jeux Nintendo 64. Le tout fait environ 8 Go, ça tient sans problème sur la carte MicroSD de 16 Go fournie avec le RasPi3.
Notez qu'avec RecalBox il est possible de mettre les jeux sur une clé USB, ce qui permet d'en stocker plus, et surtout de ne pas avoir à recopier les jeux à nouveau si vous ré-installez un OS sur la MicroSD. Pour le moment, je les laisse sur la MicroSD (Avec environ 2400 jeux, je pense qu'il y a déjà de quoi s'occuper).
Performances: Sur un Raspberry Pi 3B, l'émulation des "petites" consoles passera sans problème (SuperNintendo, MegaDrive, MAME, etc.) mais n'espérez pas émuler une GameCube ou une Wii. Les jeux PSP (Playstation Portable) ne passent pas bien (ralentissements, son saccadé). Pas de soucis avec la majorité des jeux Nintendo 64 et PS1/PSX (Playstation 1). Cela laisse quand même de quoi émuler des milliers de jeux sans problème. Si vous voulez aller jusqu'à l'émulation de la Wii, il faudra sans doute passer à des micro-ordinateurs plus puissants (comme l'ODroid C2). Vous pouvez aussi émuler la Wii sur votre PC avec Dolphin.
Une fois en réseau, RecalBox est accessible à l'adresse recalbox.local ou juste recalbox (c'est du ZeroConf/Avahi/Bonjour/mDNS). Vous pouvez y accéder:
Cela vous permet de transférer de nouvelles ROMs dans le répertoire /share
sans avoir à enlever la carte MicroSD du Raspberry. (Après avoir ajouté de nouvelles ROMs, pensez à redémarrer votre Raspberry.)
dmesg
après avoir branché une manette. Vous verrez par exemple: [ 5407.765078] usb 1-4: new low-speed USB device number 9 using xhci_hcd [ 5407.916796] usb 1-4: New USB device found, idVendor=0810, idProduct=0001 [ 5407.916803] usb 1-4: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 5407.916808] usb 1-4: Product: USB Gamepad [ 5407.920936] input: USB Gamepad as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/0003:0810:0001.0006/input/input36 [ 5407.981774] pantherlord 0003:0810:0001.0006: input,hidraw2: USB HID v1.10 Joystick [ USB Gamepad ] on usb-0000:00:14.0-4/input0 [ 5407.981803] pantherlord 0003:0810:0001.0006: Force feedback for PantherLord/GreenAsia devices by Anssi Hannula <anssi.hannula@gmail.com>
lsusb
(sur un ordinateur) me donne:ID 0810:0001 Personal Communication Systems, Inc. Dual PSX Adaptor
sudo apt install jstest-gtk
et lancez ce programme. recalbox.conf
, j'ai changé le paramètre controllers.ps3.driver=bluez
par controllers.ps3.driver=gasia
(puis redémarré le Raspberry)/recalbox/share/system/recalbox.conf
ou en passant par l'interface web: http://recalbox.local/recalbox-conf/recalbox/share_init/shaders/5xbr.glslp
) pour tous les jeux pixelisés (SNES, MAME, Megadrive…). Il donne en général d'assez bons résultats (en lissant les pixels sans trop flouter) et ne ralentit pas les jeux.recalbox.conf
. Par exemple, j'aime bien le shader "5xbr" pour certaines consoles. J'ai donc ajouté les lignes:mame.shaders=/recalbox/share_init/shaders/5xbr.glslp snes.shaders=/recalbox/share_init/shaders/5xbr.glslp megadrive.shaders=/recalbox/share_init/shaders/5xbr.glslp
/recalbox/share/system/recalbox.conf
(ou en passant par l'interface web: http://recalbox.local/recalbox-conf):audio.device=hdmi
Il existe d'autres thèmes pour RecalBox.
/share/system/.emulationstation/themes
Autres thèmes sur le forum de RecalBox.
Afin de ne pas perdre le contenu de la MicroSD soigneusement préparée par mes soins, j'en fait des sauvegardes (une MicroSD n'est pas éternelle). Il y a deux manière de procéder: Image des partitions ou backup des fichiers individuels.
RecalBox est constitué de 3 partitions:
Je met directement la MicroSD dans mon ordinateur (avec l'adaptateur SD fourni) afin de faire une images de ces 3 partitions.
En faisant des images des partitions, cela me permet de restaurer complètement le système en cas de gros problème sur la MicroSD, ou même de restaurer sur une autre MicroSD. Plutôt que d'utiliser dd, j'utilise partclone qui est un peu plus intelligent et ne sauvegardera pas les secteurs vides. Cela permet de gagner beaucoup de temps sur la sauvegarde et produire des fichiers plus petits.
Je sauvegarde en prime le MBR avec dd. Voici le script (à exécuter en sudo):
#!/bin/bash umount /dev/sdc1 umount /dev/sdc2 umount /dev/sdc3 # Sauvegarde du MBR: dd if=/dev/sdc of=mbr.bin bs=512 count=1 # Sauvegarde des 3 partitions: partclone.vfat -c -d -s /dev/sdc1 | pigz > sdc1.BOOT.partclone.fat32.gz partclone.ext4 -c -d -s /dev/sdc2 | pigz > sdc2.RECALBOX.partclone.ext4.gz partclone.ext4 -c -d -s /dev/sdc3 | pigz | split -d -b 4000M - sdc3.SHARE.partclone.ext4.gz. md5sum * > md5sums chmod 777 *
Note: La sauvegarde de la troisième partition (SHARE) faisant plus de 4 Go, on la découpe en fichiers de 4 Go avec la commande split. (Cela produit des fichiers sdc3.SHARE.partclone.ext4.gz.00
, sdc3.SHARE.partclone.ext4.gz.01
, etc.). Cela permet de la copier sur un disque dur externe en FAT32.
Restauration:
# Restaurer le MBR: sudo dd if=mbr.bin of=/dev/sdc # Restaurer les partitions: zcat sdc1.BOOT.partclone.fat32.gz | sudo partclone.restore -d -o /dev/sdc1 zcat sdc2.RECALBOX.partclone.ext4.gz | sudo partclone.restore -d -o /dev/sdc2 cat sdc3.SHARE.partclone.ext4.gz.* | pigz -d | sudo partclone.restore -d -o /dev/sdc3
Je fais un peu plus souvent un backup des fichiers par ssh avec rsync. Cela va sauvegarder les roms, les paramètres de chaque jeu, les parties sauvegardées, les captures d'écran, votre paramétrage RecalBox, etc.
Le premier backup sera long (il va tout sauvegarder), mais les suivants seront très rapides. Du coup, pas de problème à lancer très souvent ce script.
#!/bin/bash mkdir -p "ssh-mirror/" sshpass -p 'recalboxroot' rsync -av --no-p -zz --delete --progress root@recalbox.local:/recalbox/ -e "ssh -p 22" "ssh-mirror/"
/RECALBOX/recalbox/system/resources/splash
/share/system/.kodi/temp/
. Voir à mettre ce répertoire en tmpfs.