[alsa-devel] ALSA Multichannel through HDMI

John Ettedgui john.ettedgui at gmail.com
Sun Dec 5 23:32:07 CET 2010


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.


More information about the Alsa-devel mailing list