![HDMI 声音为何失败?](https://linux22.com/image/1133089/HDMI%20%E5%A3%B0%E9%9F%B3%E4%B8%BA%E4%BD%95%E5%A4%B1%E8%B4%A5%EF%BC%9F.png)
在以下机器上,我的 HDMI 声音不起作用:1> 使用以下显示器测试了搭载 Raspbian(基于 Debian Jessie 的 GNU-Linux)的 Raspberry Pi 2:a) 夏普大屏幕电视 b) 带有内置扬声器的 ViewSonic 1080p 24 英寸电脑显示器。
2> 带有华硕主板和英特尔酷睿 i5 CPU 750 的计算机塔式机箱连接到上述 [b)] ViewSonic 1080p 24 英寸计算机显示器,内置扬声器。这台机器在 Ubuntu 13.10 和 Kubuntu 15.10 之间双启动操作系统。在 Ubuntu 13.10 和 Kubuntu 15.10 上,我进入显示器的设置并选择 HDMI,在计算机的声音设置上,我选择 HDMI。尽管检查、修改、谷歌搜索答案并进行更多修改,但这两个系统上都不起作用。
但是,我确实有一台 HDMI 声音正常工作的机器:它连接到上面的 [b)] ViewSonic 1080p 24 英寸计算机显示器,带有内置扬声器。这是一台英特尔下一代计算单元 (NUC),配备了 2013 年?时代(我认为是第二代)酷睿 i3,连接到带有内置扬声器的 Viewsonic 1080p 显示器,运行 Kubuntu 14.04 LTS。
我认为问题肯定是 bug,而不是显示器问题或桌面配置设置,而且我猜想这个问题应该很普遍。难道只有 Linux 内核无法解析 Raspberry Pi 2 上的 HDMI 声音,或者无法解析带有华硕主板的 Tower 上的 HDMI 声音?
以下是有关上面列出的计算机塔的一些其他硬件信息,该计算机塔在 Ubuntu 13.10 和 Kubuntu 15.10 之间双启动,但 HDMI 声音不起作用:
lspci
00:00.0 Host bridge: Intel Corporation Core Processor DMI (rev 11)
00:03.0 PCI bridge: Intel Corporation Core Processor PCI Express Root Port 1 (rev 11)
...
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 05)
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 05)
00:1c.6 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 7 (rev 05)
00:1c.7 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 8 (rev 05)
...
01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
和
lshw
...
*-pci
description: Host bridge
product: Core Processor DMI
vendor: Intel Corporation
physical id: 100
bus info: pci@0000:00:00.0
version: 11
width: 32 bits
clock: 33MHz
*-pci:0
description: PCI bridge
product: Core Processor PCI Express Root Port 1
vendor: Intel Corporation
physical id: 3
bus info: pci@0000:00:03.0
version: 11
width: 32 bits
clock: 33MHz
capabilities: pci normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:16 ioport:b000(size=4096) memory:fa000000-fbbfffff ioport:ce000000(size=301989888)
*-display
description: VGA compatible controller
product: GT218 [GeForce 210]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a2
width: 64 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list rom
configuration: driver=nouveau latency=0
resources: irq:16 memory:fa000000-faffffff memory:d0000000-dfffffff memory:ce000000-cfffffff ioport:bc00(size=128) memory:fbb00000-fbb7ffff
*-multimedia
description: Audio device
product: High Definition Audio Controller
vendor: NVIDIA Corporation
physical id: 0.1
bus info: pci@0000:01:00.1
version: a1
width: 32 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:17 memory:fbbfc000-fbbfffff
...
*-multimedia
description: Audio device
product: 5 Series/3400 Series Chipset High Definition Audio
vendor: Intel Corporation
physical id: 1b
bus info: pci@0000:00:1b.0
version: 05
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=snd_hda_intel latency=0
resources: irq:46 memory:f9ff8000-f9ffbfff
我认为这个问题很普遍,因为它影响了两台机器:Raspberry Pi 2 和我的旧款 Core i5 电脑塔。我用两台显示器测试了它们,一台是电脑显示器,另一台是大屏幕电视。我还用这两者之间的三种操作系统测试了它们:Raspbian(基于 Debian-Jessie GNU-Linux)。而且我有一台 HDMI 声音可以正常工作的机器,即连接到上述电脑显示器的 Intel NUC Core i3。
--编辑-- 某些 HDMI 视频卡是否可能不支持通过 HDMI 传输声音?
答案1
我猜问题在于发行版不会自动更改声音配置 - HDMI 需要数字输出,而数字输出不会自动设置,尽管您已将电视连接到 PC 的 HDMI 插孔,但没有输出。这就是我的情况(现在仍然是)。我发现这是一个软件问题,因为当我运行 Windows 时,HDMI 声音工作正常,但在 Linux Mint XFCE 下则不行。所以现在,每次我将笔记本电脑连接到电视时,我都必须转到音量控制/配置选项卡并选择“数字立体声(HDMI)输出”来启用音频。 有多个选项涉及 HDMI(立体声、环绕声 5.1、环绕声 5.1 + 模拟立体声输入),因此请随意尝试每一个,直到找到一个可行的。请注意,我使用的是 ALSA 驱动程序,并且我只能通过任务栏(或任何名称)图标或通过应用程序菜单中的单独启动器访问音量控制 - 设置管理器中没有声音条目。我希望这会对你有所帮助。