-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ucm2: HDA: Use Master volume control for dual speakers #410
base: master
Are you sure you want to change the base?
Conversation
This patch extends the existing 'activate Bass Speaker' case with additional configuration - Use Master mixer for volume control - Configure Speaker Volume and Bass Speaker volume to max since Master volume regulation is used This fixes a case where only the first speaker volume is changed using the system volume control. Signed-off-by: Christoffer Sandberg <[email protected]>
Alternative solution suggestions are also appreciated. |
Bump, is it feasible to get this included or is an alternative way preferred? |
Is there any update on this when this will be merged? |
This does not work on my Tuxedo Sirius 16 Gen1 under NixOS. I applied this patch using the ALSA_CONFIG_UCM2 environment variable like described here (and have a patched kernel with this) but with the patch from this PR sound just disappears entirely. |
If (1) doesn't work the kernel patch did not apply. If (2) doesn't work this ucm2 config change didn't apply. |
Could you both attach output from |
Here's from the devices of the original issue. Both use same card and double speaker pairs (sides+top speaker combo in a laptop for context). amixer-contents-sirius-gen1.txt |
@perexg Without this patch, right after the system is started (no sound): amixer_no-ucm-patch_pre-pw-retart.out.txt So I guess it may be a pipewire/wireplumber issue, but I am not sure how to deal with it either |
There is the "Bass speakers" knob: with or without this PR, 100%-ed, but it doesn't do anything. |
For you it sounds like there's a problem unrelated to this PR then to solve first. To debug. Be sure to turn the other speaker off to hear any difference with the "bass speaker" knob. And of course make sure that it's not muted. |
Ooh I see. I didn't know you can mute stuff in alsamixer. It solves the entire system mute, but "Bass speakers" still doesn't affect anything The thing is, I actually once managed to make bass speakers work a long time ago, when I installed the patched tuxedo kernel. And I was able to change volumes of bass and side speakers separately in alsamixer, but when I changed the master knob the other two were changing in a strange manner, so I guess this PR is addressed to exactly this issue. |
Those controls exist in all alsa-info dumps:
I don't like the master volume misuse solution because it may affect also different use-cases (like separate output from Headphones) in future. The goal may be to create a "virtual" control using alsa-lib which maps the |
Thanks for the feedback. Right, those are the two controls in question. The second pair is not technically a bass speaker I believe, but get labelled such on the way somewhere.
Yes, 1:1 mapping should be enough for this one case. I do not have enough experience with systems with multiple speaker pairs to judge if level shifting would be necessary at this level in a general case. I made one more observation however. Taking another look at the HiFi profile and looking at how it is identified I made one test inverting the condition to use it here alsa-ucm-conf/ucm2/HDA/HDA.conf Lines 22 to 31 in a03c538
such that it does not get used. Fallback one for the card with the multiple speaker pairs gets assigned "Analog Stereo Duplex" and this profile actually does have the behaviour regulating both pairs through the master control (except for 0% where both speakers also get muted). Furthermore there's an "Analog Surround 4.0 Output" profile where the individual levels can be configured. At least to some extent, temporarily. Ex: |
This PR extends the existing 'activate Bass Speaker' case with additional configuration
It fixes a case where only the first speaker volume is changed using the system volume control.