前段时间给两台机器装了 Manjaro,公司台式主机和 Redmi G 笔记本,使用的桌面环境是 KDE 发现两台机器都不能正常识别声音设备,笔记本是因为直接识别不到声卡,这个问题下一篇文章说一下解决方法,这里先说台式主机的问题。
使用的扬声器其实就是个 3.5 毫米的耳机,在给这台机器重装之前使用的是 deepin 系统,这个耳机是可以正常工作的(虽然不常用,但印象里是可以工作的),但是在 Manjaro 里 KDE 提示找不到声音设备,经过测试当把耳机插入主机后面的插口时是可以工作的,这也说明系统是可以识别到声卡的,谷歌了一圈发现可以给声卡驱动添加启动参数针对一些设备的兼容。这台机器的声卡是 ALC887
,可以通过执行一下命令查看开机日志,并搜索 audio
来找出声卡型号:
1 | sudo journalctl -xb |
然后执行以下命令可以查看内核为这个声卡加载的驱动:
1 | # lspci -v |
可以发现使用的驱动是 snd_hda_intel,在内核 alsa 相关文档中可以找到有哪些选项:
https://www.kernel.org/doc/html/v5.7/sound/hd-audio/models.html
按照声卡型号搜索,找到对应的选项:
https://www.kernel.org/doc/html/v5.7/sound/hd-audio/models.html#alc88x-898-1150-1220
之后编辑 /etc/modprobe.d/alsa-base.conf
文件(没有则创建),添加以下内容: