[alsa-devel] ALSA Multichannel through HDMI

John Ettedgui john.ettedgui at gmail.com
Sun Jan 23 00:34:45 CET 2011


On Sun, Dec 5, 2010 at 2:32 PM, John Ettedgui <john.ettedgui at gmail.com>wrote:

>
>
> On Sat, Dec 4, 2010 at 3:58 PM, Anssi Hannula <anssi.hannula at iki.fi>wrote:
>
>> On 27.11.2010 06:53, John Ettedgui wrote:
>> > On Fri, Nov 26, 2010 at 7:30 AM, Anssi Hannula <anssi.hannula at iki.fi>
>> wrote:
>> >> On 26.11.2010 08:00, John Ettedgui wrote:
>> >>> On Thu, Nov 25, 2010 at 9:56 PM, John Ettedgui <
>> john.ettedgui at gmail.com> wrote:
>> >>>> On Thu, Nov 25, 2010 at 6:21 PM, John Ettedgui <
>> john.ettedgui at gmail.com> wrote:
>> >>>>> On Thu, Nov 25, 2010 at 6:16 PM, Anssi Hannula <
>> anssi.hannula at iki.fi> wrote:
>> >>>>>> On 26.11.2010 04:02, John Ettedgui wrote:
>> >>>>>>> On Thu, Nov 25, 2010 at 5:08 PM, John Ettedgui <
>> john.ettedgui at gmail.com> wrote:
>> >>>>>>>> On Thu, Nov 25, 2010 at 4:59 PM, Anssi Hannula <
>> anssi.hannula at iki.fi> wrote:
>> >>>>>>>>> On 26.11.2010 02:53, John Ettedgui wrote:
>> >>>>>>>>>> On Thu, Nov 25, 2010 at 3:34 PM, John Ettedgui <
>> john.ettedgui at gmail.com> wrote:
>> >>>>>>>>>>> On Thu, Nov 25, 2010 at 3:15 PM, Anssi Hannula <
>> anssi.hannula at iki.fi> wrote:
>> >>>>>>>>>>>> On 26.11.2010 01:11, John Ettedgui wrote:
>> >>>>>>>>>>>>> On Thu, Nov 25, 2010 at 2:58 PM, Anssi Hannula <
>> anssi.hannula at iki.fi> wrote:
>> >>>>>>>>>>>>>> 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:
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> 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.
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>> ok
>> >>>>>>>>>>>>>> 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
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>> Yes, it works fine in Window  so I believe the hardware part
>> is good.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> And you are sure it is multichannel PCM, and not e.g.
>> multichannel DTS
>> >>>>>>>>>>>> or multichannel AC-3 with on-the-fly compression, which are
>> possible
>> >>>>>>>>>>>> with stereo hdmi as well?
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> Just making sure :)
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> --
>> >>>>>>>>>>>> Anssi Hannula
>> >>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> Well, I have not super tested it, but the reason I believe it
>> is is
>> >>>>>>>>>>> simple, when I use passthrough my receiver says Dolby digital
>> or
>> >>>>>>>>>>> something like that, but in Windows just going around or
>> playing games
>> >>>>>>>>>>> it says Multichannel.
>> >>>>>>>>>
>> >>>>>>>>> Sounds ok then.
>> >>>>>>>>>
>> >>>>>>>>>>> I'll get the patch applied in a few minutes, I was running out
>> of
>> >>>>>>>>>>> memory and my system was getting really slow... :)
>> >>>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>> I am not sure if I did it right but now I don't even get hdmi
>> sound
>> >>>>>>>>>> working anymore.
>> >>>>>>>>>> It is not listed in aplay-l, and dmesg gives me this:
>> >>>>>>>>>> [drm:radeon_dvi_detect] *ERROR* HDMI Type A-1: probed a monitor
>> but
>> >>>>>>>>>> no|invalid EDID
>> >>>>>>>>>>
>> >>>>>>>>>> I've attached the patch I used, since I could not used the
>> previous
>> >>>>>>>>>> one I had to hack it, maybe I broke something?
>> >>>>>>>>>> (I have not set channels to 8 yet, just changed the parser)
>> >>>>>>>>>
>> >>>>>>>>> The patch looks ok. The above error message is weird, as it
>> comes from
>> >>>>>>>>> the display driver which should not be affected by the patch at
>> all.
>> >>>>>>>>>
>> >>>>>>>>> I'll look at the code later (tomorrow maybe). Until then I'd
>> advise you
>> >>>>>>>>> to retry without the patch and with the patch again, just to
>> make sure
>> >>>>>>>>> this is not some unrelated issue...
>> >>>>>>>>> Also, post the whole dmesg when it works (2 channel, without
>> patch), and
>> >>>>>>>>> when it doesn't (with patch).
>> >>>>>>>>>
>> >>>>>>>>> --
>> >>>>>>>>> Anssi Hannula
>> >>>>>>>>>
>> >>>>>>>> Following your message I restarted my computer and that error was
>> >>>>>>>> gone, yet there is still nothing display in aplay -l / aplay -L
>> about
>> >>>>>>>> hdmi anymore.
>> >>>>>>>> I'll go back to my non patched kernel and see what it does.
>> >>>>>>>>
>> >>>>>>> With the non-patched kernel I get back my hdmi in aplay -l, so it
>> >>>>>>> looks like the patch messed up something.
>> >>>>>>
>> >>>>>> Indeed.
>> >>>>>>
>> >>>>>>> I really think that when I tried it before it did not do that, but
>> it
>> >>>>>>> was so long ago that I could be wrong...
>> >>>>>>
>> >>>>>> Well, the driver has changed since then, it could be more strict
>> now :)
>> >>>>>>
>> >>>>>>> Anyway here are the 2 dmesgs (not sure if they'll help though).
>> >>>>>>
>> >>>>>> Indeed, there doesn't seem to be any difference. Maybe try with
>> >>>>>> CONFIG_SND_DEBUG_VERBOSE?
>> >>>>>>
>> >>>>>> --
>> >>>>>> Anssi Hannula
>> >>>>>>
>> >>>>>
>> >>>>> Sure I'll get that.
>> >>>>>
>> >>>>
>> >>>> There you go.
>> >>
>> >>> ALSA sound/pci/hda/hda_intel.c:2531: chipset global capabilities =
>> 0x1001
>> >>> ALSA sound/pci/hda/hda_intel.c:913: codec_mask = 0x1
>> >>> ALSA sound/pci/hda/hda_intel.c:1354: codec #0 probed OK
>> >>> ALSA sound/pci/hda/hda_generic.c:683: hda_generic: no proper input
>> path found
>> >>
>> >> Hm, for some reason it doesn't try to use the intelhdmi module. Is it
>> >> getting loaded? Have you run "depmod"?
>> >> Does "modinfo snd-hda-codec-intelhdmi" show the alias you added?
>> >>
>> >> --
>> >> Anssi Hannula
>> >>
>> >
>> > I'm sorry it's my fault.
>> > I did not realize my patch was buggy, I had a white line and because
>> > of it the last part of the patch did not get applied.
>> >
>> > Now aplay -l is fine, and I can use the hdmi again, but still it
>> > defaults to stereo.
>> > With a "default" asound.conf speaker-test won't allow for more than -c2.
>> > I tried to add channels 6 in the conf file, but it made no difference...
>> >
>> > I will try your other suggestion.
>>
>> Did you have a chance to try that?
>>
>> There's no hurry, just making sure I didn't miss any message from you or
>> something :)
>>
>> --
>> Anssi Hannula
>>
>
> I finally tested it.
> Results are soso:
>
>
> -ALSA does not complain anymore about slave.channels 6
> -speaker-test does not complain anymore about -c6
> -my receiver sees the stream as multi channel pcm, not stereo anymore
> -but whatever I try with the ttable config, I can only get sound through
> the left and right speakers.
>
> Hey Anssi,

I will unsubscribe from the alsa-dev mailing list because it is not really
suited for me, but if you have any other idea or want to test anything, feel
free to email me.

Thanks,
John


More information about the Alsa-devel mailing list