uos中wine程序声音回响源于pulseaudio错误路由音频至麦克风输入或启用监听功能。需通过pavucontrol关闭“monitor of...”输入、禁用“echo cancellation”,重置wine音频驱动为alsa并禁用emulatedriver,卸载并注释module-loopback模块。

UOS运行Wine程序时声音出现回响(如说话后持续拖尾、背景音反复叠加、语音通话中自己声音被二次播放),本质是PulseAudio将Wine应用的音频流错误路由至麦克风输入通路,或启用了“监听”“回环”“立体声混音”类功能,导致输出音频被实时采集并再次播放。
关闭PulseAudio回环监听功能
这是回响最常见、最直接的成因。系统默认可能开启“Monitor of Built-in Audio Analog Stereo”这类虚拟输入设备,Wine程序音频一旦被该设备捕获,就会形成闭环反馈。
第一步:打开终端,运行 pavucontrol 启动PulseAudio音量控制中心。
第二步:切换到“录制”选项卡,观察左侧应用程序列表中是否有Wine进程(如“wine”“QQ.exe”“WeChat.exe”)正在使用输入设备。
第三步:点击该Wine程序右侧的输入设备下拉框,确认当前选择不是“Monitor of...”开头的设备;若已是,请改为“空设备”或实际物理麦克风(如“Built-in Audio Analog Stereo”)。
第四步:在“配置”选项卡中,检查当前声卡配置文件是否启用“回音消除”或“AGC”等高级功能——部分UOS预装版本会默认开启“Echo Cancellation”,反而诱发算法误判产生人工回响,【务必关闭该选项】。
隔离Wine前缀的音频环境
当多个Wine程序共用同一前缀时,其注册表中可能残留旧版音频策略设置,强制启用DirectSound回环模式,且无法通过图形界面关闭。
方法一:终端执行命令重置Wine音频配置
WINEPREFIX=$HOME/.wine-office deepin-wine6-stable winecfg → 切换至“音频”选项卡 → 将“驱动程序”下拉菜单设为“alsa” → 取消勾选“允许硬件加速” → 点击“确定”。
方法二:强制禁用Wine内置回环支持
编辑Wine前缀配置文件:nano $HOME/.wine-office/user.reg → 搜索关键词 dsound → 找到形如 "EmulateDriver"="y" 的键值 → 将其改为 "EmulateDriver"="n" → 保存退出。
检查并禁用系统级音频回环服务
某些UOS定制版本会在后台启动 module-loopback 服务,用于会议软件共享系统声音,但未做Wine进程白名单过滤,导致所有Wine音频被无差别转发。
1、终端执行命令查看当前加载的PulseAudio模块:pactl list modules | grep -A 5 loopback
2、若输出中包含 module-loopback 且 source 字段为 monitor 类设备,则说明该模块正在运行。
3、立即卸载该模块:pactl unload-module module-loopback
4、防止下次开机自动加载:编辑用户级PulseAudio启动脚本 nano ~/.config/pulse/default.pa → 找到以 load-module module-loopback 开头的行 → 在其前方添加 # 注释掉 → 保存退出。











