Audio issues after latest Raspbian updates (June 2020)
-
Here is the steps I took to fix the issue (tested on Pi 1 and Pi 3) Hope this helps. Please provide feedback.
Documentation to Fix Audio Issues with Raspberry Pi and RetroPi (AUDIO JACK)
Revision 1.0
A recent change in Raspbian Buster's kernel/firmware is causing Audio/Sound issues for RPI users - users that installed the 4.6 image or installed RetroPie manually on-top of Raspbian Buster.
Symptoms include:
• Error messages showing when a game is launched (lvl0: VolumeControl::init() - Failed to find mixer elements).
• Sound missing in EmulationStation and/or games.
• System Volume slider stuck at 0% in EmulationStation's Sound settings.
The following document outlines the steps used to correct audio issues on a fresh build of Retro Pi.Step 1
Configure EmulationStation to the following setting:
Hardware – Default
Audio – Headphones
Mixer to – Alsa
Exit and restart Emulation station
At the menu F4 to exit the GUIStep 2
See which devices are available to use as a speaker. This is a sample listing.
Use the following command:
aplay –l <- lower case L
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
card 1: Microphone [USB Microphone], device 0: USB Audio [USB Audio]
Based on the above output we have three devices:
• The onboard 3.5mm plug listed as BCM2835 ALSA: Card 0, Device 0 (“hw:0,0”)• The onboard HDMI connection listed as bcm2835 IEC958/HDMI: Card 0, Device 1 (“hw:0,1”)
• The USB microphone listed as USB Audio: : Card 1, Device 0 (“hw:1,0”)
In this example we want to use the 3.5mm audio jack, so we’ll use Card 0, Device 0 as the way to locate our speaker device.
Validate your device setting. This is key for all the next steps – the following documentation is based on my configuration which is card 1 and device 0.
Step 3
Use the following command:
sudo nano /boot/cmdline.txt
Enter the following entrie:
snd_bcm2835.enable_compat_alsa=1Step 4
Edit EmulationStation settings
Use the following command:
Sudo nano /opt/retropie/configs/all/emulationstation/es_settings.cfg
<string name="AudioCard" value="default" />
<string name="AudioDevice" value="Headphone" /> --- NOTE Headphone <- The H is capital
<string name="CollectionSystemsAuto" value="" />
<string name="CollectionSystemsCustom" value="" />
<string name="GamelistViewStyle" value="automatic" />
<string name="OMXAudioDev" value="alsa" />Step 5
Need to run Raspi-Config and set audio to Headphones
From the command prompt type:Sudo raspi-config
From the menu select:
- System Options
- Audio
- Headphones
- Finish to exit to command prompt
Step 6
Use the following command:
sudo nano /boot/config.txt
The following two entries are useful if you want to use the 3.5mm audio output jack instead of via the HDMI cable.
hdmi_ignore_edid_audio=1
audio_pwm_mode=2
Line 1: Force the audio to use the stereo audio jack output.
Line 2: Improves the sound quality and reduces annoying hissing.
Confirm that the following entry exists and it’s set to this configuration
dtparam=audio=onStep 7 a:
Add the audio output from the command line.
To do this, you will need to create a new file called .asoundrc in your home directory /home/pi/.asound (No extension)
ALSA looks for this file to determine which audio device it should use by default.
If the file does not exist, ALSA uses “card 0” – which is HDMI – as the output device.
If you want to set the headphone jack as the default output, create the .asoundrc file with the following contents:
Use the following command:
sudo nano /home/pi/.asound
Add these parameters
defaults.pcm.card 1
defaults.ctl.card 1
This tells ALSA that “card 1” – the headphone jack – is the default device. To switch back to the HDMI output, either change the ‘1’s in the file to ‘0’s, or just delete the file.Step 7 b:
Use the following command:
sudo nano /usr/share/alsa/alsa.conf
Edit the file to match your card it may be defaulted to 0
defaults.pcm.card 1
defaults.ctl.card 1Step 8
RebootStep 9
Validate and Configure EmulationStation from the GUI interface (Audio) – confirm that audio is not set to zero
Within emulationstation – confirm that Headphones is selected.Step 10
PLAY YOUR GAME -
@jnunes said in Audio issues after latest Raspbian updates:
Please provide feedback.
There's no need to edit any files - the steps outlined in the topic starter will take care of any configuration file. Your instructions seem to switch back to the previous audio driver configuration, in which case there the issue would not present, so there there's no need for any re-configuration.
I don't recommend changing the/boot/cmdline.txt
file to switch to the previous audio driver configuration - the new audio settings enable audio on both the audio jack and HDMI port(s) independently, which was not possible before these changes. -
Thank you for your feedback.
-
For those who are experiencing similar issues after the Dec 2020 Raspberry Pi OS update (where ALSA support is dropped in favor of PulseAudio), the following setup works for me in Sound Settings:
AUDIO CARD: HW
AUDIO DEVICE HDMI
OMX PLAYER AUDIO DEVICE: HDMI -
This post is deleted! -
Having the same error, however sound works both in emulators and in the interface.
It's just that very same error text appearing everywhere every time, in-between game loads and upon exit.
This is on a pi400 with Retropie sound settings set to hdmi1, but it happens with Auto and default too.I followed the guide on post #1 (thank you for posting it Mitu), but the line text error remains. Is this normal?
I've also tried setting sound settings as
AUDIO CARD: HW
AUDIO DEVICE HDMI
OMX PLAYER AUDIO DEVICE: HDMI
but the error remains. -
@luckyluca what version of RetroPie are you using ? Did you install the desktop on your system ? Please post some details about your setup, as detailed in https://retropie.org.uk/forum/topic/3/read-this-first, and the output of the
aplay -L
command. -
Sorry, you're right. I'm using Retropie 4.7.1, with all installed main core packages updated to the latest versions as per last week. I'm not using a desktop OS, just Retropie. I'm testing this on both the vanilla retropieOS as well as a ready made third party image, with the same results.
Pi Model or other hardware: Pi 400
Power Supply used: Official white PSU
RetroPie Version Used: 4.7.1
Built From: Pre made SD Image on RetroPie website, booting from a samsung sdcard.
USB Devices connected: 1x logitech k400 keyboard/mouse dongle plugged to usb2.0
Controller used: 8bitdo sn30pro,sn30pro,sn30pro+
Error messages received:
volumecontrol::init() - failed to find mixer elements!Please note audio appears to work just fine everywhere, it's just the error message shows up multiple times, when launching emulators, closing emulationStation etc.
The result of aplay -L:
default Playback/recording through the PulseAudio sound server null Discard all samples (playback) or generate zero samples (capture) jack JACK Audio Connection Kit pulse PulseAudio Sound Server sysdefault:CARD=ALSA bcm2835 ALSA, bcm2835 ALSA Default Audio Device dmix:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct sample mixing device dmix:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct sample mixing device dmix:CARD=ALSA,DEV=2 bcm2835 ALSA, bcm2835 IEC958/HDMI1 Direct sample mixing device dsnoop:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct sample snooping device dsnoop:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct sample snooping device dsnoop:CARD=ALSA,DEV=2 bcm2835 ALSA, bcm2835 IEC958/HDMI1 Direct sample snooping device hw:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Direct hardware device without any conversions hw:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Direct hardware device without any conversions hw:CARD=ALSA,DEV=2 bcm2835 ALSA, bcm2835 IEC958/HDMI1 Direct hardware device without any conversions plughw:CARD=ALSA,DEV=0 bcm2835 ALSA, bcm2835 ALSA Hardware device with all software conversions plughw:CARD=ALSA,DEV=1 bcm2835 ALSA, bcm2835 IEC958/HDMI Hardware device with all software conversions plughw:CARD=ALSA,DEV=2 bcm2835 ALSA, bcm2835 IEC958/HDMI1 Hardware device with all software conversions usbstream:CARD=ALSA bcm2835 ALSA USB Stream Output sysdefault:CARD=b1 bcm2835 HDMI 1, bcm2835 HDMI 1 Default Audio Device dmix:CARD=b1,DEV=0 bcm2835 HDMI 1, bcm2835 HDMI 1 Direct sample mixing device dsnoop:CARD=b1,DEV=0 bcm2835 HDMI 1, bcm2835 HDMI 1 Direct sample snooping device hw:CARD=b1,DEV=0 bcm2835 HDMI 1, bcm2835 HDMI 1 Direct hardware device without any conversions plughw:CARD=b1,DEV=0 bcm2835 HDMI 1, bcm2835 HDMI 1 Hardware device with all software conversions usbstream:CARD=b1 bcm2835 HDMI 1 USB Stream Output
-
Although similar, your issue is not same. You updated your system and you installed Pulse Audio (included in the Raspberry Pi OS Dec. updates), which took over as the default ALSA sound device:
default Playback/recording through the PulseAudio sound server ....
This doesn't happen on a stock RetroPie image, which uses Raspberry Pi OS Lite, unless you install the desktop.
To get rid of the message, you can simply choose Master as the default Audio device in EmulationStation or disable Pulse Audio by running
systemctl --user mask pulseaudio.socket
-
@mitu could this issue be impacting splash videos? I currently lost splash videos and images trying to adjust the oxm player sound setting?
-
@cnoto The issue in the current topic appeared after the May 2020 updates in Raspberry Pi OS and it affects EmulationStation. I don't have reason to believe this could affect the splash videos audio, which are using
omxplayer
and don't rely on ALSA for audio. -
@mitu Thanks for the quick response. I added the video to the retropie default splash video folder and it now works.
-
@huey said in Audio issues after latest Raspbian updates:
For those who are experiencing similar issues after the Dec 2020 Raspberry Pi OS update (where ALSA support is dropped in favor of PulseAudio), the following setup works for me in Sound Settings:
AUDIO CARD: HW
AUDIO DEVICE HDMI
OMX PLAYER AUDIO DEVICE: HDMIUnfortunately, I am here to report after updating every package to the latest, the in-game sound seems to have been lost in my case. This affects all emulators (not just Retroarch, because even Drastic isn't outputting any sound). Still, the sound in Emulationstation works just fine using the setting above.
-
@huey Open a separate topic. If EmulationStation's sound works, then this is not the issue reported in this topic.
-
Just to share how i fixed, since i had the same symptoms on 2 seperate rpi4's (both only using hdmi). all sounds gone after december updates. mixer volume in ES was 0%. Both caused by pulseaudio and on both pi's the instructions in this thread did not solve the issue.
so here's how i did it:
- On 1 pi the only remedy was to remove pulse audio and reboot (sudo apt --purge pulseaudio)
- On the other pi:
- i had to go to desktop mode (sudo init 5),
- install the pulse audio volume control (described in this this article as todo after dec updates)
- switch the output to hdmi
- and reboot
-
@mitu said in Audio issues after latest Raspbian updates:
You updated your system and you installed Pulse Audio (included in the Raspberry Pi OS Dec. updates), which took over as the default ALSA sound device (...) This doesn't happen on a stock RetroPie image, which uses Raspberry Pi OS Lite, unless you install the desktop.
I confirm that @luckyluca is not alone to have installed the desktop on his RetroPie distribution. The Desktop is definitively a handy tool to manipulate files when you have a mouse.
So, like him, and certainly like many others, my sound disappeared. I did what you told us, I typed:
systemctl --user mask pulseaudio.socket
Ok, thank you very much, the sound is back now. But... very low.
I can barely hear anything with the sound set at 85% in EmulationStation and set at 80% on my monitor's speaker. Previously, the sound was comfortable with the sound set at 40% in EmulationStation and 10% on my monitor.
-
I'm going to lock this topic, since clearly it's no longer relevant, given the other set of Audio issues appearing after the Dec. 2020 updates in Raspberry Pi OS.
-
-
-
-
-
-
-
-
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.