alsa-project / alsa-ucm-conf

ALSA Use Case Manager configuration
BSD 3-Clause "New" or "Revised" License
73 stars 212 forks source link

Linux 6.9 pre-rc1 might have broken UCM matching for USB devices #404

Open pinkflames opened 6 months ago

pinkflames commented 6 months ago

While testing Torvalds' master branch of Linux which will become 6.9-rc1 eventually, I have stumbled upon PipeWire/WirePlumber apparently no longer applying the UCM profile for my USB connected on-board audio controller. Git bisection leads to the following commit: torvalds/linux@1601cd53c7e3197181277326dbfc131d20a74e46 . It's possible that I'm wrong in concluding that the issue is UCM no longer applying/matching but that's my best guess looking at seemingly ACP named devices and the lack of any ucm strings in the output of pw-dump, when the regression is present.

Since this is likely a kernel regression, I'll be reporting that to the kernel bugzilla, too, but I thought alsa-ucm-conf might be interested in this change as well.

perexg commented 6 months ago

Could you attach output from amixer -c 0 contents (replace 0 with the correct integrated USB sound card)? Also show output from amixer -c 0 info. Thanks.

pinkflames commented 6 months ago

Here's the required information, when things are working correctly (regression is not present). contents_working.txt info_working.txt

And here's the same output with a kernel that has the issue: contents_broken.txt info_broken.txt

perexg commented 6 months ago

So this cleanup makes sense and it better identifies the purpose of the mixer element:

old naming:

numid=20,iface=MIXER,name='PCM Playback Switch'
numid=21,iface=MIXER,name='PCM Playback Volume'
numid=24,iface=MIXER,name='PCM Playback Switch',index=1
numid=25,iface=MIXER,name='PCM Playback Volume',index=1
numid=28,iface=MIXER,name='PCM Playback Switch',index=2

new naming:

numid=20,iface=MIXER,name='Speaker Playback Switch'
numid=21,iface=MIXER,name='Speaker Playback Volume'
numid=24,iface=MIXER,name='Headphone Playback Switch'
numid=25,iface=MIXER,name='Headphone Playback Volume'
numid=28,iface=MIXER,name='IEC958 In Playback Switch'

I'll try to extend ALC4080 config to handle new names so we can revert the revert :)

pinkflames commented 6 months ago

I'll try to keep an affected kernel image around so that I can test the fix as soon as it's ready. I can apply git commits as patches to the alsa-ucm-conf package easily, so just let me know when and what to test.

tiwai commented 6 months ago

The kernel isn't released yet and I'm going to revert the commit that changed the control names. We need to apply the changes a bit more carefully at the next try. http://lore.kernel.org/r/20240316083744.28126-1-tiwai@suse.de