You are not logged in.
Hi,
I've bought a new monitor with HDMI/DP for audio and tried to connect it to my speakers as well, but they do not play any sound. I also have an older AMD graphics card (R9 280X) with a Sea Islands GPU (Tahiti) and I have read various and at times contradictory information as to whether DP audio is possible with GPUs of this type or not, so ultimately I am unsure if the amdgpu driver for this card does simply not have this feature or if my alsa configuration is simply incorrect.
As I've said, I am using the amdgpu driver with the following kernel parameters:
radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=0
I had found this bug report from one year ago, where the suggestion was made to use the radeon driver, which I tried but to no avail. In may case the observable behavior is also different, in that the selected audio port does in fact appear as available and plugged in e.g. pavucontrol.
aplay gives the following output:
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5]
Subdevices: 1/1
Subdevice #0: subdevice #0
The relevant out put lspci -nnk is:
$ lspci -nnk
00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05)
Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:848a]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] [1002:6798]
Subsystem: ASUSTeK Computer Inc. Device [1043:3004]
Kernel driver in use: amdgpu
Kernel modules: radeon, amdgpu
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970] [1002:aaa0]
Subsystem: ASUSTeK Computer Inc. Device [1043:aaa0]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
I've tried a variety of suggested .asoundrc configurations (all to no avail) I've found and the current one is:
.asoundrc
pcm.!default {
type plug
slave.pcm "qhw"
}
pcm.qhw {
type hw
card 0
}
ctl.!default {
type hw
card 0
}
I've tested both the current 5.8 kernel as well the LTS 5.4 kernel and for good measure also checked in a live booted MX Linux session, in every case no audio would be played from the speakers, it does work flawlessly, however, under Windows 10 (so it's not the hardware's fault).
Any help would be appreciated, even if it were only confirmation, that display audio is simply not supported for this card with the current amdgpu driver.
Offline
That asoundrc would not access the correct card in any case, but it shouldn't be used anyway when using pulseaudio, so you should remove it and then post/check
pacmd list-cards
pacmd list-sinks
pacmd list-sink-inputs
during active playback.
Offline
I initially didn't have an .asoundrc and only created one in the course of my troubleshooting attempts. Anyways, its good to know I shouldn't be using it and I've deleted it again
$ pacmd list-cards
2 card(s) available.
index: 0
name: <alsa_card.pci-0000_01_00.1>
driver: <module-alsa-card.c>
owner module: 6
properties:
alsa.card = "1"
alsa.card_name = "HDA ATI HDMI"
alsa.long_card_name = "HDA ATI HDMI at 0xf7e60000 irq 34"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:01:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
device.bus = "pci"
device.vendor.id = "1002"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
device.product.id = "aaa0"
device.product.name = "Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]"
device.string = "1"
device.description = "Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: unknown)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (priority 5700, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (priority 600, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (priority 5700, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (priority 600, available: no)
output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (priority 5700, available: no)
output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (priority 600, available: no)
output:hdmi-stereo-extra4: Digital Stereo (HDMI 5) Output (priority 5700, available: no)
output:hdmi-surround-extra4: Digital Surround 5.1 (HDMI 5) Output (priority 600, available: no)
output:hdmi-surround71-extra4: Digital Surround 7.1 (HDMI 5) Output (priority 600, available: no)
output:hdmi-stereo-extra5: Digital Stereo (HDMI 6) Output (priority 5700, available: no)
output:hdmi-surround-extra5: Digital Surround 5.1 (HDMI 6) Output (priority 600, available: no)
output:hdmi-surround71-extra5: Digital Surround 7.1 (HDMI 6) Output (priority 600, available: no)
off: Off (priority 0, available: unknown)
active profile: <output:hdmi-stereo>
sinks:
alsa_output.pci-0000_01_00.1.hdmi-stereo/#4: Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970] Digital Stereo (HDMI)
sources:
alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor/#4: Monitor of Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970] Digital Stereo (HDMI)
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: yes)
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"
hdmi-output-3: HDMI / DisplayPort 4 (priority 5600, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-4: HDMI / DisplayPort 5 (priority 5500, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
hdmi-output-5: HDMI / DisplayPort 6 (priority 5400, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
index: 1
name: <alsa_card.pci-0000_00_1b.0>
driver: <module-alsa-card.c>
owner module: 7
properties:
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xf7f10000 irq 33"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1b.0"
sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "8c20"
device.product.name = "8 Series/C220 Series Chipset High Definition Audio Controller"
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 65, available: no)
output:analog-stereo: Analog Stereo Output (priority 6500, available: unknown)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (priority 6565, available: no)
off: Off (priority 0, available: unknown)
active profile: <output:analog-stereo>
sinks:
alsa_output.pci-0000_00_1b.0.analog-stereo/#1: Built-in Audio Analog Stereo
sources:
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor/#1: Monitor of Built-in Audio Analog Stereo
ports:
analog-input-front-mic: Front Microphone (priority 8500, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-input-microphone"
analog-input-rear-mic: Rear Microphone (priority 8200, latency offset 0 usec, available: no)
properties:
device.icon_name = "audio-input-microphone"
analog-input-linein: Line In (priority 8100, latency offset 0 usec, available: no)
properties:
analog-output-lineout: Line Out (priority 9000, latency offset 0 usec, available: no)
properties:
analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: yes)
properties:
device.icon_name = "audio-headphones"
Looking at this output I noticed right away that the availability of the first HDMI/DP output is listed as "unknown", don't know what to make of it, though.
$ pacmd list-sinks
2 sink(s) available.
index: 1
name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: IDLE
suspend cause: (none)
priority: 9039
volume: front-left: 65533 / 100% / -0.00 dB, front-right: 65533 / 100% / -0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 39.90 ms
max request: 6 KiB
max rewind: 6 KiB
monitor source: 1
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 1
configured latency: 40.00 ms; range is 0.50 .. 2000.00 ms
card: 1 <alsa_card.pci-0000_00_1b.0>
module: 7
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALC887-VD Analog"
alsa.id = "ALC887-VD Analog"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xf7f10000 irq 33"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1b.0"
sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "8c20"
device.product.name = "8 Series/C220 Series Chipset High Definition Audio Controller"
device.form_factor = "internal"
device.string = "front:0"
device.buffering.buffer_size = "352800"
device.buffering.fragment_size = "176400"
device.access_mode = "mmap+timer"
device.profile.name = "analog-stereo"
device.profile.description = "Analog Stereo"
device.description = "Built-in Audio Analog Stereo"
alsa.mixer_name = "Realtek ALC887-VD"
alsa.components = "HDA:10ec0887,1462848a,00100302"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
analog-output-lineout: Line Out (priority 9000, latency offset 0 usec, available: no)
properties:
analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: yes)
properties:
device.icon_name = "audio-headphones"
active port: <analog-output-headphones>
* index: 4
name: <alsa_output.pci-0000_01_00.1.hdmi-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: RUNNING
suspend cause: (none)
priority: 9030
volume: front-left: 65537 / 100% / 0.00 dB, front-right: 65537 / 100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 36.67 ms
max request: 7 KiB
max rewind: 7 KiB
monitor source: 4
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 1
linked by: 3
configured latency: 40.00 ms; range is 0.50 .. 1837.33 ms
card: 0 <alsa_card.pci-0000_01_00.1>
module: 6
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "HDMI 0"
alsa.id = "HDMI 0"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "3"
alsa.card = "1"
alsa.card_name = "HDA ATI HDMI"
alsa.long_card_name = "HDA ATI HDMI at 0xf7e60000 irq 34"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:01:00.1"
sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
device.bus = "pci"
device.vendor.id = "1002"
device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
device.product.id = "aaa0"
device.product.name = "Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]"
device.string = "hdmi:1"
device.buffering.buffer_size = "352768"
device.buffering.fragment_size = "176384"
device.access_mode = "mmap+timer"
device.profile.name = "hdmi-stereo"
device.profile.description = "Digital Stereo (HDMI)"
device.description = "Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970] Digital Stereo (HDMI)"
alsa.mixer_name = "ATI R6xx HDMI"
alsa.components = "HDA:1002aa01,00aa0100,00100300"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: yes)
properties:
device.icon_name = "video-display"
active port: <hdmi-output-0>
$pacmd list-sink-inputs
1 sink input(s) available.
index: 19
driver: <protocol-native.c>
flags: START_CORKED
state: RUNNING
sink: 4 <alsa_output.pci-0000_01_00.1.hdmi-stereo>
volume: front-left: 56668 / 86% / -3.79 dB, front-right: 56668 / 86% / -3.79 dB
balance 0.00
muted: no
current latency: 103.92 ms
requested latency: 75.00 ms
sample spec: float32le 2ch 48000Hz
channel map: front-left,front-right
Stereo
resample method: copy
module: 9
client: 12 <Firefox>
properties:
media.name = "AudioStream"
application.name = "Firefox"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "33"
application.process.id = "12619"
application.process.user = "oliver"
application.process.host = "oliver-desktop"
application.process.binary = "firefox"
application.language = "en_US.UTF-8"
window.x11.display = ":0"
application.process.machine_id = "fa2f747ccb96426abaaa06a76a651500"
application.process.session_id = "1"
application.icon_name = "firefox"
module-stream-restore.id = "sink-input-by-application-name:Firefox"
Offline
That looks fine, in theory. You are sure that your monitor actually has speakers? Do you see any messages from amdgpu or snd-hda-intel in dmesg when attempting to play back?
Offline
The monitor itself does not have speakers but an audio jack to which I've connected a separate set of speakers. This setup works fine under Windows 10, though. There are also no specific messages in dmesg other than those:
$ dmesg | rg "snd_hda_intel"
[ 3.179727] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)
[ 3.180745] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
[ 3.180827] snd_hda_intel 0000:01:00.1: Force to non-snoop mode
and for amdgpu
$ dmesg | rg "amdgpu"
[ 0.000000] Command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root=UUID=cf2dbd9b-007c-40d6-bd2a-0a4d9e25034a resume=UUID=12bfaa9a-b075-4093-92b5-91fb1ef9c63d radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=0 quiet rw
[ 0.029874] Kernel command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root=UUID=cf2dbd9b-007c-40d6-bd2a-0a4d9e25034a resume=UUID=12bfaa9a-b075-4093-92b5-91fb1ef9c63d radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=0 quiet rw
[ 1.048021] [drm] amdgpu kernel modesetting enabled.
[ 1.048071] amdgpu: Topology: Add CPU node
[ 1.048124] fb0: switching to amdgpudrmfb from EFI VGA
[ 1.048198] amdgpu 0000:01:00.0: vgaarb: deactivate vga console
[ 1.048283] amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ) feature not supported
[ 1.048313] amdgpu: ATOM BIOS: 113-AD47700-101
[ 1.048510] amdgpu 0000:01:00.0: amdgpu: VRAM: 3072M 0x000000F400000000 - 0x000000F4BFFFFFFF (3072M used)
[ 1.048511] amdgpu 0000:01:00.0: amdgpu: GART: 1024M 0x000000FF00000000 - 0x000000FF3FFFFFFF
[ 1.048606] [drm] amdgpu: 3072M of VRAM memory ready
[ 1.048607] [drm] amdgpu: 3072M of GTT memory ready.
[ 1.049122] amdgpu 0000:01:00.0: amdgpu: PCIE GART of 1024M enabled (table at 0x000000F4012E6000).
[ 1.049511] [drm] amdgpu: dpm initialized
[ 1.239563] amdgpu 0000:01:00.0: amdgpu: SE 2, SH per SE 2, CU per SH 8, active_cu_number 32
[ 1.280876] fbcon: amdgpudrmfb (fb0) is primary device
[ 1.399971] amdgpu 0000:01:00.0: fb0: amdgpudrmfb frame buffer device
[ 1.779849] [drm] Initialized amdgpu 3.38.0 20150101 for 0000:01:00.0 on minor 0
Offline