We're hiring!
*

Thoughts on PipeWire 1.0 and beyond

George Kiagiadakis avatar

George Kiagiadakis
December 06, 2023

Share this post:

Reading time:

PipeWire 1.0 was released last week. This is a major milestone in a long journey that I had the opportunity to be a part of and I am grateful for it.

For me it all started in 2018, when rumours about PipeWire being a possible successor to PulseAudio had started circulating. At the time I was working on a project that was using PulseAudio in an odd way and I wanted to explore other solutions. Coincidentally, the first PipeWire hackfest was announced during that summer, to be held in October, and I signed up for it without hesitation. The rest is history.

Thanks to a strong collaboration with Automotive Grade Linux (AGL), WirePlumber was born shortly afterwards. It was clear to me at the time, and still is, that PipeWire has strong potential to solve problems outside the scope of the Linux desktop, and WirePlumber is a key component to materialize these solutions. By being the orchestrator behind PipeWire’s graph, it was designed to be able to customize the behaviour of the entire system so that it can address different use cases, such as the ones in the automotive realm.

The 1.0 release now marks a point where we can confidently say that PipeWire is here to stay. But of course it is not the end of the journey. There are many new areas to explore going forward, especially in WirePlumber and the ecosystem that builds around PipeWire. Starting with WirePlumber 0.5, which is very close to a release now, it will be possible to build more complex policies and customizations with less overhead and easier maintenance. This is something that I’ve been excited about for a long time.

I am also eager to see more integration around video use cases. PipeWire is known to be the tool to access system cameras and screencast sources, but its utilization in these use cases is still primitive. I would love to see, for example, transparent video filters that change your background in video calls effectively and efficiently, not having to rely on the call applications to do that. And this is just a simple example, I think that there is potential to see much more interesting integrations, combining complex graphics and machine vision with PipeWire’s powerful architecture.

On that front, I am also keen to see the outcome of the GSoC project that I mentored last summer (2023). The project was about creating a video converter filter, using Vulkan, that would allow us to transparently link video ports that provide or consume video in different pixel formats and resolutions. The project completed with a working demo, but making that more widely available requires more polishing; mainly because Vulkan does not work on all systems and we need to add better detection and fallbacks, so that existing functionality does not break.

All in all, I believe that with PipeWire 1.0 being out of the door, a lot of exciting new things are coming. Looking forward to it!


Visit George's blog.

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


Search the newsroom

Latest Blog Posts

Faster inference: torch.compile vs TensorRT

19/12/2024

In the world of deep learning optimization, two powerful tools stand out: torch.compile, PyTorch’s just-in-time (JIT) compiler, and NVIDIA’s…

Mesa CI and the power of pre-merge testing

08/10/2024

Having multiple developers work on pre-merge testing distributes the process and ensures that every contribution is rigorously tested before…

A shifty tale about unit testing with Maxwell, NVK's backend compiler

15/08/2024

After rigorous debugging, a new unit testing framework was added to the backend compiler for NVK. This is a walkthrough of the steps taken…

A journey towards reliable testing in the Linux Kernel

01/08/2024

We're reflecting on the steps taken as we continually seek to improve Linux kernel integration. This will include more detail about the…

Building a Board Farm for Embedded World

27/06/2024

With each board running a mainline-first Linux software stack and tested in a CI loop with the LAVA test framework, the Farm showcased Collabora's…

Smart audio filters with WirePlumber 0.5

26/06/2024

WirePlumber 0.5 arrived recently with many new and essential features including the Smart Filter Policy, enabling audio filters to automatically…

Open Since 2005 logo

Our website only uses a strictly necessary session cookie provided by our CMS system. To find out more please follow this link.

Collabora Limited © 2005-2024. All rights reserved. Privacy Notice. Sitemap.