主要是,声音只能在电脑上听到,在电视上听不到,我对视频没有任何问题,它运行正常。
Ubuntu 从未检测到我的声卡hdmi
。
命令:
aplay -l
结果:
**** Lista de PLAYBACK dispositivos hardware ****
tarjeta 0: PCH [HDA Intel PCH], dispositivo 0: ALC269VB Analog [ALC269VB Analog]
Subdispositivos: 1/1
Subdispositivo #0: subdevice #0
我尝试使用以下命令安装声音驱动程序但仍然没有成功。
sudo add-apt-repository ppa:ubuntu-audio-dev/alsa-daily
sudo apt-get update
sudo apt-get install oem-audio-hda-daily-dkms
我尝试使用以下命令检测我的声卡 hdmi,但仍然没有成功。(来源)。
命令:
echo "Sound cards recognized by the system:"; lspci -nn | grep --color=none '\[04[80][13]\]'; echo "Sound cards recognized by ALSA:"; lspci -nn | grep '\[04[80][13]\]' | while read line; do lspci -nnk | grep -A 3 '\[04[80][13]\]' | grep -e 'Kernel modules: ..*' -e '\[04[80][13]\]' | grep --color=none -F "$line"; done; echo "Sound cards recognized by ALSA, and activated:"; lspci -nn | grep '\[04[80][13]\]' | while read line; do lspci -nnk | grep -A 3 '\[04[80][13]\]' | grep -e 'Kernel drivers in use: ..*' -e '\[04[80][13]\]' | grep --color=none -F "$line"; done
结果:
Sound cards recognized by the system:
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
Sound cards recognized by ALSA:
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
Sound cards recognized by ALSA, and activated:
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
因此我决定在“附加驱动程序”中为 Nvidia 安装另一个视频驱动程序。
安装“NVIDIA 二进制驱动程序 - 来自 nvidia-346 的版本 346.59(专有,已测试)”后,启动 Ubuntu 时出现以下消息:
ACPI PPC Probe failed.
Starting version 219
但我仍然没有检测到我的声卡HDMI
。
有人能帮帮我吗?
感谢您的关注。
更新日期:2015/07/13
命令:
lspci
结果:
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 525M] (rev a1)
02:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 [Rainbow Peak] (rev 34)
03:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
命令:
sudo lspci -H1
结果:
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM67 Express Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 525M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)
02:00.0 Network controller: Intel Corporation Centrino Wireless-N 1030 [Rainbow Peak] (rev 34)
03:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
答案1
您是否注意到 的输出中lspci -H1
包含 中不存在的一行lspci
:
01:00.1 Audio device: NVIDIA Corporation GF108 High Definition Audio Controller (rev a1)
那是你的 hdmi 音频芯片。问题在于 Linux 未能正确检测到该卡,因此未加载驱动程序。好消息是该芯片已通电,因此我们可以欺骗 Linux 尝试再次检测它。你需要遵循的步骤取决于你使用的驱动程序:nvidia 或 nouveau。
警告: 如果出现问题,这将导致内核崩溃并可能导致重启问题,但这些问题可以通过多次重启来解决;等待 2 分钟后再重新打开笔记本电脑;并暂时移除电源和电池。
新派
第一步是确保 GPU 未被驱动程序使用。运行
lsmod | grep nouveau
。如果它输出一行nouveau
以大于 0 的数字开头和结尾,则表示它正在使用中。一种可能的方法是停止 X(因此可以将其打印出来或使用另一台可以阅读此内容的机器):- 按 ctrl+alt+f1
- 运行
runlevel
并记下该数字(在我的电脑中该数字是 5)。 - 以 root 身份登录:
sudo su
- 运行
init 3
,其中 3 是一个比您刚刚写下的数字小但与 1 一样大的数字。 - 再次运行
lsmod | grep nouveau
以确保 nouveau 驱动程序不再被使用(应该没有输出;没有以 nouveau 开头的行;或者以 nouveau 开头的行以 0 结尾)。
作为健全性检查,请确保 GPU 及其音频芯片已通电:
- 运行
lspci -H1 | grep 01:00
。它应该输出两行。 - 再次运行
lsmod | grep nouveau
以确保 nouveau 驱动程序仍未被使用。
- 运行
现在 GPU 无需驱动程序即可供电,我们将“移除”它:
- 运行
echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove
(如果 GPU 仍有驱动程序加载/正在使用,这会导致内核恐慌)。 - 通过运行重新检测 GPU 及其音频芯片
echo 1 > /sys/bus/pci/rescan
。 - 运行
lspci | grep 01:00.1
。如果输出任何内容,恭喜你!你的 Linux 现在已经识别到你的 GPU 音频芯片了。
- 运行
使用新型 GPU 运行 X。
- 运行
init 5
后记下的数字为 5。runlevel
现在您应该看到 X 重新启动(否则尝试按 ctrl+alt+f7)。 - 如果您运行
aplay -l
,现在它应该输出 HDMI 输出(在我的电脑上有 4 个输出,但只有 1 个有效)。
- 运行
NVidia
第一步是确保 GPU 未被驱动程序使用。由于您使用的是 nvidia 驱动程序,因此您还必须使用 prime。
- 跑步
prime-select query
。 - 如果输出
nvidia
,您可以通过运行并重新启动来禁用该驱动程序sudo prime-select intel
。 - 如果它输出
unknown
那么前面的步骤可能也会有效,但也会破坏你的大黄蜂设置。
- 跑步
作为健全性检查,请确保 GPU 及其音频芯片已通电:
- 以 root 身份登录:
sudo su
- 运行
lspci -H1 | grep 01:00
。它应该输出两行。 - 如果第一行以 结尾
(rev ff)
,则需要运行 来为 GPU 供电echo ON > /proc/acpi/bbswitch
。 - 如果第二行缺失,则表示 GPU 音频芯片不再通电。您可以尝试暂停笔记本电脑;再次恢复;然后再次检查 GPU 音频芯片是否通电(我希望这对您有用,否则您就会像我一样倒霉)。
- 再次运行
lsmod | grep nvidia
以确保 nvidia 驱动程序仍未被使用。
- 以 root 身份登录:
现在 GPU 无需驱动程序即可供电,我们将“移除”它:
- 运行
echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove
(如果 GPU 仍有驱动程序加载/正在使用,这会导致内核恐慌)。 - 通过运行重新检测 GPU 及其音频芯片
echo 1 > /sys/bus/pci/rescan
。 - 运行
lspci | grep 01:00.1
。如果输出任何内容,恭喜你!你的 Linux 现在已经识别到你的 GPU 音频芯片了。
- 运行
使用 nvidia GPU 运行 X。
- 运行
prime-select
。如果输出intel
,则运行prime-select nvidia
。 - 注销并重新登录。
- 如果您
aplay -l
现在运行,它应该输出 HDMI 输出(在我的电脑上有 4 个输出,但只有 1 个有效)。
- 运行
顺便说一句,这个错误已经在启动板上被报告了:https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1377653?comments=all
答案2
连接电视后,声音设置中的音频源是否发生了更改?
请参阅下图以供参考。您需要将其更改为 HDMI/数字立体声。
答案3
我在使用 HDMI 时也遇到了同样的问题,
安装 pulse-audio 后问题解决了,现在我可以在电视上看电影和听声音了