I installed my Pi 3B into a Pimoroni Picade a few months ago, and installed RetroPie from source (as a fresh install). After running the Pimoroni-supplied setup script, RetroPie, EmulationStation etc were all working fine. Many happy hours of nostalgia followed!
The Picade has its own HAT and physical speaker, and I could set the system volume from within EmulationStation, and also within each of the emulators. I had the volume set at 49%.
Fast forward a few months, and I decided to try playing around with a USB headset connected to the Pi, and using the “Desktop” environment included with RetroPie. I plugged in the headset - a fairly cheap-and-cheerful Creation gaming heading - configured the Desktop to use the USB headset, tested it all worked (which it did) and thought no more of it.
However, since disconnecting the headset and returning to using the Picade speakers, I’m unable to change the system volume. It sounds like it’s set to 100% volume - i.e. too loud - despite me changing the setting in the ES settings, alsamixer, RetroPie config, and even in the Desktop environment itself. Regardless of whether I set the volume to 1% or 100%, nothing actually changes the speaker volume. I can adjust the volume within RetroArch via hotkeys, but this isn’t ideal (especially for games that start noisy).
amixer output look OK, at least to my untrained eye:
pi@retropie:~ $ amixer Simple mixer control 'PCM',0 Capabilities: volume Playback channels: Front Left - Front Right Capture channels: Front Left - Front Right Limits: 0 - 255 Front Left: 124 [49%] Front Right: 124 [49%]
However, this output:
pi@retropie:~ $ amixer controls numid=1,iface=MIXER,name='PCM'
compared to some others I've seen seems to be missing any mention of volume controls - is that perhaps the issue, and how can I restore the ability to set the volume?
EDIT: As requested:
$ cat /proc/asound/cards /proc/asound/devices /proc/asound/pcm /proc/asound/modules 0 [sndrpihifiberry]: HifiberryDac - snd_rpi_hifiberry_dac snd_rpi_hifiberry_dac 0: [ 0] : control 16: [ 0- 0]: digital audio playback 33: : timer 00-00: HifiBerry DAC HiFi pcm5102a-hifi-0 : : playback 1 0 snd_soc_hifiberry_dac
EDIT2: Further info
$ sudo aplay -l **** List of PLAYBACK Hardware Devices **** card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0  Subdevices: 0/1 Subdevice #0: subdevice #0
Output is the same when ran without
$ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)" NAME="Raspbian GNU/Linux" VERSION_ID="9" VERSION="9 (stretch)" ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
EDIT3: The Picade install script outputs the following when it's rerun -
Checking hardware requirements... Checking for packages required for GPIO control... raspi-gpio is already installed Checking for dependencies... alsa-utils is already installed lsb-release is already installed Github repo already present. Updating... Already up-to-date. Finalising Install... Picade HAT: Installer Installed: /boot/overlays/picade.dtbo Warning: /etc/udev/rules.d/10-picade.rules already exists, not replacing! Warning: /etc/asound.conf already exists, not replacing! Config: Skipped "dtoverlay=picade", already exists in /boot/config.txt Config: Skipped "dtparam=audio=off", already exists in /boot/config.txt Config: Skipped "hdmi_force_hotplug=1", already exists in /boot/config.txt Installation finished. You must reboot for changes to take effect!