Recalbox has a configuration file named recalbox.conf
which allows you to modify options that are not necessarily available in EmulationStation.
To modify it, you can use either:
The web manager.
To know how to get there, you can check this page.
In the left menu, click on recalbox.conf
.
You have to refresh the page manually once the file is modified, otherwise you will see the version without your changes.
Recalbox folders shared on the local network. The recalbox.conf
file is available in the directory /recalbox/share/system/
.
A connection via SSH and modify the file in the system at the location /recalbox/share/system/recalbox.conf
.
The
;
at the beginning of a line means that it is disabled. Remove the;
to enable the option associated with the line.For Windows users:
If you do not use the option via the webmanager, you must use a real text editor, such as Notepad++. The default text editor in Windows inserts bad characters in the file, making it unreadable by the system.
videomode**: sets the videomode. Use default to disable the videomode switch (for crt screens)
example: global.videomode=1280x720
.
shaderset: set the shader set for all emulators (none, retro, scanlines) see Shader configuration
example: global.shaderset=retro
integerscale : enable / disable the "pixel perfect" integerscale option in games.
example : global.integerscale=0
shaders : define the path to the shader or the shader preset (glsl or glslp)
example: global.shaders=/recalbox/share_init/shaders/scanline.glslp
ratio: defines the ratio used for games (16/9, 4/3, 16/10, auto or custom)
example: global.ratio=16/9
smooth : smoothing of sets
example: global.smooth=0
rewind : enable/disable in-game rewind (may slow down emulation)
example: global.rewind=1
autosave : enable / disable the option to save / load automatically when launching / closing a game
example: global.autosave=0
retroachievements : enable / disable retroachievements in game
example: global.retroachievements=0
retroachievements - hardcore mode: enable / disable hardcore retroachievements mode in game (disable rewind and savestates)
example: global.retroachievements.hardcore=0
retroachievements - username : set your retroachievements username
example: global.retroachievements.username=
retroachievements - password: set your retroachievements password
example: global.retroachievements.password=
inputdriver : force the "input" driver used in retroarch (auto, sdl2, udev)
example: global.inputdriver=auto
global.videomode=1280x720
global.shaderset=none
global.integerscale=0
global.shaders=
global.ratio=auto
global.smooth=1
global.rewind=1
global.autosave=0
global.retroachievements=0
global.retroachievements.hardcore=0
global.retroachievements.username=
global.retroachievements.password=
global.inputdriver=auto
global.smooth=1
.global.shaders=/recalbox/share_init/shaders/scanline.glslp
.Each emulator can be configured independently, use the system name and set the variables.
3do , amstradcpc , apple2 , atari2600 , atari5200 , atari7800 , atarist , atomiswave , c64 , cavestory , channelf , colecovision , dreamcast , dos , fba , fba_libretro , fds , gamegear , gba , gb , gbc , gw , jaguar , lutro , lynx , mame , mastersystem , megadrive , moonlight , msx , msx1 , msx2 , n64 , nds , naomi , nes , neogeo , neogeocd , ngp , ngpc , o2em , pcengine , pcenginecd , prboom , psx , satellaview , scummvm , sega32x , segacd , sg1000 , snes , supergrafx , vectrex , virtualboy , wswan , wswanc , zx81 , zxspectrum , x68000 _.
videomode: defines the video mode (use tvservice to get compatible values).
example: snes.videomode=1920x1080
integerscale : enable / disable integerscale "pixel perfect " in games
example: `snes.integerscale=0
shaders : define the path to the shader or the shader preset (glsl or glslp)
example: snes.shaders=/recalbox/share_init/shaders/scanline.glslp
ratio : defines the ratio used for the games (16/9, 4/3, 16/10, auto or custom)
example: snes.ratio=4/3
smooth : smooth : smoothing of sets.
example: snes.smooth=0
rewind: enable/disable in-game rewind (may slow down emulation)
example: snes.rewind=1
autosave : enable / disable the option to save / load automatically when launching / closing a game
example : global.autosave=0
core : defines the core used for emulation (libretro cores are located in /usr/lib/libretro)
example : snes.core=snes9x_next
emulator : defines the emulator used for emulation (emulators are : retorarch, fba2x, mupen64)
example: neogeo.emulator=fba2x
configfile : ****forces loading ****of your own configuration file.
Recalbox will not automate the emulator configuration.
example: snes.configfile=/path/to/my/configfile.cfg
There are links to default recalbox.conf files for Pi0/Pi1, Pi2, Pi3, Pi4 / Pi-400, x86, x86-64, XU4 et Odroid Go
# System Variable
# You can configure your recalbox from here
# To set a variable, remove the first ; on the line
# ------------ A - System Options ----------- #
# Uncomment the system.power.switch you use
;system.power.switch=ATX_RASPI_R2_6 # http://lowpowerlab.com/atxraspi/#installation
;system.power.switch=MAUSBERRY # http://mausberry-circuits.myshopify.com/pages/setup
;system.power.switch=REMOTEPIBOARD_2003 # http://www.msldigital.com/pages/support-for-remotepi-board-2013
;system.power.switch=REMOTEPIBOARD_2005 # http://www.msldigital.com/pages/support-for-remotepi-board-plus-2015
;system.power.switch=WITTYPI # http://www.uugear.com/witty-pi-realtime-clock-power-management-for-raspberry-pi
;system.power.switch=PIN56ONOFF # https://wiki.recalbox.com/en/tutorials/others/add-on-off-button-to-your-recalbox
;system.power.switch=PIN56PUSH # https://wiki.recalbox.com/en/tutorials/others/add-on-off-button-to-your-recalbox
;system.power.switch=PIN356ONOFFRESET # https://wiki.recalbox.com/en/tutorials/others/add-on-off-button-to-your-recalbox
;system.power.switch=PIN356PUSHRESET # https://wiki.recalbox.com/en/tutorials/others/add-on-off-button-to-your-recalbox
## fbcp FrameBuffer Copy Program
## For small TFT screen on GPIO and SPI
## See https://github.com/recalbox/recalbox-os/wiki/Utility---Use-of-fbcp-for-small-TFT-screen-%28EN%29 for details
## Needed for Waveshare 3.2" 3.5" TFT screen, 2.8" Adafruit screen
## See https://wiki.recalbox.com/en/tutorials/video/tft/tft-lcd-on-spi-bus
## for support and configuration details needed by /boot/config.txt
system.fbcp.enabled=0
## Splash screen duration
## 0: Video will be played for 20 seconds (default)
## -1: All the video will be played (it won't be stopped automatically)
## >0 : Time before the video will be stopped (in seconds)
system.splash.length=0
## Recalbox Manager (http manager)
system.manager.enabled=1
## Currently, only version 2 is available
system.manager.version=2
## Recalbox security
# enforce security
# samba password required
# disable virtual gamepads
system.security.enabled=0
## Recalbox API (REST)
system.api.enabled=0
## Allow a specific resolution for ES only from the command : tvservice -m [MODE]
## Leave commented for the default usual behaviour
;system.es.videomode=CEA 4 HDMI
## EmulationStation
### menu style
### default -> default all options menu
### none -> no menu except the game search menu
### bartop -> less menu, only needed for bartops
emulationstation.menu=default
### Select a system to show on boot (use rom directory name) (string)
emulationstation.selectedsystem=favorites
### Show the gamelist of the first or selected system on boot (0,1)
emulationstation.bootongamelist=0
### Disable system view. ES will boot and show ONLY the first or selected system (0,1)
emulationstation.hidesystemview=0
### Parse Gamelists only. Show only games listed in gamelist.xml files (0,1)
emulationstation.gamelistonly=0
### Force basicgameList view to be displayed, even if your game systems are scraped (0,1)
emulationstation.forcebasicgamelistview=0
## Videosnaps
### Delay before videosnaps start, in millisecond. Default: 2s
;emulationstation.videosnaps.delay=2000
### Video loop times. 0 = no video. 1 or more = the video loops x times before fading out
;emulationstation.videosnaps.loop=1
## Scrapers
### ScreenScraper.fr
### Force media region - if not defined, region is taken from system.language. Default: us
;scraper.screenscraper.region=eu
### Force text language - if not defined, region is taken from system.language. Default: en
;scraper.screenscraper.language=fr
### Choose the media to download among:
### screenshot: game screenshot
### title : game title screenshot
### box2d : Front case
### box3d : 3D rendered case
### mixv1 : Recalbox special mix image V1 (default)
### mixv2 : Recalbox special mix image V2
;scraper.screenscraper.media=mixv1
### ScreenScraper account
;scraper.screenscraper.user=
;scraper.screenscraper.password=
## Emulator special keys
## default -> default all special keys
## nomenu -> cannot popup the emulator menu
## none -> no special keys in emulators
system.emulators.specialkeys=default
## Show or hide kodi in emulationstation (0,1)
kodi.enabled=1
## Start kodi at launch (0,1)
kodi.atstartup=0
## set x button shortcut (0,1)
kodi.xbutton=1
## Allow a specific resolution for Kodi only from the command : tvservice -m [MODE]
## By default is using the default resolution of your screen
kodi.videomode=default
## Kodi can wait for a network component before starting
## waithost is the ip or hostname that must answer to a ping to validate the availability
## waittime is the maximum time waited when kodi boots
## if waitmode is required, kodi will not start if the component is not available
## if waitmode is wish, kodi will start if the component is not available
## if waitmode is not set or has another value, kodi will start immediately
;kodi.network.waitmode=required
;kodi.network.waittime=10
;kodi.network.waithost=192.168.0.50
## Hyperion
## Hyperion allows you to use an ambilight like led system on your recalbox
## Use hypercon to create your configuration file, and copy it in /recalbox/share/system/configs/hyperion/hyperion.config.json
hyperion.enabled=0
# ------------ B - Network ------------ #
## Set system hostname
system.hostname=RECALBOX
## Activate wifi (0,1)
wifi.enabled=0
## Set wifi region
## More info here: https://wiki.recalbox.com/en/tutorials/network/wifi/wifi-country-code
wifi.region=US
## Wifi SSID (string)
;wifi.ssid=new ssid
## Wifi KEY (string)
## after rebooting the recalbox, the "new key" is replace by a hidden value "enc:xxxxx"
## you can edit the "enc:xxxxx" value to replace by a clear value, it will be updated again at the following reboot
## Escape your special chars (# ; $) with a backslash : $ => \$
;wifi.key=new key
## Wifi - static IP
## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask)
## if any value is missing or all lines are commented out, it will fall back to the
## default of DHCP
;wifi.ip=manual ip address
;wifi.gateway=new gateway
;wifi.netmask=new netmask
# secondary wifi (not configurable via the user interface)
;wifi2.ssid=new ssid
;wifi2.key=new key
# third wifi (not configurable via the user interface)
;wifi3.ssid=new ssid
;wifi3.key=new key
## Samba share
system.samba.enabled=1
### Virtual Gamepads
system.virtual-gamepads.enabled=1
### SSH
system.ssh.enabled=1
# ------------ C - Audio ------------ #
## Set the audio device (auto, hdmi, jack)
audio.device=auto
## Set system volume (0..100)
audio.volume=90
## Enable or disable system sounds in ES (0,1)
audio.bgmusic=1
# -------------- D - Controllers ----------------- #
# Enable support for standard bluetooth controllers
controllers.bluetooth.enabled=1
# Enable ERTM
controllers.bluetooth.ertm=0
## Please enable only one of these
# -------------- D1 - PS3 Controllers ------------ #
##Enable PS3 controllers support
controllers.ps3.enabled=1
## Choose a driver between bluez, official and shanwan
## bluez -> bluez 5 + kernel drivers, support official and shanwan sisaxis
## official -> sixad drivers, support official and gasia sisaxis
## shanwan -> shanwan drivers, support official and shanwan sisaxis
controllers.ps3.driver=bluez
# ------------ D2 - GPIO Controllers ------------ #
## GPIO Controllers
## enable controllers on GPIO with mk_arcarde_joystick_rpi (0,1)
controllers.gpio.enabled=0
## mk_gpio arguments, map=1 for one controller, map=1,2 for 2 (map=1,map=1,2)
controllers.gpio.args=map=1,2
## Custom mk_gpio arguments,
## map=5 gpio1=Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk for one controller,
## map=5 gpio1=pin1,pin2,pin3,.....,pin12,pin13
## map=5,6 gpio1=Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk gpio2=Y-,Y+,X-,X+,start,select,a,b,tr,y,x,tl,hk for 2 (map=5,map=5,6)
## map=5,6 gpio1=gpiox,gpioy,gpioz,.....,gpiou,gpiov gpio2=gpiox,gpioy,gpioz,.....,gpiou,gpiov
# where gpiox,gpioy,gpioz ... are NOT pin numbers on the connector, BUT location gpio numbered as in
# https://www.raspberrypi-spy.co.uk/wp-content/uploads/2012/06/Raspberry-Pi-GPIO-Layout-Model-B-Plus-rotated-2700x900.png
## Set pin to -1 to disable it
# controllers.gpio.args=map=5,6 gpio=4,17,27,22,10,9,25,24,23,18,15,14,2 gpio2=11,5,6,13,19,26,21,20,16,12,7,8,3
## MCP configuration : GPIO and MCP can be used together. You can mix them.
## map=0x20,0x21 for 2 mcp23017 on i2c bus
#controllers.gpio.args=map=0x20,0x21,5,6 gpio=4,17,27,22,10,9,25,24,23,18,15,14,-1 gpio2=11,5,6,13,19,26,21,20,16,12,7,8,-1
# ------------ D3 - Steam Controllers ------------ #
## Enable steam controller service
controllers.steam.enabled=0
## DB9 Controllers
## Enable DB9 drivers for atari, megadrive, amiga controllers (0,1)
controllers.db9.enabled=0
## db9 arguments
controllers.db9.args=map=1
## Gamecon controllers
## Enable gamecon controllers, for nes, snes, psx (0,1)
controllers.gamecon.enabled=0
## gamecon_args
controllers.gamecon.args=map=1
## XGaming's XArcade Tankstik and other compatible devices
controllers.xarcade.enabled=1
# ------------ F - Language and keyboard ------------ #
## Set the language of the system (fr_FR,en_US,en_GB,de_DE,pt_BR,es_ES,it_IT,eu_ES,tr_TR,zh_CN)
system.language=en_US
## set the keyboard layout (fr,en,de,us,es)
;system.kblayout=us
## Set you local time
## Select your timezone from : ls /usr/share/zoneinfo/ (string)
;system.timezone=Europe/Paris
# ------------ G - UPDATES ------------ #
## Automatically check for updates at start (0,1)
updates.enabled=1
# Update type : default to stable
updates.type=stable
# ------------ H - HERE IT IS - GLOBAL EMULATOR CONFIGURATION ------------ #
## The global value will be used for all emulators, except if the value
## is redefined in the emulator
## Set game resolution for emulators
## select your mode from the command : tvservice -m [MODE]
## CEA 5 HDMI : 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced
## CEA 4 HDMI : 1280x720 @ 60Hz 16:9, clock:74MHz progressive
## use 'default' for using the default resolution
## use 'auto' : switches to CEA 4 HDMI if supported, else keep the current resolution
## (string)
global.videomode=CEA 4 HDMI
## Shader set
## Automatically select shaders for all systems
## (none, retro, scanlines)
global.shaderset=none
## Once enabled, your screen will be cropped, and you will have a pixel perfect image (0,1)
global.integerscale=0
## Set gpslp shader for all emulators (prefer shadersets above). Absolute path (string)
global.shaders=
## Set ratio for all emulators (auto,4/3,16/9,16/10,custom)
global.ratio=auto
## Set smooth for all emulators (0,1)
global.smooth=1
## Set rewind for all emulators (0,1)
global.rewind=1
## Set autosave/load savestate for all emulators (0,1)
global.autosave=0
## Enable retroarchievements (0,1)
## Set your www.retroachievements.org username/password
## Escape your special chars (# ; $) with a backslash : $ => \$
global.retroachievements=0
global.retroachievements.hardcore=0
global.retroachievements.username=
global.retroachievements.password=
## Set retroarch input driver (auto, udev, sdl2)
## If you don't have issues with your controllers, let auto
global.inputdriver=auto
## If you do not want recalboxOS to generate the configuration for all emulators (string)
;global.configfile=/path/to/my/configfile.cfg
## Demo screensaver parameters
## Set the system list from which ES will run random games.
## Empty list or unexisting key means all available systems
global.demo.systemlist=3do,amigacd32,atari2600,atari5200,atari7800,daphne,fba_libretro,fds,gamegear,gba,lynx,mame,mastersystem,megadrive,neogeo,nes,ngpc,pcengine,sega32x,sg1000,snes
## Default demo game sessions last 90s. Change this value if you want shorter or longer sessions
;global.demo.duration=90
## Default game info screen duration lasts 6s. Change this value if you want shorter or longer info screens.
;global.demo.infoscreenduration=6
## Retroarch AI Translation service
## Comment out or set to 0 the following key if you don't want the AI service
global.translate=1
## Set the source and the target languages.
## Allowed language list: EN, ES, FR, IT, DE, JP, NL, CS, DA, SV, HR, KO, ZH_CN, ZH_TW, CA, BG, BN, EU, AZ, AR, SQ,
## AF, EO, ET, TL, FI, GL, KA, EL, GU, HT, IW, HI, HU, IS, ID, GA, KN, LA, LV, LT, MK, MS,
## MT, NO, FA, PL, PT, RO, RU, SR, SK, SL, SW, TA, TE, TH, TR, UK, UR, VI, CY, YI
## Setting the translate.from key to a specified language may speed up or give more accurate results
## If translate.to key is commented, the default value is extracted from system.language or, if system.language is
## undefined, set to auto (=EN).
global.translate.from=auto
global.translate.to=auto
## zTranslate API Key
## go to https://ztranslate.net and create an account.
## validate your account, then log in and go to the settngs page
## Look for the API Key at the bottom of the page, then uncomment the following key and paste your API Key:
;global.translate.apikey=YOUR_API_KEY_HERE
## Other translation service
## If you want to use another translation service or a custom API call, use this key to
## specify the url to call. If the key is not empty, it is used instead of zTranslation's API Key
;global.translate.url=
## Arcade metasystem
## Activate the Arcade metasystem to group all games from piFBA, FBN (libretro), MAME and optionally Neogeo
## into a single "Arcade" system.
;global.arcade=1
## You may want to specify its position in the system list. (Default: 0)
## Negatives values may be used to tart from the end (-1 = last position)
;global.arcade.position=0
## Include NeoGeo or not (default: 1)
;global.arcade.includeneogeo=1
## Hide included system or leave them in the system list (default: 1)
;global.arcade.hideoriginals=1
# ------------ I - EMULATORS CHOICES ----------- #
## You can override the global configurations here
## Here is the snes example
;snes.videomode=CEA 4 HDMI
;snes.core=snes9x2010
;snes.shaders=/recalbox/share/shaders/shaders_glsl/mysnesshader.gplsp
;snes.ratio=16/9
;snes.smooth=0
;snes.rewind=1
;snes.autosave=0
;snes.emulator=libretro
;snes.integerscale=0
## If you do not want recalboxOS to generate the configuration for the emulator:
;snes.configfile=/path/to/my/configfile.cfg
## Default cores for RPi3
snes.core=snes9x2010
## NeoGeo emulator
## You can use pifba or a libretro core (fba2x,libretro)
neogeo.emulator=libretro
## If you set libretro as neogeo.emulator, the line below sets the retroarch core (fbneo, mame2000)
neogeo.core=fbneo
## N64 emulator is configured to display a screen with a 640x480 resolution (native n64 resolution)
## So you must use one of these video modes (DMT 4 HDMI,CEA 1 HDMI).
## If your screen is not compatible with one of these video modes, please check the recalbox's wiki.
n64.videomode=DMT 4 HDMI
## If you are using a CRT screen, please change the setting above with this one :
# n64.videomode=default
## Dreamcast emulator
## Like N64, such a CPU intensive emulator needs a small resolution
## Consider DMT 4 HDMI (640*480) or DMT 9 HDMI (800*600). If you have a black screen on dreamcast, try DMT 9 HDMI here
dreamcast.videomode=DMT 4 HDMI
## Demo screensaver parameters
## Include or exclude a particular system from the demo screensaver
## You may change the global.demo.systemlist key or include/exclude every single system
;snes.demo.include=0
## Set the session duration for a particular system
;snes.demo.duration=90
# ------------ J - NETPLAY PARAMETERS ----------- #
## All these values are handled by Recalbox itself
global.netplay=1
global.netplay.nickname=
global.netplay.port=55435
global.netplay.relay=
global.netplay.systems=fba_libretro,mame,mastersystem,megadrive,neogeo,nes,pcengine,sega32x,sg1000,snes,supergrafx
global.netplay.lobby=http://lobby.libretro.com/list/
## Configurations generated by Recalbox