failed to find mixer elements
-
I know this thread is a bit old now, but i've only just found my solution after trying all of the above and more so thought I'd share it.. Using winscp I manually edited the:
/opt/retropie/configs/all/emulationstation/es_settings.cfg
and changed the :
<string name="AudioDevice" value="Master" />to
<string name="AudioDevice" value="PCM" />and its finally gone! - I am using the A/V output and not hdmi. Hope that helps someone out there.... happy gaming
-
For future internet reference........
That 'lv10 Volume Control: Failed to find mixer" error is the cryptic message that Emulationstation gives when it cannot find the Audio Mixer on the selected Audio Card. You can find more information about that in the Sound Troubleshooting instructions I wrote on the Retropie website
To solve this, we need to figure out what the name of the Audio Card is, and the name of the Audio Mixer on the Audio Card, so that we're able to correctly reference them from within Emulationstation.
Firstly, you can run
aplay -l
to get a list of the Audio Cards that ALSA recognises. You should get something like this (this is for an ODROID):odroid@odroid64:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: ODROIDHDMI [ODROID-HDMI], device 0: I2S.27 dit-hifi-0 [] Subdevices: 0/1 Subdevice #0: subdevice #0
(You may have different results, just take note of the the HDMI audio card name and keep it for later.)
In our example we have an Audio Card named 'ODROIDHDMI', which is not an Audio Card type that is in the built-in list of Audio Cards in Emulationstation.
The second thing we need to do is figure out what the audio mixers are available on the audio card. For my example I run the
amixer scontrols -D ODROIDHDMI
command, which will show you the names of the audio mixers on the ODROIDHDMI audio card. Replace the ODROIDHDMI name with the name of your Audio Card you just got above. Based on my research you should see something similar to this:Simple mixer control 'Analogue',0 Simple mixer control 'Deemphasis',0 Simple mixer control 'Digital',0
(Again, you may have different results, just take note of them and modify the command below as needed.)
Take a note of the names of the all the Audio mixers on that Audio Card as we'll need them later.
The next step is figuring out which audio mixer from that list actually controls the volume. On my Rpi Justboom DAC HAT, its the 'Digital' mixer. You will need to experiment to see what works for you. To test the audio mixer, you need to first make a noise out the HDMI, and then second use amixer to adjust the various mixers until you figure out which one changes the volume of the HDMI.
- To make a sound out the audio device you can use
speaker-test -D ODROIDHDMI -t wav -l 20 &
to run the speaker test 20 times in a loop (and go into the background) (replace ODROIDHDMI with the name of your Audio Card you got in step 1). - You quickly then run
alsamixer
to get a nice GUI for the ALSA mixer, which you can then use to adjust the various audio mixer devices on the audio card
At the end of that testing you should know the Audio Card name, and the Audio Mixer name on that card that controls the volume.
So now we need to tell emulationstation how to use these new cards.
As mentioned earlier 'ODROIDHDMI' is not an Audio Card type that is in the built-in list of Audio Cards in Emulationstation. Luckily this isn't an issue for us, as the patch I added to emulationstation last year allows you to add a Custom Audio Card, and a Custom Audio Mixer (the audio mixer is called an 'Audio Device' in emulationstation).
To add a Custom Audio Card just follow these instructions and replace the
<string name="AudioCard" value="default" />
line in the es_settings.cfg file with<string name="AudioCard" value="ODROIDHDMI" />
. This should allow emulationstation to successfully look for an use the ODROIDHDMI Audio Card.To add a Custom Audio Mixer just follow these other instructions and modify the
<string name="AudioDevice" value="Digital" />
line in the es_settings.cfg file so that Digital is changed to the Audio Mixer name you discovered above with your alsamixer testing.Please note that if you change the Audio Card or Audio Device settings from within the Emulationstation GUI at any stage, you will lose your custom settings, and you will need to readd them in es_settings.cfg again as described above.
With the combination of settings above you should be getting sound when you go into emulationstation.
Hope that helps people avoid these problems again!
Cheers
Tminit - To make a sound out the audio device you can use
-
This thread is reposted in multiple forums and while it led me to a fix it doesn't link to what worked for me.
I followed mitu's instructions and the error is gone.
@mitu said in Latest update lvl0: VolumeControl::init() - Failed to find mixer elements!:
This is caused by the recent change in kernel/firmware for the audio system on the Pi - the names of the cards and devices have changed (see the announcement on the 29th, the Other changes section).
The volume can be set using
alsamixer
or the Audio menu in RetroPie (which usesalsamixer
), but for EmulationStation the only workaround right now is to edites_settings.cfg
and setAudioDevice
toHDMI
, if using the HDMI for audioHeadphone
, if using the analog jack for audio.
Once I edited
/opt/retropie/configs/all/emulationstation/es_settings.cfg
and set
<string name="AudioDevice" value="HDMI"
the error dissapeared.Thank you @mitu
-
@CrazyWind Thank you for this, problem solved.
-
Thanks for picking up on this. For me I wasn't getting any sounds - almost pulled everything apart fearing I'd damaged the socket on my rpi. In my case I wanted audio via the 3.5mm audio. I found that I could set it in Raspi-config but the Audio setting in emulationstation seemed to be orphaned from the setting. Looking in the es_settings.cfg it mentioned PCM for the string name not headphones, I changed it to headphones and the error no longer is mentioned - however the ELSAMIXER in emulationstation still seems to default to only allowing volume of HDMI, so still not yet idead (have to run ALSAMIXER as standalone)
-
@willinliv said in failed to find mixer elements:
however the ELSAMIXER in emulationstation still seems to default to only allowing volume of HDMI, so still not yet idead (have to run ALSAMIXER as standalone)
You probably need an updated EmulationStation for that - as mentioned in https://retropie.org.uk/forum/topic/26628/audio-issues-after-latest-raspbian-updates.
-
@CrazyWind Thanks!!
-
I am using an external card on my PI and for me amixer and emulationstation gave errors when using the devicename as reported by aplay, I had to use hw:2, hope it helps someone
-
@crazywind Thank you!
-
Only this helped me:
add the following line in your config.txt.dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4
-
@alex-levi this worked for me too, Thanks alot,
Pi3A+ Cart - Gpi Case Retropie 4.7.1 -
Just wanted to say thank you for this help. I had the same "failed to find mixer elements" problem with my Retropie on Raspberry Pi 4, with the Picade hardware. The volume was always very loud and could not be changed, but once I made this edit to the es_settings.cfg file, I rebooted and I was finally able to modify the volume in the Emulation Station settings UI.
-
@alex-levi I know this is old but I need to tell you how much I appreciate your post! I am brand new to raspberry pi and didn't know how to do the other recommended changes. However, what you suggested not only eliminated the error constantly popping up, it also fixed the forced maxed-out volume level issue! I just reset and tested, now I can lower the volume and it keeps the value I move the slider to. Thank you so much!
-
-
@Alex-Levi Thanks a lot! This worked for me too!
-
-
Hi Levi - where do I enter this?
dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4 -
-
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.