在 Ubuntu 22.04 或 20.04 中启用用于音频和蓝牙的 PipeWire

启用 Ubuntu 上的 PipeWire 以代替 PulseAudio

与 Ubuntu 20.04 不同,我们不需要在 Ubuntu 22.04 Linux 上安装 PipWire,因为它已经在预装的系统上。但是,我们只需要对其进行配置以替换音频和蓝牙设备的 PluseAudio

仅适用于 Ubuntu 20.04

最新版本的 PipeWire 和 WirePlumber 在 20.04 Focal 上默认不可用,因此,我们需要通过添加 PPA 存储库来安装它们。此外,想要此框架和会话管理器的最新版本的 Ubuntu 22.04 用户也可以根据需要添加 PPA。

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream

在 Ubuntu 上安装 PipeWire 20.04

添加存储库后,运行 system update 命令,然后使用 APT 安装所需的软件包:

sudo apt install pipewire pipewire-session-manager

重新加载守护程序:

systemctl --user daemon-reload

启动服务:

systemctl --user --now enable pipewire pipewire-session-manager

检查 PipeWire 服务

首先,让我们检查一下 PipeWire 是否在我们的 Ubuntu 22.04 或 20.04 上安装并运行,没有任何错误。为此,请在命令终端中运行以下命令:

systemctl status --user pipewire pipewire-session-manager --no-pager -l
Check-pipewire-session-on-Ubuntu-22.04-or-20.04

安装所需的 PipeWire 软件包

让我们安装一些额外的软件包,这些软件包将支持用于音频或视频输出的 PipeWire。此外,给定的命令将安装编解码器以支持 LDAC。

sudo apt install libldacbt-{abr,enc}2 libspa-0.2-bluetooth pipewire-audio-client-libraries libspa-0.2-jack

使用 WirePlumber 作为会话管理器(仅适用于 Ubuntu 22.04)

安装 WirePlumber,而不是使用 Piperwire 会话管理器,这是一个更高级、更强大的会话管理器。

sudo apt install wireplumber

输出:

The following additional packages will be installed:
liblua5.3-0 libwireplumber-0.4-0 pipewire-pulse
The following packages will be REMOVED:
pipewire-media-session
The following NEW packages will be installed:
liblua5.3-0 libwireplumber-0.4-0 pipewire-pulse wireplumber
0 upgraded, 4 newly installed, 1 to remove and 89 not upgraded.
Need to get 452 kB of archives.
After this operation, 1,443 kB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.

Install-WirePlumber-service

在 Ubuntu 上启动 WirePlumber 服务 22.04

默认情况下,WirePlumber 的服务不会运行,因此,我们必须启动并启用它以在系统启动时运行。这是执行此操作的命令:

systemctl --user --now enable wireplumber.service
Start-and-enable-wireplumber-service-ubuntu-22.04

禁用 PulseAudio

使用给定的命令禁用 PulseAudio:

systemctl --user --now disable pulseaudio.{socket,service}
systemctl --user mask pulseaudio

配置 ALSA、插孔和蓝牙

您可以使用一个命令将所有必需的 PipeWire 配置文件复制到 e

sudo cp -vRa /usr/share/pipewire /etc/

鉴于

对于ALSA:

要配置 ALSA – Advanced Linux Sound Architecture,这是一个软件框架,是 Linux 内核的一部分,工作是为声卡设备驱动程序提供 API;要使用 PipeWirem,请将 PipeWire 安装文件夹中可用的默认配置文件复制到 ALSA。

sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

对于蓝牙

要将其用于蓝牙,只需运行给定的命令,该命令将删除 PulseAudio 的蓝牙模块以支持 PipeWire。

sudo apt remove pulseaudio-module-bluetooth

对于 JACK:

要将 PipeWire 用于 JACK(一种低延迟音频服务器 API),请将可用于它的配置文件复制到 PipeWire 文件夹中。

sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/

重新启动系统并验证 PipeWire

完成上述命令后,重新启动 Ubuntu 22.04 或 20.04 系统一次,以正确集成 PipeWire。

reboot

重新启动后,打开命令终端并运行:

pactl info

上面的命令将为您提供音频服务器的详细信息,转到服务器名称行,您将在那里看到:

Server Name: PulseAudio (on PipeWire x.x.x)

之前和之后的结果

重新启动之前:

Pulse-Audo-Server-Details

重新启动后:

PulseAudio-server-on-PipeWire

禁用 PulseAudio 的 PipeWire(可选)

将来,如果您需要禁用 PulseAudio 的 PipeWire 使用,那么也可以在不删除它的情况下使用。命令如下:

首先,我们需要取消屏蔽 PusleAudio 服务,否则在启用它时会出现错误:

Error: Failed to enable unit: Unit file /home/h2s/.config/systemd/user/pulseaudio.service is masked.

现在,揭开它的面纱

systemctl --user unmask pulseaudio

之后,启用服务:

systemctl --user --now enable pulseaudio.{socket,service}

现在,重新启动系统并使用以下命令检查服务器名称:

pactl info

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun289857.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2024年3月17日 下午8:09
下一篇 2024年3月17日 下午8:13

相关推荐