[alsa-devel] Front speakers doesn't work in multichannel output, regression in ALC888

Raymond Yau superquad.vortex2 at gmail.com
Tue May 5 18:47:22 CEST 2015


>
> > seem internal subwoofer only use one channel and don't have any stereo
to
> > mono downmix according to your patch
> >
> > It is not easy to assign different name to internal 4.1 and external 5.1
> > speaker when alc888 only has five DAC
> >
> > Some playback volume control  must be shared
>
> If you know what's missing, you could send a few lines of code and I will
test
> it, otherwise I'll have to experiment on my own.

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/patch/sound/pci/hda/patch_realtek.c?id=
c3e837bbcc03e39991da5dd1f791c0 6cde9f7a45

As your patch indicate internal subwoofer use external center speaker
channel and your codec does not support L/R swap

You may need to reserve Audio mixer 0x26 for internal subwoofer playback
volume by restrict the connection of the internal rear speaker

excluding 0x26 so that last DAC can be assigned to the internal subwoofer
similar to alc889_fixup_dac_route

void alc888_fixup_dac_route(struct hda_codec *codec,
   const struct alc_fixup *fix, int action)
{
if (action == ALC_FIXUP_ACT_PRE_PROBE) {

hda_nid_t conn1[4] = { 0x0c, 0x0d, 0x0e, 0x0f};

snd_hda_override_conn_list(codec, 0x17, 4, conn1);

} else if (action == ALC_FIXUP_ACT_PROBE) {
conn[5] = { 0x0c, 0x0d, 0x0e, 0x0f, 0x26 };
snd_hda_override_conn_list(codec, 0x17, 5, conn);

}
}

>
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/patch/sound/pci/hda/patch_realtek.c?id=
c3e837bbcc03e39991da5dd1f791c0 6cde9f7a45

> >
> > Do you mean internal subwoofer has low pass filter
>
> I don't know. How to check it?
>
>
> > what do you mean when you say 4.1 worked fine ?
>
> External 5.1 speakers working as 4.1 speakers because such profile was
set.
>
>
> > The channel map of internal 4.1 speaker are different from external 5.1
> > speaker
>
> Recently I also made such conclusion.
>

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=2d3391ec0ecca37efb6bc995906292f47522b471

Seem  4.1 is not defined in snd_pcm_std_chmap and you need to define and
add your 4.1  chmap similar to 2.1

https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=ee81abb623cb5e03c182d16871bb4fb34fdc9b4f


More information about the Alsa-devel mailing list