[SOLVED] Troubleshooting Arcade No Audio
This is just brainstorming for the sake of everyone else that might have this issue. As of now the issue is UNsolved.
I'm using a RetroPie 4.x setup, with ES and ROMs on the SD card, and a 3B+. I have all CANAKIT official (to my knowledge) hardware on the Pi side of things. I recently lost sound in my arcade games so I'm trying to narrow in on the cause. I'm systematically ruling out things and making note of what ISN'T the problem.
Why doesn't my arcade game have sound?
Is it a bad setting?
It's not all applications nor a hardware fault.
(audio out through HDMI through TV and then into amp/speakers)
- EmulationStation has sound.
- RetroArch has sound.
- PIXEL desktop has sound.
Is it a partially corrupt SD card?
It's not the content's storage folder.
- ROMs in various system directories (e.g. Atari/PS1) have sound.
- ROMs in the Arcade directory using AdvMAME have sound.
Is it the emulator?
- ROMs in the Arcade directory using Libretro (lr-*) emulators DO NOT have sound.
I've re-installed MAME emulators and I've checked various audio settings in RetroPie and everything I've seen looks OK. What am I missing? Any help would be appreciated. Thanks.
Heh, MAME Row strikes hard. I don't think it's a corrupt SD card or anything like that, most likely a configuration issue.
Check if you don't have any configuration override for the
arcadefolder - I'd start by looking into
/opt/retropie/configs/arcade/retroarch.cfgand checking if any sound related settings are there (mute sound/volume level).
The thing that got me was the folder didn't seem to be an issue because ROMs in that folder had sound with AdvMAME. (So it's not a permissions issue.) ROMs in that folder only have issues with Libretro emulators. I'll check the configs after work, but I checked /dev/shm/runcommand stuff and didn't see any flagrant errors. I do however see a "sound" (mixer) error that flashes behind ES screens. I'll get more information this evening. Thanks! I'm looking forward to updating the subject of this thread when this gets sorted. :)
The fifth bullet and the sixth bullet lead me to believe the issue is isolated somewhat. I think you're right about the override. I just haven't found it yet.
The thing that got me was the folder didn't seem to be an issue because ROMs in that folder had sound with AdvMAME.
AdvMAME doesn't read
retroarch.cfg- only the Libretro (
lr-...emulators) cores do, so it's worth investigating.
@mitu Hmmm. More information. I tried looking in
/opt/retropie/configs/arcade/retroarch.cfgbut that didn't seem to do anything. After EmulationStation crashed on me for the first time...ever...I rebooted the Pi and was able to capture the two lines of white text in the top left behind ES:
ALSA lib control.c:1373:(snd_ctl_open_noupdate) Invalid CTL both
lvl0: VolumeControl::init() - Failed to attach to default card!
I'm now thinking that there is definitely a config override happening. when I tried to launch Psikyo's Strikers III I noticed a line of yellow text in the bottom left. The line read "Configuration override loaded."
Taking a peak at the
/dev/shm/runcommand.loggives me this:
Parameters: Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbalpha2012/fbalpha2012_libretro.so --config /opt/retropie/configs/arcade/retroarch.cfg "/home/pi/RetroPie/roms/arcade/s1945iii.zip" --appendconfig /dev/shm/retroarch.cfg ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM 1
That retroarch.cfg only has one line which is
video_refresh_rate = 60.
@IanDaemon Look for the config override in
/opt/retropie/configs/all/retroarch/configand maybe rename it to see if it fixes the issue.
The ALSA warning is harmless, it's from the Emulationstation sound settings - which you can change to get rid of it.
@mitu It's not solved yet, but I really appreciate all help in chasing this down!
IanDaemon last edited by
@mitu Which error is harmless? I thought I was making progress in finding problems. And I just noticed that I gave you the output of "that retroarch.cfg" but there are two in that call. (
/dev/shm/retroarch.cfg) Maybe I looked in the wrong one.
I'll put on my detective hat this evening.
/dev/shm/retroarch.cfgis ok, it only exists to set the video refresh rate. If the
arcadeconfig folder is almost empty, then there's no other setting applied - except for any overrides.
ALSA lib control.c:1373:(snd_ctl_open_noupdate) Invalid CTL both lvl0: VolumeControl::init() - Failed to attach to default card!
is harmless, or at least doesn't have any impact on the emulators' audio settings.
I think this other error
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM 1
is the culprit here. Check the
Audiosettings in RetroArch and look what value you have for
Device. It should be empty - you can check for the other systems that work - but if I set it to
1, then I get exactly the same error as above.
@mitu I didn't know which direction to go and then I thought more about an early comment of yours. You said some things don't read
/opt/retropie/configs/arcade/retroarch.cfg. Running out of options I renamed the huge file that was there (to save it in case I need it) and made a copy of the "rp-dist" file to use instead and rebooted. Voila! Everything works as it should! (Well, I still have that error that you said wasn't related. But I have sound everywhere that I had previously and games are running at normal speed again.) I'm so happy. Thank you!