These lines in PulseAudio's udev configutration restrict full HDMI functionality to just Nvidia and Intel: > # NVidia and Intel HDAs often have more than one HDMI codec/port on the same card > ATTRS{vendor}=="0x10de", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf" > ATTRS{vendor}=="0x8086", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf" But AMD cards also support multiple ports, and multi-channel data.
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-December/069924.html do your amd graphic card support Discrete Digital Multi Point Audio ?
I have 4 HDMI devices, so I'd say so: card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3] Subdevices: 1/1 Subdevice #0: subdevice #0
cat /proc/asound/card*/eld#*.0 xrandr --verbose
(In reply to comment #3) > cat /proc/asound/card*/eld#*.0 > monitor_present 1 eld_valid 1 monitor_name connection_type HDMI eld_version [0x2] CEA-861D or below edid_version [0x0] no CEA EDID Timing Extension block present manufacture_id 0x0 product_id 0x0 port_id 0x0 support_hdcp 0 support_ai 0 audio_sync_delay 0 speakers [0x5f] FL/FR LFE FC RL/RR RC RLC/RRC sad_count 3 sad0_coding_type [0x1] LPCM sad0_channels 8 sad0_rates [0x1ee0] 32000 44100 48000 88200 96000 176400 192000 sad0_bits [0xe0000] 16 20 24 sad1_coding_type [0xb] DTS-HD sad1_channels 2 sad1_rates [0x1ec0] 44100 48000 88200 96000 176400 192000 sad2_coding_type [0xc] MLP (Dolby TrueHD) sad2_channels 2 sad2_rates [0x1ec0] 44100 48000 88200 96000 176400 192000 > > xrandr --verbose Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 HDMI-0 disconnected primary 1920x1080+0+0 (0x56) normal (normal left inverted right x axis y axis) 0mm x 0mm Identifier: 0x53 Timestamp: 6883522 Subpixel: horizontal rgb Gamma: 1.0:1.0:1.0 Brightness: 1.0 Clones: CRTC: 0 CRTCs: 0 1 2 3 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: _MUTTER_PRESENTATION_OUTPUT: 0 dither: off supported: offon audio: auto supported: offonauto underscan vborder: 0 range: (0, 128) underscan hborder: 0 range: (0, 128) underscan: off supported: offonauto coherent: 1 range: (0, 1) DisplayPort-0 disconnected (normal left inverted right x axis y axis) Identifier: 0x54 Timestamp: 6883522 Subpixel: horizontal rgb Clones: CRTCs: 0 1 2 3 Transform: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000 filter: dither: off supported: offon audio: auto supported: offonauto underscan vborder: 0 range: (0, 128) underscan hborder: 0 range: (0, 128) underscan: off supported: offonauto coherent: 1 range: (0, 1) 1920x1080 (0x56) 148.5MHz h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 56.2KHz v: height 1080 start 1084 end 1089 total 1125 clock 50.0Hz
ATTRS{vendor}=="0x10de", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf" ATTRS{vendor}=="0x8086", ENV{PULSE_PROFILE_SET}="extra-hdmi.conf" these rules add all Intel hda controllers and ac97 controllers but AC97 controller don't support hdmi https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound/pci/intel8x0.c how about excluding all AC97 controllers static DEFINE_PCI_DEVICE_TABLE(snd_intel8x0_ids) = { { PCI_VDEVICE(INTEL, 0x2415), DEVICE_INTEL }, /* 82801AA */ { PCI_VDEVICE(INTEL, 0x2425), DEVICE_INTEL }, /* 82901AB */ { PCI_VDEVICE(INTEL, 0x2445), DEVICE_INTEL }, /* 82801BA */ { PCI_VDEVICE(INTEL, 0x2485), DEVICE_INTEL }, /* ICH3 */ { PCI_VDEVICE(INTEL, 0x24c5), DEVICE_INTEL_ICH4 }, /* ICH4 */ { PCI_VDEVICE(INTEL, 0x24d5), DEVICE_INTEL_ICH4 }, /* ICH5 */ { PCI_VDEVICE(INTEL, 0x25a6), DEVICE_INTEL_ICH4 }, /* ESB */ { PCI_VDEVICE(INTEL, 0x266e), DEVICE_INTEL_ICH4 }, /* ICH6 */ { PCI_VDEVICE(INTEL, 0x27de), DEVICE_INTEL_ICH4 }, /* ICH7 */ { PCI_VDEVICE(INTEL, 0x2698), DEVICE_INTEL_ICH4 }, /* ESB2 */ { PCI_VDEVICE(INTEL, 0x7195), DEVICE_INTEL }, /* 440MX */ { PCI_VDEVICE(SI, 0x7012), DEVICE_SIS }, /* SI7012 */ { PCI_VDEVICE(NVIDIA, 0x01b1), DEVICE_NFORCE }, /* NFORCE */ { PCI_VDEVICE(NVIDIA, 0x003a), DEVICE_NFORCE }, /* MCP04 */ { PCI_VDEVICE(NVIDIA, 0x006a), DEVICE_NFORCE }, /* NFORCE2 */ { PCI_VDEVICE(NVIDIA, 0x0059), DEVICE_NFORCE }, /* CK804 */ { PCI_VDEVICE(NVIDIA, 0x008a), DEVICE_NFORCE }, /* CK8 */ { PCI_VDEVICE(NVIDIA, 0x00da), DEVICE_NFORCE }, /* NFORCE3 */ { PCI_VDEVICE(NVIDIA, 0x00ea), DEVICE_NFORCE }, /* CK8S */ { PCI_VDEVICE(NVIDIA, 0x026b), DEVICE_NFORCE }, /* MCP51 */ { PCI_VDEVICE(AMD, 0x746d), DEVICE_INTEL }, /* AMD8111 */ { PCI_VDEVICE(AMD, 0x7445), DEVICE_INTEL }, /* AMD768 */ { PCI_VDEVICE(AL, 0x5455), DEVICE_ALI }, /* Ali5455 */ { 0, }
This should now be fixed by Alexander's patch: commit afbe9605c64ae896e7ebf1dc259976fecd5b2628 Author: Alexander E. Patrakov <patrakov@gmail.com> Date: Fri Aug 1 14:37:25 2014 +0600 alsa: Add extra HDMI mappings
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.