我有一个 RX580 GPU 连接到带有内置扬声器的显示器(AORUS FO48U),可以很好地与英特尔 iGPU 配合使用。
当我使用 AMD GPU 时,我无法在设置中选择 HDMI 音频设备。
唯一可以选择的输出是数字输出 S/PDIF 内置音频。
音频信息:
$ inxi -A
Audio:
Device-1: Intel driver: snd_hda_intel
Device-2: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]
driver: snd_hda_intel
Sound Server-1: ALSA v: k5.15.0-58-generic running: yes
Sound Server-2: PulseAudio v: 15.99.1 running: yes
Sound Server-3: PipeWire v: 0.3.48 running: yes
图形信息:
$ inxi -G
Graphics:
Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590]
driver: amdgpu v: kernel
Display: server: X.Org v: 1.21.1.3 driver: X: loaded: amdgpu,ati
unloaded: fbdev,modesetting,radeon,vesa gpu: amdgpu
resolution: 1920x1080~60Hz
OpenGL: renderer: AMD Radeon RX 580 Series (polaris10 LLVM 15.0.6 DRM
3.42 5.15.0-58-generic)
v: 4.6 Mesa 22.2.5
操作系统:Ubuntu 22.04
显卡:RX580
驱动程序:开源 amdgpu
中央处理器:12600k
显示器:AORUS FO48U
dmesg 只显示找到的输入?
$ dmesg | grep -i hdmi
[ 0.157772] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[ 3.898404] input: HDA ATI HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input14
[ 3.898424] input: HDA ATI HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input15
[ 3.898438] input: HDA ATI HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input16
[ 3.898460] input: HDA ATI HDMI HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input17
[ 3.898474] input: HDA ATI HDMI HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input18
[ 3.898486] input: HDA ATI HDMI HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
更新
在引导期间,内核报告:
snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
看到 Windows 10 也不能使用 HDMI 音频输出,我称之为设备限制。
令人失望的是 AMD RX580 无法通过 HDMI 输出音频。