LOADING

加载过慢请开启缓存 浏览器默认开启

ArchLinux 下 Wine兼容层程序 电流音问题解决方案

前言

24年4月入手了一台Thinkbook14+(2024),由于饱受Windows的折磨(神笔微软电脑管家,OfficePlus),故到手时安装使用ArchLinux。
此为小问题的解决记录,存档备忘,若有帮助,倍感荣幸。

问题

本人使用PipeWire作为音频后端,主机音频与wine程序同时运行时,喇叭时常有刺耳的电流音。

根据搜索,在PulseAudio后端下,Wine有已知的音频断断续续BUG(可能表现也为电流音),这点在 WineWikiWineBug 都有提到。

分析与解决

  • PulseAudio:

关于 PulseAudio 解决方案,有人提到是缓存问题,解决方案参考 Debian-PulseAudio (没有使用PulseAudio的设备,仅供参考

  • PipeWire:

开关 EasyEffects,仍有电流音。
查看 Winecfg 当前调用驱动是调用 PulseAudio 后端。故猜想同样是缓存值太低导致音频异常。

尝试修改PipeWire缓存:
首先用 pw-top 命令查看 quantum ,然后用这个命令增加 quantum 值,直到音频变得更加平滑。

pw-metadata -n settings 0 clock.force-quantum 2048

一旦你找到适合你情况的 quantum 值(对我的设备 quantum = 2048 在以往场景下未出现异常,故采用此值)。
可以通过创建一个内容如下的配置文件 ~/.config/pipewire/pipewire.conf.d/choppy-under-load.conf,并重启与 pipewire 相关的守护程序,使这个值永久化。

context.properties = {
   default.clock.force-quantum = 2048
   default.clock.quantum = 2048
   default.clock.min-quantum = 2048
}

参考链接