RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Audio issues after latest Raspbian updates (June 2020)

    Scheduled Pinned Locked Moved Help and Support
    audiobusteremulationstatioraspbianupdate
    104 Posts 27 Posters 60.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      JNunes @flash2
      last edited by

      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 GUI

      Step 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=1

      Step 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=on

      Step 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 1

      Step 8
      Reboot

      Step 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

      mituM 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator @JNunes
        last edited by

        @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.

        J 1 Reply Last reply Reply Quote 0
        • J
          JNunes @mitu
          last edited by

          @mitu

          Thank you for your feedback.

          1 Reply Last reply Reply Quote 0
          • H
            huey
            last edited by

            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

            L 1 Reply Last reply Reply Quote 1
            • L
              luckyluca
              last edited by luckyluca

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • L
                luckyluca @huey
                last edited by luckyluca

                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.

                mituM 1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @luckyluca
                  last edited by

                  @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.

                  L 1 Reply Last reply Reply Quote 0
                  • L
                    luckyluca @mitu
                    last edited by

                    @mitu

                    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
                    
                    
                    
                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @luckyluca
                      last edited by

                      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
                      
                      cnotoC Y 2 Replies Last reply Reply Quote 0
                      • cnotoC
                        cnoto @mitu
                        last edited by cnoto

                        @mitu could this issue be impacting splash videos? I currently lost splash videos and images trying to adjust the oxm player sound setting?

                        mituM 1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator @cnoto
                          last edited by

                          @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.

                          cnotoC 1 Reply Last reply Reply Quote 0
                          • cnotoC
                            cnoto @mitu
                            last edited by cnoto

                            @mitu Thanks for the quick response. I added the video to the retropie default splash video folder and it now works.

                            1 Reply Last reply Reply Quote 0
                            • H
                              huey
                              last edited by

                              @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: HDMI

                              Unfortunately, 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.

                              mituM 1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator @huey
                                last edited by

                                @huey Open a separate topic. If EmulationStation's sound works, then this is not the issue reported in this topic.

                                1 Reply Last reply Reply Quote 0
                                • A
                                  akamming
                                  last edited by akamming

                                  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
                                  1 Reply Last reply Reply Quote 0
                                  • Y
                                    yserra @mitu
                                    last edited by

                                    @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.

                                    mituM 1 Reply Last reply Reply Quote 0
                                    • mituM
                                      mitu Global Moderator @yserra
                                      last edited by

                                      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.

                                      1 Reply Last reply Reply Quote 3
                                      • mituM mitu unpinned this topic on
                                      • J jpwhiting referenced this topic on
                                      • VirgoHV VirgoH referenced this topic on
                                      • K KrQk referenced this topic on
                                      • A acons017 referenced this topic on
                                      • mituM mitu referenced this topic on
                                      • J jernserval referenced this topic on
                                      • J jernserval referenced this topic on
                                      • First post
                                        Last post

                                      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.