翼度科技»论坛 云主机 LINUX 查看内容

debian 12 + kde 使用 pipewire 替代 PulseAudio

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
背景

这篇博客中提到,我通过安装安装 pipewire 的方式,解决了 debian 12 + kde + wayland 下飞书的屏幕共享问题。
在此之后,通过飞书开会倒是一切正常。只不过在会议时,当屏幕共享的时候对方偶尔能听到自己的回音,如果我自己 mute 则正常。神奇的是,我用耳机的时候也会这样,此时声音不太可能进入到麦克风中。
之前一直怀疑是设备的设置问题或者飞书的兼容性问题。直到前两天突然在想,有没有可能和 pipewire 相关?
什么是 Pipewire?

从官网信息看,Pipewire 的目标是改善 Linux 下的音视频处理,提供了一个低延时的、基于图的音视频处理引擎,可用以替代 PulseAudio 和 JACK。
PipeWire is a project that aims to greatly improve handling of audio and video under Linux. It provides a low-latency, graph-based processing engine on top of audio and video devices that can be used to support the use cases currently handled by both PulseAudio and JACK. PipeWire was designed with a powerful security model that makes interacting with audio and video devices from containerized applications easy, with support for Flatpak applications being the primary goal. Alongside Wayland and Flatpak, we expect PipeWire to provide a core building block for the future of Linux application development.
从这里可以看到,PipeWire 和 PulseAudio 是替代关系。
那有没有可能,因为 PipeWire 和 PulseAudio 都在工作或者冲突,导致了一些奇怪的问题?
Debian 上的 Pipewire

我查了下电脑上,果然安装了 PulseAudio:
  1. dpkg -l | grep pulseaudio
复制代码
于是简单查了一下,在 debian 的官方 wiki 上,可以看到 Gnome 环境下默认切换到了 Pipewire,而其他桌面环境还不是:
In Debian 12, PipeWire 0.3.65 is available, and is considerably more reliable, and is a comfortable drop-in replacement for many use-cases. PipeWire is the default sound server with GNOME Desktop.
这也是为什么,之前为了解决屏幕共享的问题,我需要手动安装 pipewire。
只不过目前看起来确实替换地不完整,需要重新搞一下。
使用 PipeWire 替换 PulseAudio


  • Step1: 安装 Pipeline 相关的包
  1. sudo apt install pipewire-audio
  2. # This metapackage depends on a recommended set of pipewire packages for a standard audio desktop use.
  3. # 所以桌面环境安装这个就够了。建议只安装这个 meta package,尽量减少未来升级系统时冲突的概率。
  4. # 这个 meta package 也会自动删除 pulseaudio 和 pulseaudio-module-bluetooth 相关的包,避免冲突。
复制代码
然后重启电脑。

  • 打开相关服务
  1. systemctl --user --now enable wireplumber.service   # 注意不是 root,不需要 sudo
复制代码

  • 检查是否生效
  1. > pactl info | grep '^Server Name'
  2. Server Name: PulseAudio (on PipeWire 0.3.65)
复制代码
可以看到,已经在使用 PipeWire 了。
P.S. 如果没有 pactl 命令,可以安装一下:
  1. sudo apt install pulseaudio-utils   # 这个包只是 check 用的一些工具,不影响正常的功能,也可以不装。
复制代码
也可以再检查下 ALSA 是否已经开始使用 PipeWire:
  1. > aplay -L | grep -A 1 default
  2. default
  3.     Default ALSA Output (currently PipeWire Media Server)
复制代码
可以看到,ALSA 也正常使用 PipeWire 服务。
其他

Debian 官方 wiki 中还提到了 JACK 的配置,还挺麻烦的。我看了下我的电脑上本来也没有 JACK 相关的包,因此就没有安装和配置了。
结尾


在我把 PulseAudio 替换成 PipeWire 之后,确实没在出现开会的时候回音的问题了,说明这个方法确实有效。至于为什么会有回音,恕我才疏学浅,暂未可知
来源:https://www.cnblogs.com/libitum/p/18330095
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
来自手机

举报 回复 使用道具