I think this problem is a variation on the "under-enumeration" discussion which was held earlier. https://lists.freedesktop.org/archives/pulseaudio-discuss/2010-August/007545.html ftp://download.nvidia.com/XFree86/gpu-hdmi-audio-document/gpu-hdmi-audio.html#_under_enumeration_of_hdmi_devices I think, currently, we do not have any other solution than to call 'load-module module-alsa-sink' if we want more than 1 sink on a card. In my opinion, this is hack-ish since the PulseAudio documentation itself mentions that this module should (almost) never be called manually. kind regards, Lode On Fri, May 27, 2016 at 4:11 PM, Lode Cools <lode.cools1 at gmail.com> wrote: > Hello, > > I have a particular audio card which provides both analog and HDMI output. > > CARDINFO: > CARDINFO{id}="PCH" > CARDINFO{card}="0" > CARDINFO{driver}="HDA-Intel" > CARDINFO{name}="HDA Intel PCH" > CARDINFO{longname}="HDA Intel PCH at 0xdf140000 irq 127" > CARDINFO{mixername}="Intel Skylake HDMI" > CARDINFO{components}="HDA:10ec0283,80862063,00100003 > HDA:80862809,80860101,00100000" > sysfs: > ATTR{class}="0x040300" > ATTR{driver}="snd_hda_intel" > ATTR{vendor}="0x8086" > ATTR{device}="0x9d70" > ATTR{subsystem_vendor}="0x8086" > ATTR{subsystem_device}="0x2063" > > Both outputs are working fine and I can play audio on both outputs > independently. > (eg. 'aplay song1.wav -D hdmi' and 'aplay song2.wav -D hw:0' can run > simultaneously). > So hardware-wise, everything seems fine. > > When PulseAudio detects the card (module-udev-detect) it realizes that > the card can play on audio on > analog and HDMI, because it creates various profiles. > > 1 card(s) available. > index: 0 > name: <alsa_card.pci-0000_00_1f.3> > driver: <module-alsa-card.c> > owner module: 3 > properties: > alsa.card = "0" > alsa.card_name = "HDA Intel PCH" > alsa.long_card_name = "HDA Intel PCH at 0xdf140000 irq 127" > alsa.driver_name = "snd_hda_intel" > device.bus_path = "pci-0000:00:1f.3" > sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0" > device.bus = "pci" > device.vendor.id = "8086" > device.vendor.name = "Intel Corporation" > device.product.id = "9d70" > device.form_factor = "internal" > device.string = "0" > device.description = "Built-in Audio" > module-udev-detect.discovered = "1" > device.icon_name = "audio-card-pci" > profiles: > input:analog-stereo: Analog Stereo Input (priority 60, > available: unknown) > output:analog-stereo: Analog Stereo Output (priority 6000, > available: unknown) > output:analog-stereo+input:analog-stereo: Analog Stereo Duplex > (priority 6060, available: unknown) > output:hdmi-stereo: Digital Stereo (HDMI) Output (priority > 5400, available: unknown) > output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) > Output + Analog Stereo Input (priority 5460, available: unknown) > output:hdmi-surround: Digital Surround 5.1 (HDMI) Output > (priority 300, available: unknown) > output:hdmi-surround+input:analog-stereo: Digital Surround 5.1 > (HDMI) Output + Analog Stereo Input (priority 360, available: unknown) > output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output > (priority 300, available: unknown) > output:hdmi-surround71+input:analog-stereo: Digital Surround > 7.1 (HDMI) Output + Analog Stereo Input (priority 360, available: > unknown) > output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output > (priority 5200, available: unknown) > output:hdmi-stereo-extra1+input:analog-stereo: Digital Stereo > (HDMI 2) Output + Analog Stereo Input (priority 5260, available: > unknown) > output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) > Output (priority 100, available: unknown) > output:hdmi-surround-extra1+input:analog-stereo: Digital > Surround 5.1 (HDMI 2) Output + Analog Stereo Input (priority 160, > available: unknown) > output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) > Output (priority 100, available: unknown) > output:hdmi-surround71-extra1+input:analog-stereo: Digital > Surround 7.1 (HDMI 2) Output + Analog Stereo Input (priority 160, > available: unknown) > output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output > (priority 5200, available: unknown) > output:hdmi-stereo-extra2+input:analog-stereo: Digital Stereo > (HDMI 3) Output + Analog Stereo Input (priority 5260, available: > unknown) > output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) > Output (priority 100, available: unknown) > output:hdmi-surround-extra2+input:analog-stereo: Digital > Surround 5.1 (HDMI 3) Output + Analog Stereo Input (priority 160, > available: unknown) > output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) > Output (priority 100, available: unknown) > output:hdmi-surround71-extra2+input:analog-stereo: Digital > Surround 7.1 (HDMI 3) Output + Analog Stereo Input (priority 160, > available: unknown) > off: Off (priority 0, available: unknown) > active profile: <output:analog-stereo+input:analog-stereo> > sinks: > alsa_output.pci-0000_00_1f.3.analog-stereo/#1: Built-in Audio > Analog Stereo > sources: > alsa_output.pci-0000_00_1f.3.analog-stereo.monitor/#1: Monitor > of Built-in Audio Analog Stereo > alsa_input.pci-0000_00_1f.3.analog-stereo/#2: Built-in Audio > Analog Stereo > ports: > analog-input-mic: Microphone (priority 8700, latency offset 0 > usec, available: no) > properties: > device.icon_name = "audio-input-microphone" > analog-output-headphones: Headphones (priority 9000, latency > offset 0 usec, available: no) > properties: > device.icon_name = "audio-headphones" > hdmi-output-0: HDMI / DisplayPort (priority 5900, latency > offset 0 usec, available: no) > properties: > device.icon_name = "video-display" > hdmi-output-1: HDMI / DisplayPort 2 (priority 5800, latency > offset 0 usec, available: no) > properties: > device.icon_name = "video-display" > hdmi-output-2: HDMI / DisplayPort 3 (priority 5700, latency > offset 0 usec, available: no) > properties: > device.icon_name = "video-display" > > The default profile 'output:analog-stereo+input:analog-stereo' > autocreates 1 sink. > If I switch to an HDMI card profile, the analog-sink is replaced by an > HDMI-sink. > > If I want to play audio on both outputs independently, I have to > manually add a new sink: > load-module module-alsa-sink device=hdmi:0 > > My question is: > * Why isn't there a profile which autocreates both sinks? I think > that should be the default > profile for this card. > * How are the profiles created? Is it the responsibility of ALSA? > > Thank you for your input, > Lode