|
|
Subscribe / Log in / New account

PipeWire 1.0 released

PipeWire, the audio/video bus meant to replace PulseAudio, JACK, and other systems, has reached 1.0. In celebration, Fedora Magazine is running an interview with PipeWire creator Wim Taymans.

PipeWire is an IPC mechanism for multimedia. The most interesting stuff will happen in the session manager, the modules, the applications and the tools around all this. I hope to see more cool tools to route video and set up video filters etc.


to post comments

PipeWire 1.0 released

Posted Nov 27, 2023 18:19 UTC (Mon) by jd (guest, #26381) [Link] (6 responses)

From what I understand, it has higher latency than JACK, so although it's much better than JACK in the domestic space, it's not as good in the commercial music sector.

This may be incorrect or out-of-date information and I freely acknowledge that.

Personally, I'm not in favour of a one-stop solution to everything. Linux handles too varied a workload, for a start.

The commercial music sector seems very wary of Linux, so presumably the correct tactic would be to provide them with a rich API, the lowest and most stable latency possible, and long-term stability. So long as I'm right about the properties of JACK, it would seem to be right for them.

The games industry is the one that's going to, hopefully, go gaga for PipeWire, as it provides exactly what you want for desktop audio. (So it'll be good for all kinds of desktop Linux use cases.)

So long as there's enough developers for both, this would seem to be the right approach. Trying to do everything well is going to run into conflicting needs at some point.

Now, if there aren't enough developers or my I go is outdated and PipeWire can match JACK, then obviously that's different. One API is easier to write to than two.

PipeWire 1.0 released

Posted Nov 27, 2023 18:28 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link]

> From what I understand, it has higher latency than JACK, so although it's much better than JACK in the domestic space, it's not as good in the commercial music sector.

> This may be incorrect or out-of-date information and I freely acknowledge that.

From the interview linked from LWN, your understanding may indeed be outdated

"We support JACK as a driver (with jackdbus), which gives the PipeWire graph the same low-latency as JACK. This should also make it possible for people that used PulseAudio and jackdbus to migrate to PipeWire.

We now also have an IRQ based ALSA driver that works the same way as the JACK driver and achieves the same low latency as JACK."

"Initial benchmarks also show that PipeWire uses slightly less instructions per cycle compared to JACK, which is a bit surprising and more tests need to be done"

PipeWire 1.0 released

Posted Nov 27, 2023 19:00 UTC (Mon) by farnz (subscriber, #17727) [Link]

FWIW, macOS has a single audio API (CoreAudio) that's used for both music production and for desktop audio. Given that this is accepted on the Mac platform, I see no reason why a low-latency PipeWire wouldn't be fine on the Linux platform.

PipeWire 1.0 released

Posted Nov 27, 2023 19:49 UTC (Mon) by dcg (subscriber, #9198) [Link] (2 responses)

> Trying to do everything well is going to run into conflicting needs at some point.

Some times that is the case, some times it isn't. In the case of Pipewire, it really seems that it isn't

PipeWire 1.0 released

Posted Nov 27, 2023 20:17 UTC (Mon) by Wol (subscriber, #4433) [Link] (1 responses)

The thing is, if you try to do things *right*, you generally find that you can do most things *well*.

So much software is not designed, but thrown together to fix the *immediate* problem. When you find software that has been designed not to fix the immediate problem, but to do a job well, it's a complete breath of fresh air. MultiValue. WordPerfect. I'm sure other people will give more examples, but in every case the designer has stepped back, ANALYSED the problem, and solved the generic problem not the immediate problem.

Poettering tries to do that, and okay Pipewire may be the third or fourth attempt, but if it's been designed properly to transmit sound signals as quickly as possible, then of course it will work well. It has one problem to solve, and it does it to the best of is ability. Other things can then build on it.

Cheers,
Wol

PipeWire 1.0 released

Posted Nov 28, 2023 14:01 UTC (Tue) by khim (subscriber, #9252) [Link]

> in every case the designer has stepped back, ANALYSED the problem, and solved the generic problem not the immediate problem

Unfortunately almost every time when that happens in that time when said designer steps back to analyze the problem marketing pushes other solution that actually exist and they work. Badly, almost always, but they work.

And after people have already invested billions it's hard to accept that they have to forget about all these “investments”.

> Poettering tries to do that

I'm yet to see any serious technical decision which Poettering did wrong, but his complete dismissal of people's natural desire to stick to what they already know and what already works (even if it works because there are, literally, hundreds of kludges puled in a pile) ruffles feathers so badly people often just don't look on technical details.

P.S. I, of course, was on both sides of the fence. Both observed how well things designed by Poettering work and cried when they crushed by own carefully selected small pile of kludges. I can only imagine what people who collected much larger pile of kludges should feel.

PipeWire 1.0 released

Posted Nov 27, 2023 23:25 UTC (Mon) by Uraeus (guest, #33755) [Link]

One of Wims TODO items before doing 1.0 was to ensure that PipeWire got the same latency as JACK, which is now got and also while using less CPU.

PipeWire 1.0 released

Posted Nov 27, 2023 18:50 UTC (Mon) by alspnost (guest, #2763) [Link] (7 responses)

It's funny when I read articles about "plumbing" packages like this, even after 20+ years of using the broader Linux ecosystem. I haven't the faintest idea what they really are and what they do, and reading countless articles about how cool they are still provides zero enlightenment. How does one start to learn about such things?

PipeWire 1.0 released

Posted Nov 27, 2023 19:00 UTC (Mon) by saffroy (guest, #43999) [Link] (2 responses)

> How does one start to learn about such things?

Hit a bug before someone else fixes it, and keep digging until you find a solution. Eventually you might have to read (some of) the code, but the reasons for doing this are not always the best ones.

It's definitely not the only way to learn about existing software, but for me it's been the most frequent way.

It is also indicative that a lot of software has lousy documentation. Many infrastructure projects stop at "just enough" for third party developers to use the thing. There is often a lot of "common knowledge" that lives in communities in the form of mailing lists, bug reports and such.

Basically, this situation is the reason why LWN is such a valuable resource.

PipeWire 1.0 released

Posted Nov 28, 2023 2:15 UTC (Tue) by ejr (subscriber, #51652) [Link] (1 responses)

This. With 35+ years of experience (I'm just about to hit 50), I massively appreciate LWN's effort to bring such a variety of "plumbing" topics to a wider (erm, me) audience.

But, yeah, I agree with finding stuff out by fire. It's not good. It dissuades many even from starting. We're still at the tribal stage (aka if you know you know) for serious aspects, imho.

Although I wouldn't call the documentation lousy off-hand. Writing good text for others to understand is a path in itself. I find that *I* cannot juggle both text and code at the same time. And transitioning between the two takes time. Ok, there are more than two aspects, but the goals need to be achievable.

PipeWire 1.0 released

Posted Nov 28, 2023 4:48 UTC (Tue) by pwfxq (subscriber, #84695) [Link]

> I find that *I* cannot juggle both text and code at the same time

Writing code and writing documentation are different skills. It's why, in $DAY_JOB, we employ people just to do documentation. Sure, the coders, sys admins, etc have to give the writers the starting documentation, but the writer's job is to take that and make it understandable by lots of other people. The added advantage is that as the writers aren't so close to the piece of work, they get to ask the "stupid questions". Once I see the finished article, I'm always impressed by the end result of our writers.

You can tell the writers do a good job because the technical team leaders fight over getting access to the writers and sometimes request management to employ more writers. There's no management edict to use the writers, but the quality of their work and peer-pressure pushes everyone to put all their documents through them.

PipeWire 1.0 released

Posted Nov 28, 2023 10:13 UTC (Tue) by mgedmin (subscriber, #34497) [Link]

The way I learn about these things is by reading blogs through several blog aggregators like Plane GNOME and Planet Freedesktop. News sites like LWN count too. This does mean that you get to hear about new things as they are being developed, but only if you keep up with the flood of information.

PipeWire 1.0 released

Posted Nov 28, 2023 17:40 UTC (Tue) by iabervon (subscriber, #722) [Link] (2 responses)

A lot of articles about PipeWire are really "what's new in this thing you understood as of a few months ago", with the assumption that the only people who will find the article have been following its development. There's an LWN article about it from 2021 that includes describing the problems that PipeWire is intended to address, which should serve to explain what plumbing PipeWire in particular manages.

PipeWire 1.0 released

Posted Nov 29, 2023 9:28 UTC (Wed) by elenril (subscriber, #165899) [Link] (1 responses)

>lot of articles about PipeWire are really "what's new in this thing you understood as of a few months ago"

Last I looked at its official docs, they were also written for someone who already understands how everything fits together. It could really use a practical introduction to basic concepts/architecture/configuration.

PipeWire 1.0 released

Posted Nov 30, 2023 6:56 UTC (Thu) by liam (guest, #84133) [Link]

https://docs.pipewire.org/index.html

The Overview page provides context, and the Design page a high level look at the principles.
At the bottom of the above link there's a resources section where you'll find a post called PipeWire Under The Hood (
https://venam.nixers.net/blog/unix/2021/06/23/pipewire-un...) and that has a section that covers configuration.

PipeWire 1.0 released

Posted Nov 28, 2023 4:04 UTC (Tue) by josh (subscriber, #17465) [Link]

Pipewire works incredibly well. Ever since I switched to it, screen sharing just works. When I'm in a meeting I can confidently hit the "share screen" button and pick a window and expect that it's going to work.


Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds