La surcharge de configuration permet de modifier le comportement de Recalbox, de RetroArch ou d'un émulateur pour un seul jeu ou pour tous les jeux d'un dossier, en posant de simples fichiers texte dans vos dossiers de roms. Concrètement, vous pouvez ainsi :
Les fichiers de surcharge vivent au milieu de vos roms : ils survivent à une mise à jour, à un retour aux paramètres d'usine et même à un changement de carte SD si vos roms sont sur un stockage externe. Ils sont aussi transportables : copiez vos roms chez un ami, vos réglages suivent.
Chaque type de surcharge s'applique à un fichier de configuration de base, chargé au lancement d'un jeu :
| Suffixe de surcharge | Cible | Fichier de base |
|---|---|---|
.recalbox.conf |
Recalbox (choix d'émulateur, options de lancement) | /recalbox/share/system/recalbox.conf |
.retroarch.cfg |
RetroArch (hors options des cores) | /recalbox/share/system/configs/retroarch/retroarchcustom.cfg |
.core.cfg |
Options des cores RetroArch | /recalbox/share/system/configs/retroarch/cores/retroarch-core-options.cfg |
Tous ces fichiers sont au format clé=valeur (une ligne par réglage). Une surcharge peut modifier la valeur d'une clé existante ou en définir une nouvelle.
Quelques émulateurs standalone ont aussi leur fichier de surcharge dédié — voir la section en bas de page.
Le principe : Recalbox charge d'abord la configuration de base, puis applique successivement les fichiers de surcharge trouvés à chaque niveau de dossier, de la racine jusqu'au dossier du jeu, et termine par la surcharge propre au jeu si elle existe. Chaque niveau peut donc surcharger le précédent.
Exemple : au lancement de /recalbox/share/roms/snes/platform/Aladdin (France).zip, la configuration RetroArch est construite dans cet ordre :
/recalbox/share/system/configs/retroarch/retroarchcustom.cfg/.retroarch.cfg/recalbox/.retroarch.cfg/recalbox/share/.retroarch.cfg/recalbox/share/roms/.retroarch.cfg/recalbox/share/roms/snes/.retroarch.cfg/recalbox/share/roms/snes/platform/.retroarch.cfg/recalbox/share/roms/snes/platform/Aladdin (France).zip.retroarch.cfgEn pratique, on place ses surcharges à partir du dossier d'un système (roms/snes/…), pas plus haut.
Deux règles de nommage à retenir :
roms/snes/.retroarch.cfg s'applique à tout le dossier snes.Aladdin (France).zip.retroarch.cfg..recalbox.conf)C'est l'usage le plus courant : forcer un émulateur ou un core pour un jeu ou un dossier, avec les clés global.emulator / global.core (ou leurs variantes par système <système>.emulator / <système>.core, prioritaires).
Exemple : mon jeu /recalbox/share/roms/pcengine/1943 Kai (Japan).zip fonctionne mieux avec le core mednafen_pce_fast qu'avec le core par défaut. Je crée le fichier /recalbox/share/roms/pcengine/1943 Kai (Japan).zip.recalbox.conf :
global.emulator=libretro
global.core=mednafen_pce_fast
Le choix d'émulateur se fait dans cet ordre (chaque étage bat le précédent) :
<système>.emulator / <système>.core dans recalbox.conf ;MODIFIER LE JEU → stocké dans gamelist.xml) ;.recalbox.conf (dossiers puis jeu).Une surcharge est donc prioritaire sur le réglage fait dans les menus — et contrairement au gamelist.xml, elle ne risque rien lors d'un scrape.
Le nom des cores à utiliser est indiqué sur la page de chaque système dans la section Émulateurs du wiki.
Pour faire cohabiter plusieurs romsets MAME, chacun dans son dossier :
┣ 📁 roms
┃ ┣ 📁 mame
┃ ┃ ┣ 📁 romset-0.78
┃ ┃ ┣ 📁 romset-0.139
Fichier /recalbox/share/roms/mame/romset-0.78/.recalbox.conf :
mame.emulator=libretro
mame.core=mame2003_plus
Fichier /recalbox/share/roms/mame/romset-0.139/.recalbox.conf :
mame.emulator=libretro
mame.core=mame2010
Raccourci sans aucun fichier : dans le dossier
mame, un sous-dossier portant un nom connu (mame2000,mame2003,mame2003+,mame2010,mame2015,mame2016,mame0258,mame0278,advancemame…) sélectionne automatiquement le core correspondant pour tout son contenu. La surcharge.recalbox.confreste utile pour des noms de dossiers libres — et reste prioritaire sur cette détection automatique.
Au-delà du choix d'émulateur, les clés de recalbox.conf lues au lancement d'un jeu peuvent être surchargées, en version global.* ou <système>.* : ratio, smooth (lissage), rewind (rembobinage), autosave, integerscale, shaderset / shaders, showfps, hdmode, widescreenmode, recalboxoverlays, quitpresstwice, netplay, translate (et translate.from, translate.to…), runahead, reducelatency, rumble…
Exemple — désactiver le lissage et activer le rembobinage sur tout le dossier snes : fichier /recalbox/share/roms/snes/.recalbox.conf :
global.smooth=0
global.rewind=1
Le détail de ces clés est décrit dans la page recalbox.conf.
Surcharger une clé qui n'est pas lue au lancement d'un jeu n'a aucun effet : inutile d'espérer changer le comportement des listes de jeux d'EmulationStation (tris, favoris…) par ce biais. La clé
videomode(modesCEA x HDMI) ne concerne que les Raspberry Pi 0, 1 et 2 : sur les autres machines, la résolution par jeu se règle dans les options d'EmulationStation.
.retroarch.cfg)Les fichiers .retroarch.cfg surchargent la configuration de RetroArch : vidéo (ratio, rotation, shaders), audio, overlays, manettes et hotkeys, netplay, traduction en jeu, dossiers de sauvegarde… Elles ne s'appliquent évidemment qu'aux émulateurs Libretro (cores RetroArch).
Ces surcharges sont appliquées en tout dernier au lancement : elles gagnent sur la configuration générée par Recalbox, y compris sur les réglages d'overlays.
Exemple — certains jeux N64 comme GoldenEye 007 ou Perfect Dark exigent de désactiver l'option « analogique vers numérique » ; fichier /recalbox/share/roms/n64/.retroarch.cfg :
input_player1_analog_dpad_mode = "0"
input_player2_analog_dpad_mode = "0"
➡️ Liste des clés utiles : Surcharges RetroArch
.core.cfg)Chaque core Libretro a ses propres options (visibles dans le menu RetroArch, OPTIONS DU CORE). Les fichiers .core.cfg permettent de les fixer par dossier ou par jeu — idéal pour les cores multi-machines, où l'on peut créer un sous-dossier par modèle :
┣ 📁 roms
┃ ┣ 📁 thomson
┃ ┃ ┣ 🗒 .core.cfg
┃ ┃ ┣ 📁 MO5
┃ ┃ ┃ ┣ 🗒 .core.cfg
┃ ┃ ┣ 📁 TO8-TO9
┃ ┃ ┃ ┣ 🗒 .core.cfg
Fichier /recalbox/share/roms/thomson/.core.cfg (réglages communs — machine auto-détectée, autorun, protection en écriture) :
theodore_rom = "Auto"
theodore_autorun = "enabled"
theodore_floppy_write_protect = "enabled"
theodore_tape_write_protect = "enabled"
Fichier /recalbox/share/roms/thomson/MO5/.core.cfg :
theodore_rom = "MO5"
Fichier /recalbox/share/roms/thomson/TO8-TO9/.core.cfg (le TO9+ est rétrocompatible avec toute la série TO8/TO9) :
theodore_rom = "TO9+"
Chaque sous-dossier émule désormais la bonne machine, sans dépendre de l'auto-détection.
Depuis Recalbox 10.1, le core PUAE (Amiga) affiche par défaut, au lancement d'un jeu WHDLoad qui le permet, un écran de configuration du jeu (option puae_use_whdload_prefs = "config"). Pour le désactiver sur tout votre dossier Amiga, créez par exemple /recalbox/share/roms/amiga1200/.core.cfg :
puae_use_whdload_prefs = "disabled"
Les surcharges
.core.cfgsont fusionnées dans le fichier globalretroarch-core-options.cfg, où RetroArch les sauvegarde ensuite. Si vous surchargez un jeu avec une valeur particulière, pensez à poser aussi la valeur « normale » dans le.core.cfgdu dossier (par exemplefbneo-frameskip = "0"dans le dossier et"2"pour le jeu), sinon la valeur du jeu restera active pour les suivants.
Les options disponibles pour chaque core sont listées sur la page du core dans la section Émulateurs du wiki.
Pour compléter vos sous-dossiers (versions de MAME, machines Thomson…), vous pouvez remplacer l'image et la description qu'EmulationStation affiche pour un dossier. Placez dans le dossier concerné :
.folder.picture.png — l'image affichée à la place de l'aperçu du dossier (une résolution proche de vos images scrapées est recommandée) ;.folder.description.txt — texte affiché sous l'image (optionnel).Le fichier de description peut contenir des sections par langue, avec un repli automatique sur [en] puis sur le texte complet :
[fr]
MAME 2003 Plus — romset basé sur MAME 0.78.
[en]
MAME 2003 Plus — romset based on MAME 0.78.
📷 Capture à venir :
configuration-override-folder.png(dossier avec image et description personnalisées dans EmulationStation)
Quelques émulateurs standalone (hors RetroArch) disposent de leur propre fichier de surcharge, avec la même cascade dossiers puis jeu :
| Émulateur | Suffixe de surcharge | Particularité |
|---|---|---|
| Hatari (Atari ST) | .hatari.cfg |
cascade complète |
| Vice (Commodore) | .vice.conf |
cascade complète |
| Amiberry (Amiga) | .uaeconfig.uae dans le dossier de la rom, ou <rom sans extension>.uae à côté de la rom |
pas de cascade ; .amiberry.conf surcharge en plus la configuration de l'hôte |
| XRoar (Dragon/CoCo) | .xroar.config |
seul le fichier le plus proche du jeu est utilisé (pas de fusion) |
| VG5000 | .vg5000.cfg |
cascade complète |
Les autres émulateurs standalone ne sont pas surchargeables : ajouter ces mécanismes demande du code et des tests spécifiques à chacun. N'hésitez pas à en discuter sur le Discord Recalbox si un besoin précis se présente.