在 ALC1220 上的 Ubuntu 19.10 中线路输出没有声音

Ale*_*ník 5 sound pulseaudio alsa 19.10

我遇到了 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
Run Code Online (Sandbox Code Playgroud)

我尝试了几个不同版本的 Ubuntu:我从 18.04 开始,最终选择了 19.10。任何版本都没有声音。

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

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

任何帮助将不胜感激。

编辑:耳机插孔不能正常工作。我可以从里面听到一些声音,但有些失真,但无法使用。

编辑2:耳机插孔工作良好。不确定之前发生了什么。

Ale*_*ník 2

总而言之:

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

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

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

应用这两个修复后,我终于在运行 Kernel 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
Run Code Online (Sandbox Code Playgroud)

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 驱动程序。我已经尝试过了,似乎确实解决了这个问题。现在重新启动(下面提到的第二步)会保留声音。

有趣的事实:切换到 Microsoft HDA 驱动程序并重新启动后,Windows 也没有播放任何声音。我必须冷启动到 Windows 以重置声卡的状态,这显然是由 Realtek 驱动程序在重新启动之前设置的。如此看来,不仅仅是Linux的HDA驱动程序在从声卡状态恢复时出现问题,微软的HDA驱动程序也是如此。

AlsaMixer耳机的音量设置

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

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

唯一剩下的问题是,“耳机”的音量在重新启动后或将实际耳机插入前面板插孔后不会持续存在。这是另一个问题,但当我找到解决方案时,为了完整起见,我可能会将其添加到此处。