[alsa-devel] ALSA Multichannel through HDMI

Anssi Hannula anssi.hannula at iki.fi
Thu Nov 25 23:58:01 CET 2010


On 26.11.2010 00:42, John Ettedgui wrote:
> On Thu, Nov 25, 2010 at 11:19 AM, Anssi Hannula <anssi.hannula at iki.fi> wrote:
>> On 25.11.2010 14:21, John Ettedgui wrote:
>>> On Thu, Nov 25, 2010 at 3:40 AM, Anssi Hannula <anssi.hannula at iki.fi> wrote:
>>>> On 25.11.2010 13:09, John Ettedgui wrote:
>>>>> On Thu, Nov 25, 2010 at 2:49 AM, Anssi Hannula <anssi.hannula at iki.fi> wrote:
>>>>>> On 25.11.2010 06:12, John Ettedgui wrote:
>>>>>>> I'm actually trying to get a 5.1 setup working without passthrough, if
>>>>>>> I use mplayer with passthrough my receiver behaves just fine, but I am
>>>>>>> trying to send the 6 channels from the computer.
>>>>>>>
>>>>>>> I was actually told that the current ALSA driver for radeon's hdmi
>>>>>>> does not support more than 2 channels, and that would explain why I'm
>>>>>>> getting this behavior. Is that true though?
>>>>>>
>>>>>> Yes.
>>>>>>
>>>>>>
>>>>>> However, strangely your log output seems to show the intel's hdmi parser
>>>>>> being used instead:
>>>>>>
>>>>>>> ALSA sound/pci/hda/patch_intelhdmi.c:842: hdmi_setup_stream: NID=0x2,
>>>>>>> stream=0x1, new-format=0x11
>>>>>>
>>>>>> Were you just trying some patch at the time?
>>>>>
>>>>> yes Wu gave me a patch to try against the kernel, I'm guessing this is
>>>>> the reason you see something unexpected.
>>>>
>>>> Did 6 channels work with that patch? (possibly with a wrong channel order)
>>> Not any better as far as I remember.
>>
>> OK. Did 2 channel audio continue to work with it?
>>
>> If you are not sure, here's the patch doing the same thing against
>> current alsa driver:
>> http://stuff.onse.fi/0001-ALSA-hda-Use-generic-HDMI-code-for-ATI-HDMI-codecs.patch
>>
>> Confirming that would help (it would allow to switch the ATI chip to use
>> the generic parser instead of the ATI-specific one), though not with the
>> multichannel issue (see below).
>>
>> [...]
>>
>>>>> Since I just moved to jack/rca cables I'm in no hurry anymore, but is
>>>>> there any reason why the driver cannot work with more than 2 channels?
>>>>
>>>> I don't really know (it is simply not implemented).
>>> Alright.
>>>>
>>>>> Anything I could do to help with that?
>>>>
>>>> Possibly. But see above, so that we won't try the same things you
>>>> already tried :)
>>>>
>>> Sure :)
>>
>> Looking again at the the alsa info output you provided, I don't think I
>> have any great ideas. It looks like the chip simply reports that it
>> supports a maximum of 2 channels.
>>
>> One option could be hardcoding "chans = 8;" in generic_hdmi_build_pcms()
>> in sound/pci/hda/patch_hdmi.c (assuming you have the above patch and 2
>> channel audio works with it). However, I find it rather unlikely that it
>> would make any difference.
>>
>> --
>> Anssi Hannula
>>
> 
> Anssi,
> the patch fails on my kernel, I cannot find the hda_codec_preset
> manually in there either.
> Did you want me to try that against a 2.6.37 rc instead of a 2.6.36?

For 2.6.36 I think you can just use your earlier patch.

Note that on that kernel generic_hdmi_build_pcms() is
intel_hdmi_build_pcms() in patch_intelhdmi.c.

BTW, I've just been informed by another ATI user that his card was
actually stereo-only, while he thought earlier it was multichannel
capable. So, are you sure your card is a multichannel one?
(if not, it would explain why the card says it is not)

-- 
Anssi Hannula


More information about the Alsa-devel mailing list