[alsa-devel] HDMI on HDA device=3

Jaroslav Kysela perex at perex.cz
Tue Nov 9 15:58:02 CET 2010

On Tue, 9 Nov 2010, David Henningsson wrote:

> I have seen a few HDMIs which share the HDA controller with the onboard
> sound card, but the codecs are different, e g the onboard one is at
> address #0 and the HDMI is at address #3 - or even #3, #7, #8 and #9 in
> some cases.
> Now, if the user specifies the device string hdmi:x (where x is card
> name/number), I'd like it to kind of autodetect this and use DEV=3
> instead of DEV=0, and without breaking the cards where the hdmi is a
> separate card with a codec at address #0. However, it still seems like
> the device is at DEV=3 somehow.
> Now, looking at /usr/share/alsa/cards/HDA-Intel.conf, I notice that
> there are entries HDA-Intel.pcm.hdmi.0 which sets DEV=3, so it seems
> like someone already thought of this. However, just using "hdmi:x" does
> not trigger "DEV=3". I'm still not grepping all of the alsa lisp
> architecture stuff, so could someone explain to me how the
> HDA-Intel.pcm.hdmi.0 entry relates to the "hdmi:x" alsa device string?

It's not about a lisp (this portion of code is not used at all). It's 
about the (partly) dynamic alsa-lib configuration.

Use always indexes from 0.. (hdmi:0,0 etc..) Fist number is card number, 
second number is device number (which is logical device number mapped to 
different physical device number in case when HDA card contains both 
analog and HDMI sections).

If you read HDA-Intel.conf, you'll get this device mapping (logical, 

0 -> 3
1 -> 7
2 -> 8
3 -> 9

Perhaps, something does not work correctly?


Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

More information about the Alsa-devel mailing list