Hdajackretask:如果不劫持耳机,就无法让内置扬声器工作

Hdajackretask:如果不劫持耳机,就无法让内置扬声器工作

编辑:已解决,见下文。

我已经在配备 Realtek ALC1220 声卡的 MSI 笔记本电脑“Leopard GP73-8RE”上安装了 Ubuntu 20.04。

我有以下问题:默认情况下,内置扬声器不工作。但是,耳机可以工作。由于我对 Linux 上的声音问题比较熟悉,所以我调查了常见的问题,例如 中的静音条alsamixer或 中的错误输出设备pavucontrol。这方面没有什么可报告的。

因此,我经常hdajackretask重新分配引脚。默认情况下,它们看起来像。检查未连接的引脚和高级覆盖后,我得到以下信息:屏幕 1 屏幕 2

我尝试依次将每个未连接的引脚切换到“内置扬声器”、“内置扬声器 (LFE)”和“内置扬声器 (背面)”,但无济于事。

最终,当我将 0x14“黑色耳机,后侧”引脚切换为“内置扬声器”时,我取得了进展。现在,扬声器工作正常,太棒了。要实现该功能,0x1b 也必须保持设置为“内置扬声器”。

但是,我不再有耳机和扬声器的独立输出,因为它们都通过同一个引脚。因此,插入耳机不会禁用扬声器,但耳机仍会输出声音。

事实上,我只能假设,当拔下耳机时,系统会尝试通过空插孔输出声音。

我尝试返回alsamixer检查自动静音,但此选项与耳机音量条一起消失了。事实上,由于扬声器和耳机现在使用标记为“内置扬声器”的相同引脚,因此 alsa 一定不再看到任何特定的耳机通道。

作为一种解决方法,我搜索了允许使用耳机的引脚(包括未连接的引脚),但只有两个:0x14 和 0x1b - 而这些是扬声器所必需的。

虽然我可以接受这一点,但我还是希望得到一些建议来最终解决这个问题:我希望扬声器可以正常工作,而不需要“劫持”耳机。在理想情况下,扬声器可以正常工作,耳机也可以正常工作,插入耳机会禁用扬声器。

提前致谢

解决方案

我觉得自己很蠢,我花了很多时间在错误的方向研究这个问题(hdajackretask一般来说),而其他人在类似的 MSI 笔记本电脑上也遇到了同样的问题。以下是Bugzilla 线程确定了问题并找到了解决方案。 和以下是上述解决方案的实现(对我有用):

MSI GL73 显然使用相同的 ALC1220 声音编解码器,并且也需要与 Clevo P950 相同的声音路由修复。大胆猜测,您可以尝试添加一个名为/etc/modprobe.d/sound-fixup.conf以下内​​容的文件:

options snd-hda-intel model=clevo-p950

然后update-initramfs -u以 root 身份运行以确保更改在早期启动时也有效,然后重新启动并查看是否会带来改进。如果 MSI 已将您的型号与 GL73 连接在一起,这可能会解决问题。如果没有,请删除该/etc/modprobe.d/sound-fixup.conf 文件并再次运行update-initramfs -u以完全摆脱该选项。

相关内容