On Sun, 08.02.09 18:38, Colin Guthrie (gmane at colin.guthr.ie) wrote: > Hi, > > Someone was asking on IRC as to why module-hal-detect didn't find his > HDMI output... [..] > In the case of the hdmi output, this is the lowest device number that > has the other capabilities we want... should we therefore actually track > all devices and only add the one with the lowest number? This would work > out as device 0 for most cases but it would also load the HDMI device in > this case? This is almost the same situation as with SPDIF: we have no information about what the various subdevices of a device actually refer to. On those creative cards 0,0 is front, 0,1 is rear. On other cards 0,0 is analog, 0,1 is spdif. On this particular card 0,0 seems to be analog and, 0,1 hdmi. There are cards where both analog and spdif is handled through a single device 0,0. Since we have no information how the subdevices play together we cannot really open them directly. The only way to properly open them is via the well defined ALSA device strings. i.e. front:0 will always output to front, spdif:0 always to spidf and hdmi:0 always to HDMI. This names abstract how the subdevice mapping actually happens for the specific driver. This well defined names unfortunately don't carry information about how they are exclusive to each other. Given that this is the way it is and it is unlikely ALSA will provide this "exclusivity" information in near-time future I added a prober to 0.9.15 which will try out all possible combinations of the device strings and check which ones work simultaneously and which ones don't. This is then compiled into a single list and made available through the card profile feature. Or in shorter words: things aren't so simple as they appear, but SPDIF and HDMI support has been fixed in 0.9.15. Lennart -- Lennart Poettering Red Hat, Inc. lennart [at] poettering [dot] net ICQ# 11060553 http://0pointer.net/lennart/ GnuPG 0x1A015CC4