Hi, Someone was asking on IRC as to why module-hal-detect didn't find his HDMI output... A little investigation later and I see: # D: module-hal-detect.c: Not loaded device /org/freedesktop/Hal/devices/pci_1002_960f_alsa_playback_3 From lspci: snd_hda_intel : ATI Technologies Inc|RS780 Azalia controller (vendor:1002 device:960f subv:147b subd:a705) Card:ATI Radeon X1300 and later: ATI Technologies Inc|Radeon HD 3200 Graphics [DISPLAY_VGA] (vendor:1002 device:9610 subv:147b subd:a705) In lshal we see: udi = '/org/freedesktop/Hal/devices/pci_1002_960f_alsa_playback_3' access_control.file = '/dev/snd/pcmC1D3p' (string) access_control.type = 'sound' (string) alsa.card = 1 (0x1) (int) alsa.card_id = 'HDA ATI HDMI' (string) alsa.device = 3 (0x3) (int) alsa.device_file = '/dev/snd/pcmC1D3p' (string) alsa.device_id = 'ATI HDMI' (string) alsa.originating_device = '/org/freedesktop/Hal/devices/pci_1002_960f' (string) alsa.pcm_class = 'generic' (string) alsa.type = 'playback' (string) info.callouts.add = {'hal-acl-tool --add-device'} (string list) info.callouts.remove = {'hal-acl-tool --remove-device'} (string list) info.capabilities = {'alsa', 'access_control'} (string list) info.category = 'alsa' (string) info.parent = '/org/freedesktop/Hal/devices/pci_1002_960f' (string) info.product = 'ATI HDMI ALSA Playback Device' (string) info.subsystem = 'sound' (string) info.udi = '/org/freedesktop/Hal/devices/pci_1002_960f_alsa_playback_3' (string) linux.device_file = '/dev/snd/pcmC1D3p' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'sound' (string) linux.sysfs_path = '/sys/class/sound/pcmC1D3p' (string) As you can see it says alsa.device=3 In module-hal-detect it says: /* We only care for the main device */ device = libhal_device_get_property_int(u->context, udi, "alsa.device", &error); if (dbus_error_is_set(&error) || device != 0) goto fail; So this means that the HTMI device is being ignored because it's not the first device. How do we make this work? 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? WDYT? Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mandriva Linux Contributor [http://www.mandriva.com/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]