Re: [PATCH] ALSA: hda/generic: Use "Input Source" for the capture source selector

From: Takashi Iwai

Date: Thu Oct 22 2026 - 05:45:09 EST


On Thu, 22 Oct 2026 11:29:21 +0200,
songxiebing wrote:
>
> >That can work, but I'd rather check further why PA doesn't work with
> >Capture Source. If it's something like an element that doesn't match
> >with the actual input, it's a driver's problem and we may work around
> >it somehow. But before figuring it out, it's not wise to blindly
> >work around something just because it looks as if working.
> >
> >
> >thanks,
> >
> >Takashi
>
> Thanks for reply.
>
> What I found so far on the userspace side:
>
> - alsa-lib's simple-mixer layer special-cases the exact name "Capture
> Source": it does *not* expose an enumerated element with that name, but
> instead creates one exclusive capture switch per enum item, named after
> the item (simple_none.c, simple_event_add()).
> - PulseAudio's ALSA backend resolves its "Capture Source" element strictly
> by name (element_probe() -> snd_mixer_find_selem()), so it never finds
> an element and the mux is never switched. PA also has no handling for
> snd_mixer_selem_has_capture_switch_exclusive(), so it can't consume the
> per-item switches either.

If that's true, PA is broken for all other AC97-based PCI cards?
Let's verify the PA behavior more at first.


Takashi