Skip to content

Instantly share code, notes, and snippets.

@abrugsch
Created February 7, 2025 13:30
Show Gist options
  • Save abrugsch/479d24786f9c53daff5281d6ff9e2257 to your computer and use it in GitHub Desktop.
Save abrugsch/479d24786f9c53daff5281d6ff9e2257 to your computer and use it in GitHub Desktop.
Batocera conf file with GPIO controls for Picade HAT pinout
# ------------ A - System Options ----------- #
## Security
## Enable this to enforce security, requiring a password to access the network share.
system.security.enabled=0
## Services
# exampe: system.services=service1 service2
system.services=pigpio
system.ssh.enabled=1
## Display rotation
## Leave commented out -> Auto.
## 0 -> No rotation.
## 1 -> Rotate 90 degrees clockwise.
## 2 -> Rotate 180 degrees clockwise.
## 3 -> Rotate 270 degrees clockwise.
#display.rotate=0
## Power button behavior
## Change what the power button does when pressed.
## shutdown -> Immediately shutdown the system.
## suspend -> Enter low-power standby mode.
## hybrid -> Enter an even lower-power standy mode, only available on supported devices.
#system.suspendmode=suspend
## File system compression (btrfs only)
## Natively compresses files as they are stored, reduces disk write speed but increases space available.
#system.fscompression.enabled=0
## Send the CEC standby command to the first video output device during shutdown.
#system.cec.standby=1
## EmulationStation menu style
## default -> default all options menu
## none -> no menu except the game search menu
## bartop -> less menu, only needed for bartops
#system.es.menu=default
## Show or hide Kodi in the EmulationStation menu.
kodi.enabled=1
## Start Kodi at launch.
kodi.atstartup=0
## Enable the North button Kodi shortcut.
kodi.xbutton=1
## Kodi networking delay
## Kodi can be instructed to wait for a network host to become available before starting.
## All three upcoming keys must be completed in order for the wait to take effect.
## waithost decides which host name to ping while waiting to start.
#kodi.network.waithost=192.168.0.50
## waittime decides how long to wait up to in seconds.
#kodi.network.waittime=10
## waitmode decides how dependent Kodi is on the specified host.
## noping -> Do not ping. Start Kodi immediately. This is the default.
## required -> Wait up to the specified time for the host to respond. Start Kodi only if the host responds.
## wish -> Wait up to the specified time for the host to respond. Start Kodi if the host responds or the waittime is reached.
#kodi.network.waitmode=required
## Splash screen
## Set sound option to 0 to silence the video splash
splash.screen.enabled=1
splash.screen.sound=1
## Set resize option to scale the splash video & playback resolution
#splash.screen.resize=1920x1080
# ------------ A1 - Platform Specific Options ----------- #
## Raspberry Pi 1/2/3/4 system power switch/utility
## Select one option. See https://wiki.batocera.org/add_powerdevices_rpi_only
## ARGONONE -> Activate fan control for Argon One case (RPi4)
## ATX_RASPI_R2_6 -> http://lowpowerlab.com/atxraspi/#installation
## MAUSBERRY -> http://mausberry-circuits.myshopify.com/pages/setup
## ONOFFSHIM -> https://shop.pimoroni.com/products/onoff-shim
## POWERHAT -> https://www.raspberrypiplastics.com/power-hat-board
## REMOTEPIBOARD_2003 -> http://www.msldigital.com/pages/support-for-remotepi-board-2013
## REMOTEPIBOARD_2005 -> http://www.msldigital.com/pages/support-for-remotepi-board-plus-2015
## KINTARO -> http://www.kintaro.co SNES style case aka Roshambo/Super Kintaro Kuma System
## RETROFLAG -> http://www.retroflag.com -- note: enable UART in config.txt for LED action
## RETROFLAG_ADV -> Activate on RESET button more commands to quit emulators or restart ES
## RETROFLAG_GPI -> Activate GPi CASE SAFE SHUTDOWN functions.
## PIBOY -> Activate PIBOY.
## DESKPIPRO -> Fan & power control for RPi4 DeskPi Pro case.
## PISTATION_LCD -> Config.txt tweaks to get the display to work.
## Simple Switches without active devices
## See https://wiki.batocera.org/add_powerdevices_rpi_only#simple_push-button_or_switches
## PIN56ONOFF -> For latching switches
## PIN56PUSH -> For momentary buttons
## PIN356ONOFFRESET -> Restart and shutdown board. Needs 2 switches.
#system.power.switch=RETROFLAG
## Rockpro64
## Roshambo/Kintaro case.
#roshambo.enabled=1
# ------------ B - Network ------------ #
## Set system hostname, accessible via network share.
system.hostname=BATOCERA
## Wi-Fi country code (00 for World), see https://wiki.batocera.org/wifi_ssid#i_can_t_see_my_ssid_in_the_list_but_i_can_see_my_neighbor_s
#wifi.country=FR
## Activate Wi-Fi (0,1)
wifi.enabled=1
## Wi-Fi SSID (string)
wifi.ssid=ploppynet
## Wi-Fi KEY (string)
## Escape your special chars (# ; $) with a backslash. eg. $ becomes \$
wifi.key=5T1cky0Urh34Dupap16
## Secondary Wi-Fi (not configurable via the user interface)
#wifi2.ssid=new ssid
#wifi2.key=new key
## Third Wi-Fi (not configurable via the user interface)
#wifi3.ssid=new ssid
#wifi3.key=new key
## Add values here to connect to a hidden AP.
#wifi.hidden.ssid=hidden SSID
#wifi.hidden.key=new key
## Disable Samba share, see https://wiki.batocera.org/add_games_bios#while_batocera_is_running
#system.samba.enabled=0
## Disable SSH, see https://wiki.batocera.org/access_the_batocera_via_ssh
#system.ssh.enabled=0
# ------------ C - Audio ------------ #
## Set the audio device
## Use "batocera-audio list" to see available devices.
audio.device=auto
## Set system volume (0-100)
audio.volume=26
## Set max volume for boost sound (100-150)
audio.volume.boost=100
## Enable or disable system sounds in ES (0,1)
audio.bgmusic=1
# -------------- D - Controllers ----------------- #
## Enable Bluetooth
controllers.bluetooth.enabled=1
## Bluetooth Debug
## Enables extra Bluetooth logging for developers.
#controllers.bluetooth.debug=1
# -------------- D1 - PS3 Controllers ------------ #
## Enable support for PS3 controllers (and likely some other Bluetooth controllers too)
## PS3 controller support enables CVE-2023-45866 security vulnerability. Disable if not needed.
controllers.ps3.enabled=1
## Choose a Bluetooth driver.
## bluez -> bluez 5 + kernel drivers, supports official and Shanwan Sixaxis.
## official -> sixad drivers, supports official and Gasia Sixaxis.
## shanwan -> shanwan drivers, supports official and Shanwan Sixaxis.
controllers.ps3.driver=bluez
# ------------ D2 - Other Controllers ------------ #
## XGaming's XArcade Tankstik and other compatible devices.
controllers.xarcade.enabled=1
# ------------ D3 - GPIO Controllers (RPi only) ------------ #
## GPIO Controllers
## Enable controllers on GPIO with mk_arcarde_joystick_rpi.
controllers.gpio.enabled=1
## GPIO arguments
## map=1 -> For one controller.
## map=1,2 -> For two controllers.
controllers.gpio.args="map=4 gpio=6,12,20,16,24,27,5,11,8,25,9,10,27"
## DB9 Controllers
## Enable DB9 drivers for Atari, Megadrive and Amiga controllers.
controllers.db9.enabled=0
## DB9 arguments
controllers.db9.args=map=1
## Gamecon controllers
## Enable Gamecon controllers, for NES, SNES and PSX controllers.
controllers.gamecon.enabled=0
## Gamecon arguments
controllers.gamecon.args=map=1
# ------------ F - Language and Keyboard ------------ #
## System language
## Some common examples:
## en_US -> English
## en_GB -> English (UK)
## fr_FR -> French
## de_DE -> German
## pt_BR -> Brazillian Portuguese
## it_IT -> Italian
## tr_TR -> Turkish
## zh_CN -> Chinese
## Check the menu in ES for more.
system.language=en_GB
## Set the keyboard layout (fr,de,us,es).
## To view all available layouts, i.e. English, via terminal type:
## sed '/! layout/,/^$/!d;/English/!d' < /usr/share/X11/xkb/rules/evdev.lst
system.kblayout=gb
## Setting a keyboard variant is optional
## To view all variants for German language variants, via terminal type:
## sed '/! variant/,/^$/!d;/German/!d' < /usr/share/X11/xkb/rules/evdev.lst
#system.kbvariant=nodeadkeys
## Set the local time zone
## To view all available time zones, run: ls /usr/share/zoneinfo/
system.timezone=Europe/London
# ------------ G - Updates ------------ #
## Automatically check for updates after booting.
updates.enabled=1
## Set the update type.
## stable -> Current stable version
## butterfly -> Current development verion, use at your own risk
updates.type=stable
# ------------ H - Global Emulator Configuration ------------ #
## The global value will be used for all emulators, except if the value is redefined in the emulator
## Video mode
## Force the emulator to run at this resolution. To check available resolutions, run: batocera-resolution listModes
## See https://wiki.batocera.org/display_issues
## Set the preferred output
## To check available outputs, run: batocera-resolution listOutputs
#global.videooutput=""
## Set the preferred resolution
## To check available resolutions, run: batocera-resolution listModes
## DPI
## If the text is too small, adjust this value.
#global.dpi=96
## Shader set
## Automatically select shaders for all systems, see https://wiki.batocera.org/emulationstation:shaders_set
## default -> Default shader
## none -> No shader
## curvature -> Realistic CRT curve with scanlines, CPU expensive
## enhanced -> Upscale pixel graphics
## flatten-glow -> Make the image glow
## mega-bezel -> Add reflections to shader bezel, CPU expensive
## retro -> Pixelated shader
## scanlines -> Add scanlines to the image
## zfast -> Cheaper version for scanlines
#global.shaderset=none
## Integer scaling (pixel perfect)
## Only scale the image in integers, maintaining pixel ratio.
#global.integerscale=0
## Decoration set
## See https://wiki.batocera.org/decoration
#global.bezel=default
## Game aspect ratio
## Set the ratio for emulators.
## Smooth games (bilinear filtering)
## Softens the image. Is overidden if using a shader set.
#global.smooth=1
## Rewind
## Very CPU and RAM expensive for some emulators. Take care with enabling this globally.
## Auto save/load
## Automatically save state when exiting emulators. Automatically load latest savestate when launching emulators.
## Incremental savestates
## Retroachievement settings
## Set up your www.retroachievements.org username/password first
## Escape your special chars (# ; $) with a backslash. eg. $ becomes \$
#global.retroachievements=0
#global.retroachievements.hardcore=0
#global.retroachievements.leaderboards=0
#global.retroachievements.verbose=0
#global.retroachievements.screenshot=0
#global.retroachievements.challenge_indicators=0
#global.retroachievements.username=
#global.retroachievements.password=
#global.retroachievements.sound=
## Enable RetroArch AI game translation service
#global.ai_service_enabled=0
#global.ai_service_url=http://ztranslate.net/service?api_key=BATOCERA
#global.ai_target_lang=
## HUD (x86 or RPi4 only)
## game -> Show game's boxart/metadata info
## perf -> Show current performance statistics
## custom -> Use hud_custom configuration
#global.hud=perf
## Custom HUD configuration
## Performance eg. position=bottom-left\nbackground_alpha=0.9\nlegacy_layout=false\ncustom_text=%GAMENAME%\ncustom_text=%SYSTEMNAME%\ncustom_text=%EMULATORCORE%\nfps\ngpu_name\nengine_version\nvulkan_driver\nresolution\nram\ngpu_stats\ngpu_temp\ncpu_stats\ncpu_temp\ncore_load
## Game eg. position=bottom-left\nbackground_alpha=0\nlegacy_layout=false\nfont_size=32\nimage_max_width=200\nimage=%THUMBNAIL%\ncustom_text=%GAMENAME%\ncustom_text=%SYSTEMNAME%\ncustom_text=%EMULATORCORE%
## More examples at https://github.com/flightlessmango/MangoHud/blob/master/README.md#mangohud_config-and-mangohud_configfile-environment-variables
#global.hud_custom=position=bottom-left\nbackground_alpha=0\nlegacy_layout=false\nfont_size=64\nimage_max_width=200\nimage=%THUMBNAIL%\ncustom_text=%GAMENAME%\ncustom_text=%SYSTEMNAME%\ncustom_text=%EMULATORCORE%
# ------------ I - Per System Advanced Configuration ----------- #
## It's also possible to apply unique settings per system.
## eg. to set unique options for SNES:
#snes.core=snes9x_next
#snes.shaders=/userdata/shaders/shaders_glsl/mysnesshader.gplsp
#snes.ratio=16/9
#snes.smooth=0
#snes.rewind=1
#snes.autosave=0
#snes.emulator=libretro
#snes.integerscale=0
## Advanced RetroArch configuration
## See https://wiki.batocera.org/advanced_retroarch_settings
#snes.retroarch.menu_driver=rgui
#global.retroarch.input_max_users=4
## Emulate Wiimotes for Dolphin
## Allows regular pads to act as if though they were Wiimotes when running Dolphin.
## Real Wiimotes must not be paired with Batocera while using this option.
#wii.emulatedwiimotes=0
# ------------ J - LED's ----------- #
## Enable LED options for devices
## Custom colour options, any combination of red green blue with values of 0-255.
## Settings get applied during boot
#led.colour=255.0.0
#led.brightness=90
# ------------ K - AMD TDP ----------- #
## AMD TDP value in watts
#global.tdp=100
#system.cpu.tdp=10
# ------------ L - Other ----------- #
## Scraper
## Set order scraper prefers, separated by commas.
## s -> snapshot
## b -> boxart
## f -> fanart
## a -> banner
## l -> logo
## 3b -> 3D boxart
#scrapper.style=s,b,f,a,l,3b
## Enable DXVK for Wine and FPS HUD.
#windows.dxvk=0
#windows.dxvk_hud=0
# ------------ User-generated Configurations ----------- #
system.cpu.governor=schedutil
ScrollLoadMedias=0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment