Audio out on DisplayPort but not HDMI, on AMD Ryzen APU/Vega
I have a desktop computer with an AMD Ryzen 5 4650G PRO APU (CPU + on-die GPU). The motherboard (MSI Mortar B550m wifi / bios 1.6). has one displayport and one HDMI outputs. The displayport is connected to my Lenovo P27 monitor, and the HDMI to my Samsung TV.
When I choose the GPU as an audio out, I only get audio on the 3.5" headphones jack of the Lenovo monitor, while I would like to get the audio on the Samsung TV over HDMI. I can't find a way to switch the different outputs (neither over pipewire or just using native alsa).
pavucontrol configuration https://i.imgur.com/9nbVtNz.png alsamixer -c0 only has only one option to mute s/pdif, which mutes the output on the displayport -> Lenovo -> 3.5" jack.
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Generic_1 [HD-Audio Generic], device 0: ALCS1200A Analog [ALCS1200A Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Generic_1 [HD-Audio Generic], device 1: ALCS1200A Digital [ALCS1200A Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
Am I correct that card 1 here ^ should have at least two devices?
distro is Archlinux kernel is 5.12.13-arch1-2 alsa-* 1.2.5.1-3 pipewire 1:0.3.30-2 plasma 5.22.2.1-1 xorg-server 1.20.11-1 amdgpu vanilla driver
$ aplay -L null Discard all samples (playback) or generate zero samples (capture) sysdefault Default Audio Device samplerate Rate Converter Plugin Using Samplerate Library speexrate Rate Converter Plugin Using Speex Resampler jack JACK Audio Connection Kit oss Open Sound System pulse PulseAudio Sound Server speex Plugin using Speex DSP (resample, agc, denoise, echo, dereverb) upmix Plugin for channel upmix (4,6,8) vdownmix Plugin for channel downmix (stereo) with a simple spacialization default Default ALSA Output (currently PulseAudio Sound Server) usbstream:CARD=C93 罗技高清网络摄像机 C93 USB Stream Output hdmi:CARD=Generic,DEV=0 HD-Audio Generic, HDMI 0 HDMI Audio Output usbstream:CARD=Generic HD-Audio Generic USB Stream Output sysdefault:CARD=Generic_1 HD-Audio Generic, ALCS1200A Analog Default Audio Device front:CARD=Generic_1,DEV=0 HD-Audio Generic, ALCS1200A Analog Front output / input surround21:CARD=Generic_1,DEV=0 HD-Audio Generic, ALCS1200A Analog 2.1 Surround output to Front and Subwoofer speakers surround40:CARD=Generic_1,DEV=0 HD-Audio Generic, ALCS1200A Analog 4.0 Surround output to Front and Rear speakers surround41:CARD=Generic_1,DEV=0 HD-Audio Generic, ALCS1200A Analog 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=Generic_1,DEV=0 HD-Audio Generic, ALCS1200A Analog 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=Generic_1,DEV=0 HD-Audio Generic, ALCS1200A Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=Generic_1,DEV=0 HD-Audio Generic, ALCS1200A Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers iec958:CARD=Generic_1,DEV=0 HD-Audio Generic, ALCS1200A Digital IEC958 (S/PDIF) Digital Audio Output usbstream:CARD=Generic_1 HD-Audio Generic USB Stream Output
$ lspci 00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Root Complex 00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Renoir IOMMU 00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge 00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge 00:02.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge 00:02.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe GPP Bridge 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 51) 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51) 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 0 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 1 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 2 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 3 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 4 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 5 00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 6 00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Renoir Device 24: Function 7 16:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] Device 43ee 16:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] Device 43eb 16:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43e9 20:08.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43ea 20:09.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43ea 29:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a) 2a:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 04) 2b:00.0 Non-Volatile memory controller: ADATA Technology Co., Ltd. XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive (rev 03) 30:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Renoir (rev d9) 30:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 1637 30:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor 30:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1 30:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1 30:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller
$ cat /proc/asound/devices 1: : sequencer 2: [ 1- 3]: digital audio playback 3: [ 1- 0]: hardware dependent 4: [ 1] : control 5: [ 0- 0]: digital audio capture 6: [ 0] : control 7: [ 2- 0]: digital audio playback 8: [ 2- 0]: digital audio capture 9: [ 2- 1]: digital audio playback 10: [ 2- 2]: digital audio capture 11: [ 2- 0]: hardware dependent 12: [ 2] : control 33: : timer
$ cat /proc/asound/cards 0 [C93 ]: USB-Audio - 罗技高清网络摄像机 C93 罗技高清网络摄像机 C93 at usb-0000:30:00.3-1, high speed 1 [Generic ]: HDA-Intel - HD-Audio Generic HD-Audio Generic at 0xfcb88000 irq 95 2 [Generic_1 ]: HDA-Intel - HD-Audio Generic HD-Audio Generic at 0xfcb80000 irq 96
$ cat /proc/asound/card card0/ card1/ card2/ cards
I have a desktop computer with an AMD Ryzen 5 4650G PRO APU (CPU + on-die GPU). The motherboard (MSI Mortar B550m wifi / bios 1.6). has one displayport and one HDMI outputs. The displayport is connected to my Lenovo P27 monitor, and the HDMI to my Samsung TV.
not sure if the driver in sound/soc/amd/renoir/ should be enabled for the 4650G PRO too, but on my computer it has a different PCI vendor and ID than in that code. Mine has 1002:1637 (vendor ATI) while the driver is for 1022:15E2 (which does not exist on this computer).
sudo lspci -d 1002:1637 -v 30:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 1637 Subsystem: Micro-Star International Co., Ltd. [MSI] Device ec94 Flags: fast devsel, IRQ 94, IOMMU group 4 Memory at fcb88000 (32-bit, non-prefetchable) [size=16K] Capabilities: [48] Vendor Specific Information: Len=08 <?> Capabilities: [50] Power Management version 3 Capabilities: [64] Express Legacy Endpoint, MSI 00 Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+ Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?> Kernel modules: snd_hda_intel
On Fri, 02 Jul 2021 15:27:30 +0200, Damjan Georgievski wrote:
I have a desktop computer with an AMD Ryzen 5 4650G PRO APU (CPU + on-die GPU). The motherboard (MSI Mortar B550m wifi / bios 1.6). has one displayport and one HDMI outputs. The displayport is connected to my Lenovo P27 monitor, and the HDMI to my Samsung TV.
When I choose the GPU as an audio out, I only get audio on the 3.5" headphones jack of the Lenovo monitor, while I would like to get the audio on the Samsung TV over HDMI. I can't find a way to switch the different outputs (neither over pipewire or just using native alsa).
pavucontrol configuration https://i.imgur.com/9nbVtNz.png alsamixer -c0 only has only one option to mute s/pdif, which mutes the output on the displayport -> Lenovo -> 3.5" jack.
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Generic_1 [HD-Audio Generic], device 0: ALCS1200A Analog [ALCS1200A Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Generic_1 [HD-Audio Generic], device 1: ALCS1200A Digital [ALCS1200A Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
Am I correct that card 1 here ^ should have at least two devices?
It could have more entries, depending on the configuration. I suppose you enabled CONFIG_SND_HDA_CODEC_HDMI properly? Please give alsa-info.sh output for more detailed analysis.
Takashi
(re-sent to the mail list)
On Thu, 8 Jul 2021 at 13:37, Takashi Iwai tiwai@suse.de wrote:
On Fri, 02 Jul 2021 15:27:30 +0200, Damjan Georgievski wrote:
I have a desktop computer with an AMD Ryzen 5 4650G PRO APU (CPU + on-die GPU). The motherboard (MSI Mortar B550m wifi / bios 1.6). has one displayport and one HDMI outputs. The displayport is connected to my Lenovo P27 monitor, and the HDMI to my Samsung TV.
When I choose the GPU as an audio out, I only get audio on the 3.5" headphones jack of the Lenovo monitor, while I would like to get the audio on the Samsung TV over HDMI. I can't find a way to switch the different outputs (neither over pipewire or just using native alsa).
pavucontrol configuration https://i.imgur.com/9nbVtNz.png alsamixer -c0 only has only one option to mute s/pdif, which mutes the output on the displayport -> Lenovo -> 3.5" jack.
$ aplay -l **** List of PLAYBACK Hardware Devices **** card 1: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Generic_1 [HD-Audio Generic], device 0: ALCS1200A Analog [ALCS1200A Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Generic_1 [HD-Audio Generic], device 1: ALCS1200A Digital [ALCS1200A Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
Am I correct that card 1 here ^ should have at least two devices?
It could have more entries, depending on the configuration. I suppose you enabled CONFIG_SND_HDA_CODEC_HDMI properly?
yes - CONFIG_SND_HDA_CODEC_HDMI=m is enabled. I've been using the Arch distro kernel, which has that enabled; but also with self-compiled 5.13.0 from stable, with the same distro config; and with 5.14-git (77d34a468) with the same config. All have the same behaviour.
Should this hardware be supported with the sound/soc/amd/renoir/rn-pci-acp3x.c driver (instead of snd_hda_intel)? … since it is a Renoir desktop APU.
Please give alsa-info.sh output for more detailed analysis.
http://alsa-project.org/db/?f=00b31f3f0e6c58b56c73f98aec7c6b5ccaff700e
Thanks for looking into this.
participants (2)
-
Damjan Georgievski
-
Takashi Iwai