Failed to find mixer elements error after latest system update/upgrade. Kernel bumped to 4.19.118
-
This was supposed to happen starting with the new 5.4 LTS, but I see it's included in the 4.19.y branch.
-
@mitu Yes I experienced first couple days ago when I tested the 5.4.x
I was very surprised to see this happening on a normal update with the 4.19.118, a day after the latest RPi OS release. -
This seems connected to the issue I had as well after updating:
https://retropie.org.uk/forum/topic/26434/usb-audio-broke-after-latest-updates?_=1590763424441
I too could only see HDMI and Headphones, and it appears that my USB card number changed from 1 to 2. By defaulting to card 2, it seems that I was able to fix the lack of sound output... for now at least.
-
Latest updates of Rasbian OS introduce some audio changes. More details here :
https://www.raspberrypi.org/blog/latest-raspberry-pi-os-update-may-2020/ -
@2Play said in Failed to find mixer elements error after latest system update/upgrade. Kernel bumped to 4.19.118:
Due to the latest systems update all Alsa mixer elements are "missing"
My workaround at the moment:
In the Audio Settings in ES if you have Sound 0% and option in Audio device as HDMI select that one.
Audio Card leave as defaultIf you dont see HDMI open and add manually in
/configs/all/emulationstation/es_settings.cfg
replace there PCM to
<string name="AudioDevice" value="HDMI" />
Volume will be back until the devs ? fix the PCM and others mixer controls
If you run this command you will see probably only the HDMI option available
amixer scontrols -D default
Hi,
Thanks for this information. I just updated OS packages this evening on my Picade (w/Pi 3) and noticed the same problem. However I am using the 3.5mm jack for audio, not HDMI.
Previously, to get sound working from a 'fresh' deployment, all I had to was configure the audio settings within RetroPie-Setup to explicitly select headphones, which in turn creates a .soundrc file in my home directory (/home/pi). This essentially forces the system to use my headphone device as the default. 3.5mm audio then worked.
However, after the recent update, nothing was working in terms of audio. I changed my audio device to HDMI as per the above (which I had to input manually via es_settings.cfg to get it to show up, as you mentioned), but at first, audio still didn't work.
After some trial and error, I revisited the audio settings in RetroPie-Setup and changed the audio output from Headphones to HDMI 1 (even though i'm using the 3.5mm jack) and rebooted - and then sound was fine. I also tried deleting the .soundrc file entirely (same as selecting 'reset to default' in the audio settings in RetroPie-Setup) - this also works fine after a reboot. Either seems to work. Changing back to headphones breaks things again.
So, it seems having 'headphones' selected no longer works for me within the audio settings.
Just wanted to post my findings in case it helps anyone else.
Basically, if you are using the 3.5mm jack and have performed the OS updates, in addition to the useful information above from @2Play (which is still necessary to get things working for me at least), you may need to go to audio settings in RetroPie-Setup and select 'reset to defaults', or delete the .soundrc file in the home directory. Then reboot and volume/sound should be restored. This is still a workaround of sorts mind, maybe things will change soon if behaviours are changed or things are fixed. Perhaps the audio settings script needs a bit of a rework in light of these updates/changes.
P.S. If you need to edit es_settings.cfg best to do it when emulationstation is closed so your changes don't get overwritten.
Thanks
-
Just to add to the above, after I thought I had it working (sound in ES), but foolishly I didn't actually test any games (it was late!). I came back to it today, and sound is fine in ES, but no sound in games. Argh! I only use retroarch cores, nothing standalone.
I had a play with the audio device settings in Retroarch but I still couldn't get it working.
For the time being, I have put everything exactly back as I had it before, but as per @mitu's suggestion in another thread, I added this to the end of my cmdline.txt to enable ALSA compatible mode:
snd-bcm2835.enable_compat_alsa=1
I then had to go back into audio settings in RetroPie-Setup, reset to defaults, and then explicitly select headphones again (as I use the 3.5mm jack)
After rebooting, everything works as it did before the update. Sound in ES and games is fine.
Will keep it like this for now and watch any further developments / suggestions! Thanks @mitu for posting that suggestion.
-
@movisman Thank you. Well posted, ES has to be closed for HDMI change to be recorded/saved
I was thinking about the 3.5mm jack.
Thank you for posting your testing above and @mitu settings.
I have tested and PCM now is back the working mixer.At least a workaround for all
TIP: If you are using PlayBox Base please add this to the beginning of the cmdline.txt . -
@2Play said in Failed to find mixer elements error after latest system update/upgrade. Kernel bumped to 4.19.118:
PlayBox Base
What's PlayBox Base ?
-
I just tested a freshly updated installation from the official image and found yet another effect that nobody seems to have reported before.
In addition to no sound after the update, I experienced system freezes every time I tried to browse through the games of any system. First, I suspected the video player, but further testing revealed that my Pi 4 froze every time when Emulation Station tried to play a sound, e.g. the navigation clicks when browsing games, or the various sounds it plays when you start a game (e.g. "Seeegaaa!", "It'seh me, Mario!", or "Playstation!").
With ENABLE NAVIGATION SOUNDS = OFF in Emulation Station's audio menu, the freezes disappeared.
Another thing that is seldom mentioned (I only read it once in this post by @mitu) is that you may have to set
<string name="AudioDevice" value="PCM" />
toHeadphone
when using the 3.5mm audio jack. With this andsnd-bcm2835.enable_compat_alsa=1
added to the/boot/cmdline.txt
, my sound problems and freezes were gone, and I could re-enable the navigation sounds. πThanks all of you in this thread and especially @mitu for giving me the right puzzle pieces to finally have an up-to-date Retropie with working sound again!
-
@Clyde said in Failed to find mixer elements error after latest system update/upgrade. Kernel bumped to 4.19.118:
With ENABLE NAVIGATION SOUNDS = OFF in Emulation Station's audio menu, the freezes disappeared.
Well, that's something new. Thanks for testing this through.
-
@mitu My pleasure (especially since it's working now). βΊοΈ
And I can say with much certainty that it should have nothing to do with any tinkering by me. My "old" system was installed when I got my Pi 4 at the beginning of
JuneMay, and my new system just some days ago. I set up both of them nearly from scratch to get rid of any inherited waste. I only mounted my~/RetroPie/roms
directory from an external ssd, and (only in my first Pi 4 installation) copied my Custom Collections over from the Retropie of my Pi 3B. -
Oh, another thing I noticed: After rebooting with
snd-bcm2835.enable_compat_alsa=1
, even removing that line fromcmdline.txt
didn't made the problems reappear. So it seems that booting with this option changes something in β¦ something(?) in a way that it fixes the audio permanently. π€I have full backups from before and after the fixes, so I could re-enact my actions if needed.
-
@Clyde Hi Clyde, I resolved the sound issue with the line ```
snd-bcm2835.enable_compat_alsa=1I also have resolved the issue prior adding that line by removing pulseaudio and resetting alsa configuration, but it resulted in loss of volume control in EmulationStation. No matter what combination of Audio Card/Audio Device I use the volume went always back to 0%. I'm using Supreme build by the way. Also, after upgrading to 4.6.1 I lost atomiswave/naomi emulation. I will open a new thread about that. Thanks
-
@lucifersan Thanks for trying to help, but third-party builds are not supported here and are not much use for comparison with systems based on the official Retropie (like mine), since nobody but the third party knows what they changed in their build.
A good example for this is your tip about pulseaudio. PA is not part of the official Retropie image, so it definitely is not connected to most people's audio problems here.
-
I did a bit more testing with this, and for me, taking out
snd-bcm2835.enable_compat_alsa=1
did break things again for me. Putting it back made things work.However..... after some fiddling about, I have now made things work without the need for this line. I did do another OS update though, which updated things like the kernel and some other packages - so not sure if anything on that side has changed or improved in the last week, since the audio changes were first made to Pi OS.
It didn't work off the bat of course, but I followed the above tip of changing my es_settings.cfg to have the audio device as 'Headphone' rather than 'PCM' (PCM works when you use the compatibility line though, and is what i've been using up until now). Changing to 'Headphone' without the compatibility line still won't fix the sound in ES, unless you have directed all system audio to use headphones first.
As per:
https://www.raspberrypi.org/blog/latest-raspberry-pi-os-update-may-2020/
Some people have asked how they can switch the audio output from the command line without using the desktop. To do this, you will need to create a file called .asoundrc in your home directory; 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:
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.
The audio settings script creates this file when you explicitly select 'headphones' as your preferred option (configuration/tools > audiosettings) but uses different code.
Not sure how this is different (19 lines vs 2 lines above) - maybe the new OS update requires less code to achieve the same thing. Ultimately though either appears to work fine and will force the 3.5mm jack to be used as primary audio.
After a full reboot, sound works in ES when 'Headphone' is set as the audio device, and also sound is fine in games, which is what i'd expect. Not sure why I was struggling to get sound in games the other day, as my .asoundrc file was exactly the same as it is now and system audio was pointing to headphones. So that's a bit confusing. The only thing I can remember doing differently today was opening alsamixer via a console and selecting the headphone output, was just poking around. Can't see how this would do anything though. Need to play around more to try to identify all this behaviour I think.
But for now, everything works again without compatibility mode set in cmdline.txt. So will see how that goes!
-
@Clyde said in Failed to find mixer elements error after latest system update/upgrade. Kernel bumped to 4.19.118:
Oh, another thing I noticed: After rebooting with
snd-bcm2835.enable_compat_alsa=1
, even removing that line fromcmdline.txt
didn't made the problems reappear.@movisman said in Failed to find mixer elements error after latest system update/upgrade. Kernel bumped to 4.19.118:
I did a bit more testing with this, and for me, taking out
snd-bcm2835.enable_compat_alsa=1
did break things again for me. Putting it back made things work.So it may be that removing this line by me didn't break sound again because I also did set
Headphone
in the Retropie settings andes_settings.cfg
. I'll test that hypothesis when I have the time, which, alas, may be not before friday.Thanks for more pieces of this puzzle!
-
@Clyde thanks for your suggestions. I'm also experiencing freezes when trying to navigate games. Not sure if the navigation sounds or the videos but you seemed to discard this last one. I have tried switching off the navigation sounds and various settings in this post and in the sticky one by mitu. Could you let me know , just to have them all in one place, all settings you have at the moment? I have followed mitu's advice so my settings in emulationstation.cfg are (using headphone out):
Audio Card: Default
Audio Device: Headphone
OMX Audio Device: ALSAI also have the compatibility line in cmdline.txt: snd-bcm2835.enable_compat_alsa=1
Thanks!
-
@kikeminchas I wonder if something changed in a recent update as my arcade now freezes when I navigate the console menus and I reach Atari. The GUI freezes up and I am forced to reboot via SSH. The only changes I've made recently is to disable onboard audio in config.txt to fix an issue introduced by a recent update that caused the order of my audio cards to keep swapping (HDMI Audio, Headphone audio and usb card audio - latter two kept swapping places). I also overclocked the RPI4 to 1750. I am suspecting either the overclock or some update.
-
@alruf said in Failed to find mixer elements error after latest system update/upgrade. Kernel bumped to 4.19.118:
I also overclocked the RPI4 to 1750. I am suspecting either the overclock or some update.
Just FYI, my Pi 4 wasn't overclocked when it froze reproducibly with Navigation Sounds = on until I applied the workarounds.
-
OK, I managed to stop the freezes. First of all, I did another update, kernel and several other packages were updated (including ES) so this is for sure the first thing to do. I started all over again with the config changes. The main difference compared to what I had previously it's that I disabled the compatibility line in cmdline.txt. I then selected headphone as output both in ES and Retropie Audio Tools, rebooted and finally audio working both in ES and games and no freezes.
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.