pimoroni / picade-hat

Picade HAT input daemon and setup script
https://shop.pimoroni.com/products/picade-hat
65 stars 15 forks source link

Unable to control volume #38

Closed Utopiah closed 1 year ago

Utopiah commented 2 years ago

There are numerous questions on the topic :

where users are able to use the physical buttons but not the usual retropie tools to manage the volume of the internal speaker.

For me the temporary fix was connection via ssh and using amixer as suggested in https://forums.pimoroni.com/t/picade-x-hat-sound-volume-too-high/13874 but overall it could be useful to provide either an official fix, a warning or using a collectively accepted default value which here seems to be of 40%.

Gadgetoid commented 2 years ago

Support say that configuring Sound Settings like so - at least in EmulationStation - fixes the problem for users:

image

It might be that our asound.conf's attempt to masquerade the DAC as "PCM" for EmulationStation support is causing some issues. It would stand to reason that emulator distros have since been fixed to handle DACs properly and these hacks might be outdated.

My Picade is... uh... not in the best of conditions right now :grimacing:

rofafor commented 2 years ago

I had to tweak manually ALSA settings in order to get the volume control working with RetroPie 4.8 (using the same settings as shown in the previous post).

~/.asoundrc:

# taken as is from https://alsa.opensrc.org/How_to_use_softvol_to_control_the_master_volume

pcm.!default {
    type            plug
    slave.pcm       "softvol"   #make use of softvol
}

pcm.softvol {
    type            softvol
    slave {
        pcm         "dmix"      #redirect the output to dmix (instead of "hw:0,0")
    }
    control {
        name        "PCM"       #override the PCM slider to set the softvol volume level globally
        card        0
    }
}
SignUp0 commented 2 years ago

The workaround I found was as I recorded in the Pimoroni forum, to add a new softvol device via .asoundrc as shared in rofafor's post above. https://forums.pimoroni.com/t/picade-x-hat-sound-volume-too-high/13874/50 https://alsa.opensrc.org/How_to_use_softvol_to_control_the_master_volume I'd suggest the broader fix for the community would be to modify the Pimoroni picadehat installer script to do the same and add the new softvol device? Anyone on the Pimoroni team around to maintain and update that script?

w-j-francis commented 2 years ago

I'm still struggling to get the volume control working, from RetroPi or amixer - the values do change and stick whether I adjust volume from RetroPi or the command line amixer, but the actual audio always blasts out at 100%. I was hoping someone who's had some luck with this might provide a little more clarity.

Is the fix to add the ~/.asoundsrc file above? And if so do I need to remove the asoundsrc.cfg file? Audio card, device and OMX should match the screen shot posted by support correct? Is there an easy way to test the softmixer from the command line? When I tried 'speaker-test -Dsoftvol' softvol was not found (though i could test speaker with default)

SignUp0 commented 2 years ago

When I started again from scratch at the weekend and tried to document the process, I had a different experience. This time I didn't need to edit .asoundrc at all, full post here: https://retropie.org.uk/forum/post/278835

paeore commented 2 years ago

When I started again from scratch at the weekend and tried to document the process, I had a different experience. This time I didn't need to edit .asoundrc at all, full post here: https://retropie.org.uk/forum/post/278835

Hey @SignUp0 I read your concise write-up on the RetroPie forum, thanks for that. I can achieve what you described but can I ask if you are able to control the volume using the Picade physical buttons on the back of the unit? Thanks

SignUp0 commented 2 years ago

When I started again from scratch at the weekend and tried to document the process, I had a different experience. This time I didn't need to edit .asoundrc at all, full post here: https://retropie.org.uk/forum/post/278835

Hey @SignUp0 I read your concise write-up on the RetroPie forum, thanks for that. I can achieve what you described but can I ask if you are able to control the volume using the Picade physical buttons on the back of the unit? Thanks

There are a couple of small buttons inside the back cover at the top of the case, is it those you mean? If it is, that is part of the control board for the LCD screen, and has no effect on the volume from the speaker connected to the Pi HAT. So it's only software volume control as far as I know with the Picade.

paeore commented 2 years ago

Hey @SignUp0 Thanks for the reply. Yes those are the ones I was talking about. I'm sure they did used to work on a previous iteration of RetroPie. Maybe I imagined it 😅

Utopiah commented 1 year ago

Hi @Gadgetoid can you please clarify why this issue is closed?