Pipewire called for testers. Anybody tried it out?

Optimize your system for ultimate performance.

Moderators: MattKingUSA, khz

merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Pipewire called for testers. Anybody tried it out?

Post by merlyn »

studio32 wrote: If PipeWire can fix things, why can't it be fixed in JACK is a fair question.
I don't think the intention of PipeWire is to fix JACK. There's nothing to be fixed in JACK. PipeWire is meant to replace the combination of PulseAudio and JACK. I've posted this more than more once, but when I saw this I felt I understood Linux audio a lot better :

Image

PipeWire would sit in the layer second from the top. Instead of two sound servers there would be one.
studio32

Re: Pipewire called for testers. Anybody tried it out?

Post by studio32 »

Read the paper. There is a pipewire api. Pipewire will likely vanish Pulseaudio and JACK one day, they think.
There is enough to be fixed in JACK. Jack_transport has a major problem with looping for instance.
merlyn
Established Member
Posts: 1392
Joined: Thu Oct 11, 2018 4:13 pm
Has thanked: 168 times
Been thanked: 247 times

Re: Pipewire called for testers. Anybody tried it out?

Post by merlyn »

studio32 wrote:Read the paper.
Read my post :lol:
User avatar
Capoeira
Established Member
Posts: 1321
Joined: Tue May 12, 2009 1:01 pm
Location: Brazil
Has thanked: 3 times
Been thanked: 2 times

Re: Pipewire called for testers. Anybody tried it out?

Post by Capoeira »

User avatar
Capoeira
Established Member
Posts: 1321
Joined: Tue May 12, 2009 1:01 pm
Location: Brazil
Has thanked: 3 times
Been thanked: 2 times

Re: Pipewire called for testers. Anybody tried it out?

Post by Capoeira »

So I finaly found out how to expose Pipewire in a running jack server.
you need your distros pipewire-jack suport (not the dropin) and pulseaudio replacement packages.
the "trick" (actualy a workaround for the incomplete implentation) is to open pavucontrol, enable "jack client" and disable the other cards. you must manualy match the samplerate in pipewire.conf though.

here is a roundtrip meassurement of Pipewire in REW. the ripple in the 3 seconds sweep is due to a little delay in the connection
fewfwe.jpg
fewfwe.jpg (217.55 KiB) Viewed 2806 times
Last edited by Capoeira on Tue Dec 22, 2020 1:16 pm, edited 1 time in total.
User avatar
Capoeira
Established Member
Posts: 1321
Joined: Tue May 12, 2009 1:01 pm
Location: Brazil
Has thanked: 3 times
Been thanked: 2 times

Re: Pipewire called for testers. Anybody tried it out?

Post by Capoeira »

next I ran the REW test through a bypassed jack app, to test the pipewire-jack connection.
as you can see, it is totaly transparent (this is a first, I showed problems with snd-aloop solution before)...again, the little ripple is due to a connection delay
Screenshot_20201222_100525 (1).png
Screenshot_20201222_100525 (1).png (176.55 KiB) Viewed 2806 times
dfdd.jpg
dfdd.jpg (213.23 KiB) Viewed 2806 times
studio32

Re: Pipewire called for testers. Anybody tried it out?

Post by studio32 »

Latency
Latency is nowhere near the latency that jack2 can handle. The reason is that the the alsa driver will send smaller packets to the device (USB) when configured with a smaller period. Because PipeWire uses timer based scheduling, the period is configured as large as possible and latency suffers.
All latencies measured with jack_iodelay and a loopback cable on a U-Phoria UMC404HD usb card. Listed are total roundtrip latencies

PipeWire
4096 186.8ms
1024 47.6ms
512 37.0ms
128 24.5ms
64 19.2ms
32 15.7ms <many xruns>

JACK
4096 184.7ms
1024 56.7ms
512 35.2ms
128 14.2ms
64 8.0ms
32 4.8ms


https://github.com/supercollider/rfcs/p ... -749892498
User avatar
Capoeira
Established Member
Posts: 1321
Joined: Tue May 12, 2009 1:01 pm
Location: Brazil
Has thanked: 3 times
Been thanked: 2 times

Re: Pipewire called for testers. Anybody tried it out?

Post by Capoeira »

studio32 wrote: Wed Dec 23, 2020 10:04 am
Latency
Latency is nowhere near the latency that jack2 can handle. The reason is that the the alsa driver will send smaller packets to the device (USB) when configured with a smaller period. Because PipeWire uses timer based scheduling, the period is configured as large as possible and latency suffers.
All latencies measured with jack_iodelay and a loopback cable on a U-Phoria UMC404HD usb card. Listed are total roundtrip latencies

PipeWire
4096 186.8ms
1024 47.6ms
512 37.0ms
128 24.5ms
64 19.2ms
32 15.7ms <many xruns>

JACK
4096 184.7ms
1024 56.7ms
512 35.2ms
128 14.2ms
64 8.0ms
32 4.8ms


https://github.com/supercollider/rfcs/p ... -749892498
you can always use the Jack server and use Pipewire as a Pulseaudio/Alsa/Pipewire bridge as I described above.
anyways, 19.2ms is good enough unless in a overdubbing situation
folderol
Established Member
Posts: 2069
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Re: Pipewire called for testers. Anybody tried it out?

Post by folderol »

What's the cause of that weird inversion at 1024 frames? Or is it a typo?
Anyway not good enough for me. I usually work at 32 frames with Yoshimi + Rosegarden and no Xruns. I like my latency to be as low as possible - not someone's idea of 'good enough'
The Yoshimi guy {apparently now an 'elderly'}
arifd
Established Member
Posts: 65
Joined: Sun Nov 29, 2020 11:09 am

Re: Pipewire called for testers. Anybody tried it out?

Post by arifd »

Alright, so now there's a webcam involved, I realised going for super low latency is way overkill here.

I want to switch to pipewire, I'm on debian 10. From the looks of this: https://wiki.debian.org/PipeWire it looks like really debian 11 is offering the drop in replacement, and I'm not so sure about debian 10.

If I just `sudo apt remove jack pulseaudio && sudo apt install pipewire` I'll be all good?
User avatar
d.healey
Established Member
Posts: 610
Joined: Fri Sep 22, 2017 8:33 pm
Has thanked: 274 times
Been thanked: 100 times

Re: Pipewire called for testers. Anybody tried it out?

Post by d.healey »

arifd wrote: Thu Feb 25, 2021 12:10 pm If I just `sudo apt remove jack pulseaudio && sudo apt install pipewire` I'll be all good?
I doubt it
David Healey
YouTube - Free HISE scripting and sample library dev tutorials
Libre Wave - Freedom respecting instruments and effects.
User avatar
sunrat
Established Member
Posts: 915
Joined: Wed Jul 22, 2020 2:08 pm
Has thanked: 151 times
Been thanked: 242 times

Re: Pipewire called for testers. Anybody tried it out?

Post by sunrat »

I doubt it too.
Debian Bullseye is still Testing but now in soft freeze so fairly safe to try now. It comes with Pipewire. I did an install guide for Bullseye/KDE in the tips and Tricks section. It's working nicely so far but I haven't delved into using Pipewire on it.
Post Reply