Emuelec Config File -
[SNES] retroarch.core = snes9x_libretro.so retroarch.bezel = 0
| Setting | Effect | |---------|--------| | system.cec | Enable HDMI-CEC (remote control via TV) | | system.powersave | CPU governor (performance / ondemand) | | bluetooth.enabled | Enable BT stack (uses more RAM) | | retroarch.menu_driver | xmb , ozone , rgui – RetroArch UI style | | retroarch.rewind.enable | Enable rewind feature (performance hit) | # Global settings video.output = hdmi audio.output = hdmi audio.volume = 80 wifi.enabled = 1 wifi.ssid = "RetroWiFi" wifi.key = "gamepass123" wifi.country = US RetroArch defaults retroarch.bezel = 1 retroarch.savestate.autosave = 1 Per-system tweaks [PSX] retroarch.core = pcsx_rearmed_libretro.so retroarch.video.shader = /usr/share/shaders/scanlines.glslp emuelec config file
[SNES] retroarch.core = snes9x_libretro.so retroarch.video.shader = /usr/share/shaders/crt-pi.glslp [PSX] retroarch.core = pcsx_rearmed_libretro.so retroarch.bezel = 0 [SNES] retroarch
Valid system names match EmuELEC's internal list: NES , SNES , N64 , PSX , PSP , MAME , GBA , GB , GBC , SMS , GENESIS , etc. | Setting | Values | Effect | |---------|--------|--------| | boot.video | /path/to/video.mp4 | Custom boot video | | boot.splash | /path/to/image.png | Static splash before video | | boot.waitime | 0 – 10 (seconds) | Delay before ES starts | | boot.quiet | 0 / 1 | Hide kernel messages (faster boot) | 3.8 Power & Hardware | Setting | Values | Effect | |---------|--------|--------| | power.led | 0 / 1 | Enable/disable status LED | | power.shutdown_timer | 0 – 60 (minutes) | Auto shutdown if idle | | gpio.poweroff | 0 / 1 | Enable GPIO power button (custom DTB required) | 4. Advanced: Custom Command Execution You can run scripts at boot or shutdown: | Default ES theme | | emulationstation
# This enables WiFi wifi.enabled = 1 3.1 Global UI & Behavior | Setting | Values | Effect | |---------|--------|--------| | emulationstation.theme | es-theme-EmuELEC-carbon , art-book-next , etc. | Default ES theme | | emulationstation.autosave | 0 / 1 | Auto-save game metadata on exit | | emulationstation.scrape | screenscraper | Which metadata scraper to use | | system.language | en_US , es_ES , fr_FR , etc. | System language | | system.kioskmode | 0 / 1 | Locks UI editing (hide system settings) | 3.2 Display & Video | Setting | Values | Effect | |---------|--------|--------| | video.output | auto , hdmi , cvbs | Force display output | | video.resolution | auto , 720p , 1080p , 4k | Resolution (auto usually best) | | video.vsync | 0 / 1 | Enable vertical sync (reduces tearing) | | video.shader | none , crt-pi , scanlines , retro | RetroArch shader path | | video.smooth | 0 / 1 | Bilinear filtering on/off | 3.3 Audio | Setting | Values | Effect | |---------|--------|--------| | audio.output | auto , hdmi , analog , spdif | Output device | | audio.volume | 0 – 100 | Master volume (also in ES) | | audio.bgmusic | 0 / 1 | Play music in menus | | audio.bgmusic.folder | /path/to/music | Custom music folder | 3.4 WiFi & Networking | Setting | Values | Effect | |---------|--------|--------| | wifi.enabled | 0 / 1 | Enable WiFi stack | | wifi.ssid | "MyNetwork" | Network name (quotes needed if spaces) | | wifi.key | "password" | WiFi password | | wifi.country | US , DE , FR , etc. | Regulatory domain (affects channels) | 3.5 RetroArch Core & Emulator Settings | Setting | Values | Effect | |---------|--------|--------| | retroarch.bezel | 0 / 1 | Enable overlay bezels | | retroarch.bezel.oneshot | 0 / 1 | Bezel only for current core | | retroarch.savestate.autosave | 0 / 1 | Auto-save state on exit | | retroarch.savestate.autoload | 0 / 1 | Auto-load last state on start | | retroarch.core.path | /tmp/cores/ | Custom core directory (rarely changed) | 3.6 Per-System Overrides You can override any RetroArch setting per system by creating sections:
Never edit retroarch.cfg directly – changes will be overwritten. Use emuelec.conf per-system overrides instead. After editing emuelec.conf , restart EmulationStation with systemctl restart emustation or simply reboot.