如何获取和安装 PipeWire

更新时间

PipeWire 的获取方式取决于你的需求:如果只是想在 Linux 上使用它,大多数发行版已经包含 PipeWire,通常不需要自己编译;如果你要开发、调试或使用最新代码,则可以从 GitLab 克隆源码并用 Meson 构建。需要注意,官方资料明确指出多数发行版可能没有默认启用音频相关部分,因此“已安装”不等于“已经在处理音频”。

先确认你的发行版是否已经提供

PipeWire 官网说明,支持音频用例的 PipeWire 应该已经出现在大多数发行版中。这意味着第一步不是下载源码,而是先检查系统里是否已有 PipeWire 以及它是否在运行。

适用条件是:你使用的是一个较新的主流 Linux 发行版。若发行版仓库中已有 PipeWire,优先用发行版的包管理方式安装和启用,而不是从源码安装。

官方同时提醒:大多数发行版不会默认启用音频部分。因此即使 PipeWire 已安装,也可能仍由 PulseAudio 或 JACK 处理音频。官网给出的做法是阅读相关示例来运行和验证,而不是假设安装后立即生效。

从 GitLab 获取源代码

如果你需要最新源码,PipeWire 的代码托管在 GitLab。官方给出的克隆命令是:

git clone https://gitlab.freedesktop.org/pipewire/pipewire.git

克隆完成后,你会得到一个完整的源码目录,后续的构建和运行都在这个目录中进行。

使用 Meson 构建

PipeWire 使用 Meson 构建系统。官方提供了一个便利脚本和 makefile,使构建过程相对直接:

./autogen.sh --prefix=$PREFIX
make
make install

这里的输入是 $PREFIX,也就是你希望安装到的前缀路径。动作是配置、编译、安装。预期结果是 PipeWire 被构建并安装到指定前缀。

官方对安装位置有一个明确提醒:不建议安装这类自行构建的版本;在开箱即用的情况下,唯一可用的 $PREFIX 是 /usr。官方建议的替代方案是构建自定义的发行版软件包,或者直接从构建目录运行而不安装。

不安装直接运行和测试

如果你不想把自行构建的版本装进系统,可以在源码目录中直接运行。官方给出的测试方式是:

make run

这会启动 PipeWire 服务器,用于从源码目录进行测试。

如果要测试视频采集和显示(使用 SDL),可以在另一个窗口执行:

make shell

make shell 的作用是设置好环境变量,让你能从构建目录运行示例程序,例如:

builddir/src/examples/video-play

这里的关键点是环境变量。官方特别强调:不要忘记设置正确的环境变量,否则插件和模块将无法被找到。也就是说,如果示例程序报错找不到插件或模块,优先检查是否在 make shell 提供的环境中运行。

文档和进一步参与

PipeWire 的文档在其官网提供,开发者还可以查看官方标注为“不完整”的 PipeWire API 文档。其他有用的页面集中在 PipeWire wiki 上。

PipeWire 是自由软件。官网的 “Get Involved” 部分指向社区参与,如果你打算长期使用或贡献代码,可以从文档和 wiki 入手了解当前状态。

常见卡点

  • 以为装了就能用:官方明确说多数发行版不会默认启用音频部分,安装后仍需确认音频是否已交由 PipeWire 处理。
  • 随便指定安装前缀:官方说开箱即用只支持 /usr,其他前缀需要额外处理;更推荐构建发行版包或直接从构建目录运行。
  • 示例程序找不到插件:通常是没有按 make shell 设置环境变量,而不是构建失败。
  • 把源码安装当作首选:官方本身不建议安装自行构建的版本,发行版已提供时应优先使用发行版方式。