New to pipewire

Still new to all of this? Feel free to post in any of the subforums on this site, but in this subforum newbie questions are especially encouraged!

Moderators: MattKingUSA, khz

kneejo
Established Member
Posts: 7
Joined: Thu Apr 10, 2025 12:32 pm

New to pipewire

Post by kneejo »

Hey all, just recently took the plunge and removed windows 10 in favor of linux mint. I don´t game much anymore and use my desktop pc for audiorecording stuff mainly and of course as a multimedia device. I played around with linux since the year 2000 or so. So I'm not new but things have changed over the years.

I installed pipewire-jack and got my 3 audiodevices recognized. I can connect them with Qpwgraph. I can launch Ardour, which uses Jack to get super low latency. This all works fine for my usage goals.

What I don´t understand is why it defaults to 48khz and I can´t seem to change that in Qjackctl. Also it defaults to a buffer size of 1024. But I can change that buffer to 64, which is ideal for my audio interface. But this setting doesn´t stick. It will go back to a default of 1024 after a while. Also, I can´t see my audio interface in alsamixer, likely due to it being used by jack and pipewire?

Can someone give me a quick rundown of how alsa, jack and pipewire work together and how I should go about changing bitrate and buffers, so that I can have low latency audio across the system, and also adjust the kHZ on the fly, like I could do in windows? In qjackctl all the options are greyed out except for the buffersize. I understand that pipewire changes dynamically depending on what programs need.

My specific use case is to be able to plug my bass guitar in the interface and have it looped back to the interface output, without having to launch ardour, so I can play along with music on my pc with low latency. How to make those setting sticky at least and more configurable preferably.

Or point me to some tutorial that is up to date, please. Thanks.

User avatar
Linuxmusician01
Established Member
Posts: 1741
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland (Europe)
Has thanked: 990 times
Been thanked: 182 times

Re: New to pipewire

Post by Linuxmusician01 »

Is there a reason you want to use PW and JackAudio? PW was meant to "replace" Jack and PulseAudio.

kneejo
Established Member
Posts: 7
Joined: Thu Apr 10, 2025 12:32 pm

Re: New to pipewire

Post by kneejo »

I had installed it like this and it works for the most part. So I don't want to break it. Also, Ardour seems to not see Pipewire for output or input, but it does work perfectly with jack running.

kneejo
Established Member
Posts: 7
Joined: Thu Apr 10, 2025 12:32 pm

Re: New to pipewire

Post by kneejo »

and also, Ardour can work directly with ALSA, but that takes the audio device away from pipewire use. I just want a system where I can route programs to devices. And devices to other devices. And possibly have virtual devices and cables as well. And control my audio devices of course. Like I could do on windows with the Voicemeeter software and windows settings for audiocards.
Basically, I'm new to pirewire. And in the past I didn't have the audio interface I use now. So If you tell me I can do without Jack, I would appreciate some more info on that.

User avatar
Axel-Erfurt
Established Member
Posts: 110
Joined: Tue Dec 05, 2023 6:06 pm
Has thanked: 26 times
Been thanked: 38 times
Contact:

Re: New to pipewire

Post by Axel-Erfurt »

kneejo wrote: Tue Apr 15, 2025 9:34 am

Ardour can work directly with ALSA, but that takes the audio device away from pipewire use.

But that's an Ardour problem, it is not the case in Reaper or LMMS.

I just want a system where I can route programs to devices

You can do it with qpwgraph.

kneejo
Established Member
Posts: 7
Joined: Thu Apr 10, 2025 12:32 pm

Re: New to pipewire

Post by kneejo »

Thanks. I figured as much. I'll keep using it as is until I learn more about it all. Thanks anyway.

User avatar
LAM
Established Member
Posts: 1157
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 156 times
Been thanked: 422 times

Re: New to pipewire

Post by LAM »

Axel-Erfurt wrote: Tue Apr 15, 2025 9:49 am
kneejo wrote: Tue Apr 15, 2025 9:34 am

Ardour can work directly with ALSA, but that takes the audio device away from pipewire use.

But that's an Ardour problem, it is not the case in Reaper or LMMS.

Problem? It requests exclusive control of the device by design (with all the pros and cons), if the other DAWs you mentioned don't request exclusive access and don't fail when requesting ALSA it's likely they are using a virtual ALSA device (with all the pros and many more cons).

If someone wants to use multiple audio applications at the same time and wants be able to route between them, using JACK or PW JACK is recommended.

in mix, nobody can hear your screen

User avatar
LAM
Established Member
Posts: 1157
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 156 times
Been thanked: 422 times

Re: New to pipewire

Post by LAM »

kneejo wrote: Tue Apr 15, 2025 9:31 am

I had installed it like this and it works for the most part. So I don't want to break it. Also, Ardour seems to not see Pipewire for output or input, but it does work perfectly with jack running.

There should be no difference is using real JACK or PW JACK. If while using Ardour you want to be able to route between audio application select the JACK backend in Ardour.

in mix, nobody can hear your screen

User avatar
LAM
Established Member
Posts: 1157
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 156 times
Been thanked: 422 times

Re: New to pipewire

Post by LAM »

kneejo wrote: Mon Apr 14, 2025 5:23 pm

What I don´t understand is why it defaults to 48khz and I can´t seem to change that in Qjackctl. Also it defaults to a buffer size of 1024. But I can change that buffer to 64, which is ideal for my audio interface. But this setting doesn´t stick. It will go back to a default of 1024 after a while. Also, I can´t see my audio interface in alsamixer, likely due to it being used by jack and pipewire?

If you are using PW forget about Qjackctl for setting samplerate, periods, etc. You should use what PW offers: CLI commands and config files. If you want a GUI for these settings there are several of them out there: https://github.com/search?q=pipewire+gu ... positories

in mix, nobody can hear your screen

kneejo
Established Member
Posts: 7
Joined: Thu Apr 10, 2025 12:32 pm

Re: New to pipewire

Post by kneejo »

thank you all. very useful replies. I really helps me to understand this system.

magill
Established Member
Posts: 87
Joined: Wed Apr 05, 2023 9:11 am
Has thanked: 18 times
Been thanked: 54 times
Contact:

Re: New to pipewire

Post by magill »

User avatar
Audiojunkie
Established Member
Posts: 618
Joined: Thu Feb 21, 2019 4:27 pm
Has thanked: 516 times
Been thanked: 266 times

Re: New to pipewire

Post by Audiojunkie »

magill wrote: Tue Apr 15, 2025 5:01 pm

Shameless plug: https://github.com/magillos/Cable

This looks quite nice! It has more features than the basic ones we usually see. I like it! :)

tobiasch
Established Member
Posts: 11
Joined: Mon Oct 23, 2023 8:52 am
Has thanked: 5 times
Been thanked: 4 times

Re: New to pipewire

Post by tobiasch »

Comprehensive Software information collection:
https://github.com/mikeroyal/PipeWire-Guide
Personally i use Raysession with PW-Jack, it allows quantum adjustment as well, and the session management makes life so much easier if your programs are supported..

kneejo
Established Member
Posts: 7
Joined: Thu Apr 10, 2025 12:32 pm

Re: New to pipewire

Post by kneejo »

Apparently I use pw-jack as well. And this is good, because I want to use ardour, which doesn't see pipewire, but it sees pq-jack apparently and thinks it is jack.

I'm learning a bit more every day.
So if I understand it right, I should change pipewire config files to get the desired samplerate and buffer settings? Or should pipewire be dynamic as it seems to be right now? Adapting to whatever program or audio device I feed it?

I can set the buffer to 64 in Ardour settings or in Qjackctl. Either way works for my usage cases.

I am only wondering about the device setting for samplerate and buffer. In windows it came with a program and driver to set those values. But since it is class compliant and people have been reporting it to work in linux, I am confident there is a way to give it settings instructions.

CabalCrow
Established Member
Posts: 37
Joined: Sat Feb 15, 2025 7:30 pm
Has thanked: 14 times
Been thanked: 7 times
Contact:

Re: New to pipewire

Post by CabalCrow »

kneejo wrote: Thu Apr 17, 2025 11:57 am

I am only wondering about the device setting for samplerate and buffer. In windows it came with a program and driver to set those values. But since it is class compliant and people have been reporting it to work in linux, I am confident there is a way to give it settings instructions.

You can setup sample rate via the configuration files for example I have this config file in .config/pipewire/pipewire.conf.d/sameplerate.conf. You can name it whatever you want.

Code: Select all

context.properties = {
    default.clock.rate = 96000
}

As for buffer I use this command line command to temporarely set the quantum (buffer)

Code: Select all

pw-metadata -n settings 0 clock.force-quantum 128

Then to return to the default I set it to 0 instead of 128.

Post Reply