MSI TRX40 Pro WiFi 前置耳机插孔没有声音

MSI TRX40 Pro WiFi 前置耳机插孔没有声音

我正在尝试让 MSI TRX40 Pro WiFi 上的 Ubuntu 20.04 中的前置耳机插孔发出声音。主板的设置有点奇怪,音频显然来自 USB 音频设备,因此它在各种混音器(alsamixer,设置中的声音面板)中显示为“USB 音频”。插入耳机后,系统正确检测到耳机已插入,但耳机没有发出声音。

通过在 Google 上搜索,我发现了在 alsamixer 中禁用自动静音的建议,但 alsamixer 根本没有列出该选项。

真正有趣的是,我使用 选择正确的设备从耳机插孔获取音频aplay。找到的设备aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ALC1220VBDT [ALC1220-VB-DT], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: ALC1220VBDT [ALC1220-VB-DT], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ALC1220VBDT [ALC1220-VB-DT], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ALC1220VBDT [ALC1220-VB-DT], device 3: USB Audio [USB Audio #3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

[忽略 HDMI 音频;这是 GPU 的音频支持,它确实有效 - 只要我想从显示器扬声器播放声音]

如果我选择音频设备 hw:1,1,我可以让 aplay 播放 wav 文件并通过前置插孔的耳机听到它:

aplay -Dhw:1,1 a2002011001-e02.wav

因此,如果我能以某种方式让各种系统范围的混音器用作hw:1,1它们的输出,那么一切都会正常工作(我认为)。

我发现这款芯片组在 Linux 中存在一些问题,并阅读了这个(很长的)内核错误报告topic/usb-trx40。因此,也许可以通过使用以下分支来解决所有这些问题https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/? 但如果有一种简单的方法可以让它在这里发挥作用,我犹豫着是否要走那条路。

摘要:如果我手动选择正确的设备,前面板声音就会起作用aplay -D,无法弄清楚如何让其他混音器使用该设备。

答案1

我设法通过以下 ALSA、PulseAudio 和内核补丁的组合来修复此问题:

  1. ALSA:https://github.com/alsa-project/alsa-ucm-conf/pull/25。我没有重建包,我只是把两个新文件放进去了/usr/share/alsa/ucm2/USB-Audio/
  2. 脉冲音频:https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/292。我曾经apt-get source pulseaudio获取源代码,应用补丁,然后dpkg-source --commit告诉 dpkg 有关补丁信息。然后我用重建 pulseaudio 包dpkg-buildpackage -rfakeroot并安装它们。
  3. topic/usb-trx40该内核树的分支:https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/log/?h=topic/usb-trx40。这有点棘手,因为我使用的是 ZFS,所以我必须应用 ZFS 补丁以及此处记录的补丁:https://forum.level1techs.com/t/building-custom-kernel-with-zfs-built-in/117464

我不完全确定这三个都是必需的,但它们已经足够了。声音现在可以正常工作了!

相关内容