Pipewire 1.0 - Is it time now?

To me that sound counter-intuitive. One would get better and the other would get worse. Sort of meeting in the middle. Right now from my perspective as an “outsider” the Linux audio environment is rather muddy as it is.

1 Like

That could happen in theory. But we try to have faith in the Pipewire crew to get it right (eventually). It works on macOS, for example (with CoreAudio, which does the same thing).

2 Likes

Also, the Linux audio environment is no more, and possibly less muddy than the Windows one. There you have ASIO, still the gold standard for drivers to use with pro-audio apps, WDM, Microsoft’s attempt to do what ASIO could but also what MME used to do, plus legacy audio APIs. At least on Linux, everything goes through ALSA, you just choose what level of the stack built on that to use.

On macOS really got this right.

1 Like

Is Pipe Wire reverse engineering from Core Audio?
So I mean, why not take a model from a well-functioning solution?

Given the CoreAudio encompasses the entire audio stack, from device drivers to high level media-app APIs, it would be inappropriate to try to copy it entirely into a system that will still use ALSA for the driver layer.

However, Pipewire has taken a number of the most important ideas from CoreAudio and used them.

I’ve been using Pipewire (0.3.8) on Opensuse tumbleweed for about a week now. I have an old focusrite saffire 40 and that all connects perfectly. Even the MIDI in that didn’t work in the past now works. It’s a whole lot nicer to use than having to start manually all the time when I wanted to do stuff. Also the fact it’s all in wrong means I can just use the onboard sound now with JACK with no issues. The usability is a big improvement.

Performance wise, I can’t really speak for much yet as have only been using MIDI controlled virtual instruments. I can say that the MIDI latency has been good, all except for using JACK MIDI in Ardour, which introduces extra latency that other programs don’t. It is fine when switched to ALSA mode though.

Maybe I should lock the package whilst the going is good :smile:

1 Like

0.3.8 is more than 3 years old (July 2020). I hope you meant 0.3.80 or 0.3.81.

Oops, my bad! 0.3.80

And don’t forget video. In these forums we obviously are primarily discussing audio, but PipeWire began as a video project.

2 Likes

Just a point of reference, in testing the first RC of Pipewire 1.0, my measured latency dropped from 20ms down to 10, using my USB-based Behringer UMC1820. The IRQ backend really seems to have helped. Hoping this translates to better stability, too.

8 Likes

You know that PipeWire is basically a (questionable) hack to funnel audio streams from containers, different VMs or Flatpack/Snap environments with several versions of the same libraries (which tend to be different to the system libriaries) to the system’s audio hardware. Which is a terrible concept to duct tape the intrinsic flaws of a truly terrible concept. If you want to work with professional audio you want to avoid that mess and use the packages from your distro’s package manager. If that is impossibe then use a reasonable distribution or you’ll never get any order into the mess that PipeWire on top of Pulse on top of ALSA as a “replacement” for Jack is.

1 Like

I’ve been using Pipewire on Debian for over a year. Never had any issues, didn’t have to worry about setting up sinks so I could use multiple apps together. Everything just works out of the box (including bluetooth audio) it’s lovely.

5 Likes

What do Flatpak/VMs/Snap have to do with Pipewire signal routing? Once the connection is established, the desktop handles routing. You also don’t have ‘Pipewire on top of Pulse on top of ALSA’—in the end, there is only ALSA anyway, and you don’t have to shove Pulse in the middle if you don’t want to. I know I don’t.

Besides, what’s so bad about ensuring backward compatibility?

2 Likes

pipewire, jackd, alsa are all the same to me. I never could run a project (small or big) reliable with lower than 512 buffer. for me personally recording tracks in ardour and use ardours monitoring I need to go down to 128 buffer or lower. Otherwise it feels like a “slapback delay” and its messing up my “flow”. So when I got pipewire to run stable at 512 it was kinda good enough for me.

I have tried rt kernels, lowlatency kernels, generic kernels, I’ve compiled kernels following like 200 tutorials through out the years.

I think Im “home free” with my audiodevice used as monitor when recording new tracks.
Would be nice if I could play through some effects inside ardour though. but I think thats not gonna happen for me.

I have worked with disabling features in my mainboard and grub where computer is now more “potent” than ever.

pipewire version 0.3.81 (Releases · PipeWire / pipewire · GitLab) is loading jackd when I start ardour8 or mixbus32cv9 if I choose alsa it also gives alsa my audio device. The backside on this matter is, now I cant listen to youtube, audiosamples at freesound or any other audiostreams at the same time Im working in my favourite daw. and still, the performance its not increasing even jackd is slightly better in performance than pipewire.

A little note I did edit 25 min after this post.
Just so its clear :
I have tried out ardour, mixbus and other daw’s in microsoft/windows aswell. And its no difference(for me). same “latency problems”.

Cheers :slight_smile:

This tells me all I need to know about your understanding of Pipewire, and whether or not to listen to your “opinions”.

4 Likes

Maybe you should have tried with an interface that actually can handle the 128 byte buffer. Throwing even more software at a latency problem isn’t going to help.

First : I think you’re just trolling with me,
Second : you dont know what audio interface I got.
Third : Where did I throw more software in?

You’r conclusion is not very open for scenarios i must say. Throwing out such a statement not knowing all the details. That’s why I thought you where just trolling. If not, Then I apologize.
Still cant figure out where you got that throwing more software at it come from. Alsa, pipewire/pulse, jack is kinda important software for making sound in linux.
Well, have a nice evening. :slight_smile:

Is it possible to run real JACK server in Pipewire? Have any of you tried to do this? Thx! Skygge.

I don’t know what you mean with “in pipewire”.

You can however run pipewire on top of jackd. In that case jackd uses the hardware and you can run all JACK applications as before. And pipewire is just another JACK client not using hardware directly.

2 Likes