No sound on EmulationStation and/or when launching emulators? Then your audio output might not be initialized correctly. The best way to diagnose audio issues is:

  1. Lauch Kodi from the main menu, and check that you have sound on when playing a media file (audio or video). You might need to tweak the audio sources from Kodi settings to make it work.
  2. Identify what audio output is used by Kodi. Go back to the audio settings in EmulationStation and find the audio output that looks as close as possible to the one used in Kodi. The names are not exactly the same, but you can identify what is the HDMI output number of sound card ID this way.
  3. You can also diagnose some sound issues with the alsamixer sound mixer that is available when pressing [Ctrl][Alt][F4] (text-mode sound mixer). Make sure that all the outputs are enabled, and they have their volume up.

If you have sound on EmulationStation, and in the emulators, but you can't hear the sound of the video snapshots, here are several steps that may help you:

  1. First, make sure you have enabled video snaps sounds in the menu SOUNDS SETTINGSENABLE VIDEO AUDIO
  2. Then, you can try to connect to Batocera through SSH and enter the following command:
wget -O /userdata/system/.asoundrc https://www.batocera.org/users/lbrpdx/asoundrc

This command will create an alsa config file as /userdata/system/.asoundrc. It should fix your video snap sounds for most SBC like Odroid Go Advance, but maybe not on a PC.

On a PC, depending on your hardware configuration, your GPU and audio chipset, it might be trickier to get it working.

First, through SSH, get the list of audio outputs with the command aplay -l. In my setup, I get:

# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC255 Analog [ALC255 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 10: HDMI 4 [HDMI 4]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

If I want to use the audio output from HDMI0, I can see that it is card 0 and device 3. So, to make audio work on my setup, I need to edit the /userdata/system/.asoundrc file and replace pcm “hw:0,0” with pcm “hw:0,3”, and then save and on reboot, it worked. This method might not work in 100% cases, but it's worth a try.

Worst case, if it doesn't work and you want to go back to the original state, just remove the file /userdata/system/.asoundrc (or \system\.asoundrc from the network share).

When you try to launch a game, the emulator stops and gets you back to EmulationStation. In most cases, you will find some useful information in /userdata/system/logs/es_launch_stderr.log (which is also /system/logs/es_launch_stderr.log from the network shared drive).

Come to the Discord channel with this file, you'll get some help. In many case, you can see problems with BIOS missing, or bad ROM format.

  • You may need to change your BIOS to allow legacy and unsecured boot
  • Unplug any attached storage or controllers

In order to get more information on your boot sequence, you can edit the /boot/boot/syslinux/syslinux.cfg file (for Batocera 5.25+, or /boot/boot/syslinux.cfg for Batocera 5.24 and earlier) and replace:

APPEND label=BATOCERA console=tty3 quiet loglevel=0 vt.global_cursor_default=0

With:

APPEND label=BATOCERA console=tty3 loglevel=9 vt.global_cursor_default=0

Don't forget you need to put the /boot/ mount point in write mode first, as described on this page.

Several video issues on PC x86 and x86_64 can be investigated with xrandr as described on this page.

If you use Batocera with a display that provides a high resolution like a 4K monitor, you might have trouble reading the text on the file browser (F1 on a PC) or the configuration screens of a few emulators. You can change the default DPI settings by editing batocera.conf and look for the section:

## DPI
## Workaround when correct DPI setting is not detected
## if fonts are too small, uncomment next line
#global.dpi=96

How to get access to a Linux console for troubleshooting?

  • If you can't use SSH because the network is not available, you can plug a USB keyboard on your Batocera box and:
  • on an x86_64 or x86 PC you can get a console with full graphical capabilities by pressing the [F1] key from the main system menu (to get into the file manager) and then [F4] for an xterm. You can get to a text console by pressing simultaneously [Ctrl][Alt][F3].

In case you want to share a snapshot of your system log files to help developers diagnose your systemm you can use the menu SYSTEM SETTINGSDEVELOPERCREATE A SUPPORT FILE It will generate a tarball in /userdata/saves/ named batocera-support-YYYYMMDDHHMMSS.tar.gz (with year/date/time of creation in the filename).

Emulators will not show up in the EmulationStation system meny unless you have a rom in their respective folders. All available cores are always installed by Batocera, you never need to “add” cores.

3DS

  • Does not support Encrypted Games - they must be Decrypted

PS2

  • Bios may be needed if having graphical issues and boot issues
  • Most games let you invert your controls if you feel the left stick is swapped
  • Compatibility between games and PCSX2 emulator can be checked on this webpage.
  • To access all configuration options for PCSX2, you need to run its app in APPLICATIONS menu of the File Explorer that you can access by pressing F1 on your PC keyboard, from the systems menu.

Gamecube and Wii (Dolphin emulator).

  • To access all configuration options for Dolphin, you need to run its app in APPLICATIONS menu of the File Explorer that you can access by pressing F1 on your PC keyboard, from the systems menu.

When things go really wrong, and you want to “factory reset” your Batocera, i.e. putting all the settings to their default values without losing your ROMs, saves and scraped metadata, there is a method to do it:

  • If you access your Batocera user data from the network, simply rename the directory system from the SHARE network drive into system.old and reboot your Batocera.
  • Or, if you are connected through SSH, just enter mv /userdata/system /userdata/system.old and then reboot.

Those two commands are the same, and upon reboot, all your settings will be cleared out to their default values. You'll have to re-enter some parameters like your wifi credentials and so on… or, you can look at what you have in the previous configuration files like /userdata/system.old/batocera.conf and the files in /userdata/system.old/configs/ and one by one you can set up your previous configuration without re-entering everything (in particular for batocera.conf, you might have many options set in there).

  • troubleshooting.txt
  • Last modified: 5 weeks ago
  • by lbrpdx