Plum's Blog

在 Fedora 33 下尝试 Pipewire

惊闻 Fedora 34 将会用 Pipewire 全面取代 Pulseaudio,很多网友都喜大普奔,像极了当初吹 Wayland 的样子。

但这并不是我们切换到 Pipewire 的理由,更好的理由是对于蓝牙的“LDAC”“APTX”之类编码格式的支持,就连当初写 Pulseaudio Patch 的大佬都表示不想开发了,因为 Pipewire 更有前途

所以还是切换一下看看罢,没准更好呢?

根据目前官方 Fedora 给的相关方式,切换到 Pipewire 会出现各种问题,包括重启后没声音,蓝牙连接后无法切换音量大小等,考虑到 Pipewire 本身就在热烈开发中,我建议直接通过 copr 上 nightly 版本,毕竟有问题修得也快。

记得添加这个源:https://copr.fedorainfracloud.org/coprs/mfrey/pipewire-nightly/

启用源

sudo dnf copr enable mfrey/pipewire-nightly

安装 Pulse 的模块,之后就可以无缝从 Pulseaudio 切换到 Pipewire 了。

sudo dnf install --best --allowerasing pipewire-pulseaudio

如果有冲突问题可以用这个解决,当然我没遇到

sudo rpm -e --nodeps pulseaudio

如果你用的有 Jack 和 Alsa,那就如法炮制了:

sudo dnf install --best --allowerasing pipewire-jack-audio-connection-kit
sudo rpm -e --nodeps jack-audio-connection-kit
sudo dnf install --best --allowerasing pipewire-alsa

接着就是要启用 pipewire 的服务了,很多问题就出现在这里:

systemctl --user enable pipewire-pulse.services # 我忘了到底是 socket 还是 services 了,有什么你启用什么罢,反正就是一服务
systemctl --user enable pipewire-pulse.socket
systemctl --user enable pipewire-media-session.service

这里是最重要的一点,新版的 pipewire 需要启用这个 pipewire-media-session.service 的服务才行。

如果你之前装过老版本的 pipewire,你需要替换为新版的配置文件,使用 /etc/pipewire/pipewire.conf.rpmnew 的文件内容替换掉 /etc/pipewire/pipewire.conf,不然会提示找不到声音输出设备。

然后别忘了修改 /etc/pipewire/pipewire.conf 的配置文件最下面,加上 bluez5 的支持:

添加 ‘ -e bluez5’,当然,别忘了取消注释,不过我发现不添加也能用,不知道有什么区别就是了。

之后重启就可以正常使用了,如果你蓝牙方面有一些特殊要求,可以在配置文件里面微调就是了:

sudo vim /etc/pipewire/media-session.d/bluez-monitor.conf

目前的使用感受是没发现什么问题,似乎比之前的 pulseaudio 更稳定了一些,一切蓝牙老切换 profile 失败的情况也消失了,难道这次真的要好起来了?

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »