Archlinux HDMI 純音頻輸出拔出不可用
我正在嘗試通過 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 模式。