我正在尝试通过 HDMI 将一些音频播放到音响系统 ( https://www.amazon.com/dp/B09H5GJCML )。在扬声器的背面,HDMI 形孔旁边写着“ARC”。我用运行 arch linux、XFCE4 和脉冲音频的笔记本电脑来驱动它。当我插入 HDMI 并将扬声器设置为“ARC”模式时,pavucontrol 将 HDMI 设置显示为“拔出不可用”:
我已经进行了一些测试,包括
for i in 0 1 2 3 4 5; do
echo "doing 1,$i";
speaker-test -l 1 -c 6 -D hdmi:HDMI,"$i";
done;
(aplay -l
显示
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: 92HD93BXX Analog [92HD93BXX Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/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: 0/1
Subdevice #0: subdevice #0
aplay -L
节目
null
Discard all samples (playback) or generate zero samples (capture)
lavrate
Rate Converter Plugin Using Libav/FFmpeg Library
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)
sysdefault:CARD=PCH
HDA Intel PCH, 92HD93BXX Analog
Default Audio Device
front:CARD=PCH,DEV=0
HDA Intel PCH, 92HD93BXX Analog
Front output / input
surround21:CARD=PCH,DEV=0
HDA Intel PCH, 92HD93BXX Analog
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
HDA Intel PCH, 92HD93BXX Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
HDA Intel PCH, 92HD93BXX Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
HDA Intel PCH, 92HD93BXX Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
HDA Intel PCH, 92HD93BXX Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
HDA Intel PCH, 92HD93BXX Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
usbstream:CARD=PCH
HDA Intel PCH
USB Stream Output
hdmi:CARD=HDMI,DEV=0
HDA ATI HDMI, HDMI 0
HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
HDA ATI HDMI, HDMI 1
HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
HDA ATI HDMI, HDMI 2
HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
HDA ATI HDMI, HDMI 3
HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
HDA ATI HDMI, HDMI 4
HDMI Audio Output
hdmi:CARD=HDMI,DEV=5
HDA ATI HDMI, HDMI 5
HDMI Audio Output
usbstream:CARD=HDMI
HDA ATI HDMI
USB Stream Output
)
根据我看到的帖子,我安装sof-firmware' and 'alsa-ucm-conf
后dmesg | grep sof;
说
[ 0.074515] software IO TLB: area num 8.
[ 0.389221] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[ 0.389222] software IO TLB: mapped [mem 0x00000000c670a000-0x00000000ca70a000] (64MB)
pacmd list-sinks
看起来像这样:
1 sink(s) available.
* index: 8
name: <alsa_output.pci-0000_01_00.1.hdmi-surround>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: IDLE
suspend cause: (none)
priority: 9030
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB, rear-left: 65536 / 100% / 0.00 dB, rear-right: 65536 / 100% / 0.00 dB, front-center: 65536 / 100% / 0.00 dB, lfe: 65536 / 100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 39.72 ms
max request: 20 KiB
max rewind: 20 KiB
monitor source: 9
sample spec: s16le 6ch 44100Hz
channel map: front-left,front-right,rear-left,rear-right,front-center,lfe
Surround 5.1
used by: 0
linked by: 1
configured latency: 40.00 ms; range is 0.50 .. 1999.82 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 33"
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 = "aab0"
device.product.name = "Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series]"
device.string = "hdmi:1"
device.buffering.buffer_size = "1058304"
device.buffering.fragment_size = "529152"
device.access_mode = "mmap+timer"
device.profile.name = "hdmi-surround"
device.profile.description = "Digital Surround 5.1 (HDMI)"
device.description = "Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] Digital Surround 5.1 (HDMI)"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
properties:
device.icon_name = "video-display"
active port: <hdmi-output-0>
(我禁用了内置输出)
并pacmd list-cards
说
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 33"
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 = "aab0"
device.product.name = "Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series]"
device.string = "1"
device.description = "Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series]"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
profiles:
output:hdmi-stereo: Digital Stereo (HDMI) Output (priority 5900, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (priority 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (priority 800, available: no)
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-surround>
sinks:
alsa_output.pci-0000_01_00.1.hdmi-surround/#8: Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] Digital Surround 5.1 (HDMI)
sources:
alsa_output.pci-0000_01_00.1.hdmi-surround.monitor/#9: Monitor of Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] Digital Surround 5.1 (HDMI)
ports:
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"
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"
(我遗漏了内置的)
但是 pavucontrol 输出看起来一样,仍然没有声音。我想知道是否因为“ARC”我需要做什么特别的事情?它与“仅”通过 HDMI 发送音频有何不同?任何建议都会有所帮助,或者您可能看到我遗漏了什么?
ARC = 音频回传通道。它用于允许以与主信号相反的方向传输音频,即如果您使用 HDMI 将信号(音频、视频或两者)从设备 A 传输到 B,ARC 可用于将音频从 B 传输到 A .
例如,您可以使用 HDMI 电缆将支持 ARC 的家庭影院放大器插入支持 ARC 的电视。当从连接到放大器的源观看内容时,它会向电视发送常规(非 ARC)HDMI 视频+音频信号,尽管您可能更喜欢让放大器使用更好的扬声器处理音频,因此电视实际上仅使用信号的视频部分。
但是在看电视转播的时候,ARC就派上用场了:ARC会把电视频道的音频传回功放,这样就可以用插在功放上的多声道喇叭来收听电视的声音了。同时,可以选择使用同一根 HDMI 电缆将放大器的屏幕菜单显示传输到电视。
由于您的 ATI 显示适配器纯粹是 HDMI输出(这意味着它的 ARC 功能,如果它有的话,将是一个音频输入),ARC 模式的使用在这里不适用。要将音频从计算机的 HDMI 输出发送到扬声器,您可以使用 HDMI 的“主信号”,而不是反向 ARC。
如果可能,请尝试为扬声器选择非 ARC HDMI 模式。