天空闲话 发表于 2024-7-29 17:27:40

debian 12 + kde 使用 pipewire 替代 PulseAudio

背景

在 这篇博客中提到,我通过安装安装 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:
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 相关的包
sudo apt install pipewire-audio
# This metapackage depends on a recommended set of pipewire packages for a standard audio desktop use.
# 所以桌面环境安装这个就够了。建议只安装这个 meta package,尽量减少未来升级系统时冲突的概率。
# 这个 meta package 也会自动删除 pulseaudio 和 pulseaudio-module-bluetooth 相关的包,避免冲突。然后重启电脑。

[*]打开相关服务
systemctl --user --now enable wireplumber.service   # 注意不是 root,不需要 sudo
[*]检查是否生效
> pactl info | grep '^Server Name'
Server Name: PulseAudio (on PipeWire 0.3.65)可以看到,已经在使用 PipeWire 了。
P.S. 如果没有 pactl 命令,可以安装一下:
sudo apt install pulseaudio-utils   # 这个包只是 check 用的一些工具,不影响正常的功能,也可以不装。也可以再检查下 ALSA 是否已经开始使用 PipeWire:
> aplay -L | grep -A 1 default
default
    Default ALSA Output (currently PipeWire Media Server)可以看到,ALSA 也正常使用 PipeWire 服务。
其他

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


在我把 PulseAudio 更换成 PipeWire 之后,确实没在出现开会的时间覆信的题目了,阐明这个方法确实有效。至于为什么会有覆信,恕我才疏学浅,暂未可知
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: debian 12 + kde 使用 pipewire 替代 PulseAudio