On Sat, Apr 25, 2020 at 05:16:03PM +0200, Damien Couderc wrote: > > > > I can see in the full dmesg that there are two different FTYPE results > > provided during azalia_codec_init and only the first one seems to be > > displayed in the mixerctl output. > > > > I think that maybe mixerctl does not recurse all the audio functions or > > that some bits aren't recorded. I'll take a look. > > Ok, I did a bit of reading and from what I understood there are 2 detected > codecs (0 and 2) for the same instance of azalia but the latest is deleted > in azalia_init_codecs() because there is only one that can be enabled. > > Alexandre could maybe tell us what is possible to do here. I think it's > maybe possible to keep all detected codecs but to change which one is > enabled.
Hi, Sorry couldn't test your diff, my machines have one codec only. The azalia driver can handle only one codec at a time. Multiple codecs can't be presented as different devices because they can't be used at the same time. Quickly adding support for multiple codecs would need to expose "mixer" controls of all the codecs and the ability to switch between them. This may look difficult but in most (all?) real-world cases there is at most 1 analog and 1 digital codec and the latter has very few controls, if any. Independenty, support for the hdmi-only devices, present on certain graphics cards was removed as they were not useful, but used to attach as audio0, i.e. they took the place of the default audio device, which made audio not work by default. But this is not related to your patch. HTH