Linux Apps

PipeWire – Improved Audio & Video Handling on Linux

PipeWire – Improved Audio & Video Handling on Linux
Written by Martins D. Okoi

PipeWire is a free and open source application created by Wim Taymans who works as the Principal Engineer at Red Hat and is the co-creator of the GStreamer multimedia framework.

It has been built from scratch with a particular focus on supporting Wayland and Flatpak in a bid to modernize audio and video processing. This includes support for single frame screenshots, screen capture, local desktop recording to video, and maybe even native casting of Wayland desktops to TVs and Monitors!

According to project’s website, its aim is to

greatly improve handling of audio and video under Linux. It aims to support the usecases currently handled by both PulseAudio and Jack and at the same time provide same level of powerful handling of Video input and output.

It also introduces a security model that makes interacting with audio and video devices from containerized applications easy, with supporting 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.

Features in PipeWire

  • FOSS: Free to download and use with source code available on GitHub.
  • Excellent audio and video playback with minimal latency.
  • Real-time audio and video multiprocessing.
  • Multiprocess architecture: applications can share multimedia content.
  • Support for GSTreamer plugins to allow for widespread app integration.
  • Support for sandboxed applications e.g. Flatpak.
  • Excellent audio and video capture.
  FreeOffice 2016 - An Efficient Alternative to Microsoft Office

In this blog post, Christian explains that PipeWire introduces a security model that facilitates easier interactions between audio and video devices from sandboxed apps; and with the way Flatpak and other container models are taking over the market, this does seem like a win-win situation.

Installation and Documentation

At the time of writing PipeWire is not readily available for installation on most distros but you can work around that by grabbing its source code from GitHub and compiling from source or installing either of the packages made for Fedora 27 and Fedora Rawhide.

To clone the repo from GitHub use the code below:

$ git clone

Next, using the Meson build system, enter the following commands:

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

The $PREFIX is commonly set to /usr or /usr/local.

Now, test run the PipeWire server from the source directory with the command:

$ make run

If you want to test its video capture and display with SDL from the source directory, use:

$ SPA_PLUGIN_DIR=build/spa/plugins PIPEWIRE_MODULE_DIR=build  build/src/examples/export-sink

You can play around with the other examples as well.

Remember that if you don’t set the correct environment variables as shown above the plugins and modules won’t be found.

Check for a collection of useful pages on PipeWire on its wiki page and its API documentation here.

  Letrs - A Cloud-Based Font Manager for Developers and Designers

Clearly, it takes quite a hassle to get PipeWire running on your system, but sooner or later installation will no longer be an issue.

If you are able to get on with the installation don’t forget to share your usage experience with us in the comments section below.

Your Unwavering Support Matters a Lot:

The cost of maintenance is skyrocketing as more readers are coming on board and the ad service that we employ in order to generate revenue is unfortunately no longer sufficient and this is especially due to the increased use of ad-blockers.

We humbly request that you consider disabling your ad-blockers to support us financially or by donating as anything from $1. Your donation(s) will go a long way in supporting FossMint and sister site, TecMint, in running efficiently. Thank you.

Make a Contribution via PayPal

Top Deals

About the author

Martins D. Okoi

Martins Divine Okoi is a graduate of Computer Science with a passion for Linux and the Open Source community. He works as a Graphic Designer, Web Developer, and programmer.