Windows Realtek 驱动程序与 Linux HDA 驱动程序之间的冲突

Windows Realtek 驱动程序与 Linux HDA 驱动程序之间的冲突

我遇到了 Ubuntu 19.10(运行在内核 5.3.0 上)中线路输出插孔没有声音的问题。前面板上的耳机插孔工作正常。(请参阅下面的编辑)在声音设置中,我可以看到系统可以很好地检测扬声器的连接和断开情况。

我有 Windows 双启动。在 Windows 中一切正常,所以这不是硬件问题。在切换到 Ubuntu 之前,我也尝试过完全关闭计算机,但没有帮助。

我在网上找到了很多类似的情况,并尝试了建议的解决方案(例如,使用声音配置文件pavucontrol和音量播放alsamixer),但是,没有运气。speaker-test也没有让我的扬声器发出声音。

当我尝试在 Ubuntu 中使用声音控制测试声音时,按下按钮从其中一个扬声器发出声音后,我的系统日志中会出现以下内容:

Feb 15 11:53:45 VIKING-ALES gnome-control-c[11205]: Failed to play sound: No such driver

我尝试了几个不同版本的 Ubuntu:一开始是 18.04,最后是 19.10。所有版本都没有声音。

我的主板是技嘉X570 Aorus Xtreme,声卡是Realtek ALC1220,详细信息alsa-info如下:

http://alsa-project.org/db/?f=d5c298b5a27d995fddeb2b9bad994e2eb043b058

任何帮助都将非常感激。

编辑:耳机插孔不太好用。我能听到一些失真的声音,但无法使用。

编辑2:耳机插孔工作正常。不知道之前发生了什么。

答案1

总结:

  1. 冷启动到 Linux 或在 Windows 中更改声音驱动程序;
  2. 检查耳机的音量alsamixer

回答我自己的问题,这种行为似乎是由两个不同的问题引起的:

  • Windows Realtek 驱动程序与 Linux HDA 驱动程序之间的冲突
  • alsamixer耳机音量设置

在应用这两个修复程序后,我终于在运行内核 5.4 的 Ubuntu 20.04 上听到了“线路输出”插孔的声音:

ales@VIKING-ALES:~$ uname -a
Linux VIKING-ALES 5.4.0-26-generic #30-Ubuntu SMP Mon Apr 20 16:58:30 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Windows Realtek 驱动程序与 Linux HDA 驱动程序之间的冲突

经过一番挖掘,我在 level1techs.com 上发现了以下帖子:https://forum.level1techs.com/t/has-anybody-gotten-audio-working-in-linux-on-aorus-x570-master/154072/45

正如那里所建议的,这可能仅在双启动场景中发生,此时 Linux HDA 驱动程序可能无法在 Windows Realtek 驱动程序设置的状态下初始化声卡并拒绝产生声音(即使在应用第二步之后alsamixer)。

因此,一个解决方案是始终冷启动 Linux。上述论坛建议从 Realtek 驱动程序切换到 Microsoft 的 HDA 驱动程序。我试过了,它确实似乎解决了这个问题。现在重新启动(使用下面提到的第 2 步)可以保持声音。

有趣的事实:切换到 Microsoft HDA 驱动程序并重新启动后,Windows 也无法播放任何声音。我不得不冷启动 Windows 来重置声卡的状态,该状态显然是由 Realtek 驱动程序在重新启动之前设置的。因此,似乎不仅 Linux 的 HDA 驱动程序在从声卡状态恢复时存在问题,Microsoft 的 HDA 驱动程序也存在问题。

AlsaMixer耳机音量设置

另一个问题是“耳机”音量设置为 0。显然,Alsa 将其与后置扬声器插孔连接起来。

该解决方案描述如下: Ubuntu 18.04 中前面板音频端口的耳机没有声音

剩下的唯一问题是“耳机”的音量在重启后或将实际耳机插入前面板插孔后不会保留。这是另一个问题,但当我找到解决方案时,为了完整性,我可能会在这里添加它。

答案2

我的后置输出线 (B550-F Ubuntu 20.04) 没有声音,因此查看了 alsamixer,发现线路为 0,因此调高了音量,但仍然没有任何声音,直到我禁用“自动静音模式”然后就好了!

相关内容