最近购买了一台新笔记本电脑(Razer Blade Pro),并同时启动 Windows 和 Ubuntu 16.04。Windows 运行正常,Ubuntu 则不行。现在大多数问题都解决了,但声音却没有。我启动 Linux 时,大约有 20% 的时间运行正常,其余时间则什么都没有。根本没有声音。我几乎尝试了在线上看到的所有东西,从 pulseaudio 到 pavucontrol 再到一大堆我从未听说过的软件包,但我就是无法解决这个问题。任何建议都将不胜感激。我不确定我需要提供什么数据才能开始,所以请告诉我。
以下所有内容均未插入外接显示器、扬声器或耳机。
输出自alsa -l
:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC298 Analog [ALC298 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
图片显示音频正在播放、pavucontrol 窗口以及 alsamixer。请注意,自动静音已启用,我在截取此屏幕截图之前已将其关闭(禁用)。
答案1
pavucontrol 最适合检查和调整 Pulseaudio
尝试同时检查 ALSA 音频设置
aplay -l
ALSA 播放设备列表
你的板载设备可能会显示 2 个用于耳机和扬声器的 ALSA 子设备
假设板载音频设备是设备编号 0(也可能是数字 HDMI)
alsamixer - c 0
检查卡和芯片信息是否与笔记本电脑规格匹配
使用箭头键向左、向右、向上和向下导航以更改级别
检查耳机和扬声器未静音 (MM) 使用“M”键打开 (OO)
对于任何未使用的播放控件,请将其静音并将级别设置为 0;
对于模拟音频播放,可能需要将数字/SPDIF 播放静音/关闭
检查右侧的自动静音选项,可能由于窗口宽度
设置而被隐藏,将自动静音设置为禁用/关闭时,插入耳机时扬声器将保持打开状态
在 alsamixer 中进行更改时,检查 pavucontrol 是否记录任何活动或更改
答案2
Windows 可能会影响 Ubuntu
来自ArchLinux有关 Razer Blade Pro 的文章:
声音的
在最新的“KabyLake”英特尔 CPU 上,如果您还与 Windows 进行双启动,则在启动 Windows 并重新启动 Linux 时可能会遇到一些音频问题。问题是扬声器没有声音,耳机上有一些破裂声 - 尤其是在使用触摸板时 -。尚未发布官方解决方案,但一个快速的解决方法是完全关闭计算机(即关闭电源,而不是重新启动)。
我遇到过类似的问题,Windows 在重启时关闭了设备。
答案3
如果耳机确实能用(不过我对此表示怀疑,因为你在 alsamixer 输出中将它们静音了),那么要么是你为脉冲音频选择了错误的输出,要么是硬件出了问题。因为你说板载扬声器可以工作偶尔,这表明存在硬件问题(无论是接线错误,还是静音开关禁用了您不经意间切换的输出,或者连接的 HDMI 设备上的音量调到最低)。有些答案不需要详细解释。
请注意,“内置模拟立体声”并不一定意味着“内置扬声器”,我的桌面上也有同样的扬声器,但没有这样的装备。
为了减少混淆,运行时alsamixer
选择 F3 来选择播放设备,而不是 F5 来选择全部,因为输入不是你的问题。这将从你的选择列表中删除不相关的选项。取消静音显示静音的所有内容M
为了pavucontrol
验证您是否已从配置选项卡中为正确选择的输出选择了适当的配置文件,如下所示:
如果其他方法都失败了,你可能需要查看https://help.ubuntu.com/community/SoundTroubleshootingProcedure。完成该过程后,如果仍然有问题,则可能是发现了错误。如果是这样,请按照概述的步骤进行操作这里以便开发人员可以解决它。
答案4
测试 ALSA
首先,让我们测试一下 ALSA。你需要解析出设备aplay
card 0: PCH [HDA Intel PCH], device 0: ALC298 Analog [ALC298 Analog]
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
笔记本电脑很简单,通过排除法得到 0,0。这应该会使笔记本电脑发出嗡嗡声,
cat /dev/urandom | aplay -c 2 -f s16_le -d hw:0,3
对于显示器,您有卡:0,设备:3,7,8,您可以像这样定位它......
cat /dev/urandom | aplay -c 2 -d hw:0,3
cat /dev/urandom | aplay -c 2 -d hw:0,7
cat /dev/urandom | aplay -c 2 -d hw:0,8
其中一个应该发出响亮的令人讨厌的声音。如果这些都没有发出响亮的令人讨厌的声音,你
- 可能是 ALSA 驱动程序有问题,或者
- 信号源已静音,或
- 也许显示器的声音来自 3.5 毫米辅助输入源而不是 HDMI,或者您在笔记本电脑的声卡上插入了某些设备(耳机)
您随时可以粘贴的结果amixer
。
如果可行,则问题出在 Pulse Audio 上。
测试脉冲音频
首先,我们需要知道你有什么接收器pacmd list-sinks
。你应该看到一堆这样的行,
* index: 0
简而言之,这就是 Pulse 索引这些接收器的方式,您可以像这样定位它们,
pacat -d 0 /dev/urandom
这应该会通过 Pulse 接收器发出很大的嗡嗡声。如果没有,
- 该列可能为 0
- 该设备可能已静音。
- 你可能遇到了 Pulse 问题
您可以播放 ALSA 和 Pulse 吗?
如果您已经测试了 ALSA 层,并且它正常工作。而且,Pulse 守护进程也正常工作。那么唯一可能出现错误配置的地方就是客户端本身。它们都应该使用 Pulse Audio。您可以使用它pacmd set-default-sink
来设置系统的默认同步。确保 Pulse 服务器客户端都使用服务器的默认接收器。