Re: Trying to understand pipewire jack emulation better

Chris Caudle <[email protected]> Thu, 18 Jun 2026 15:25:45 +0000 (UTC)
Newsgroups gmane.linux.audio.users
Message-ID <[email protected]>
------=_Part_190664_683762784.1781796345250
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

<div fr-original-style=3D"" style=3D"user-select: inherit; scrollbar-color:=
 var(--scrollbar-active-color) #0000; box-sizing: border-box;"><span style=
=3D"font-size: 11pt; font-family: sans-serif, arial; user-select: inherit; =
scrollbar-color: var(--scrollbar-active-color) #0000; box-sizing: border-bo=
x;" fr-original-style=3D"font-size: 11pt; font-family: sans-serif, arial;">=
I apologize, I think I forgot to follow up on these additional questions.</=
span></div><div fr-original-style=3D"" style=3D"user-select: inherit; scrol=
lbar-color: var(--scrollbar-active-color) #0000; box-sizing: border-box;"><=
br fr-original-style=3D"" style=3D"user-select: inherit; scrollbar-color: v=
ar(--scrollbar-active-color) #0000; box-sizing: border-box;"></div><div fr-=
original-style=3D"" style=3D"user-select: inherit; scrollbar-color: var(--s=
crollbar-active-color) #0000; box-sizing: border-box;" fr-original-class=3D=
"fr-inner gmail_quote flockmail-quote flockmail-quote-id-&lt;o3aql5preakao2=
ehn4efpzgdzoqwsmwryyt6b2tzf4qhtdbtfi@zfsu4bfqid7f&gt;"><br fr-original-styl=
e=3D"" style=3D"user-select: inherit; scrollbar-color: var(--scrollbar-acti=
ve-color) #0000; box-sizing: border-box;"><div dir=3D"ltr" fr-original-styl=
e=3D"" style=3D"user-select: inherit; scrollbar-color: var(--scrollbar-acti=
ve-color) #0000; box-sizing: border-box;">On May 27 2026, at 5:30 pm, Peter=
 P. &lt;peterparker-97jfqw80gc5Wk0Htik3J/[email protected]&gt; wrote:</div><blockquote style=3D"margi=
n: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-to=
p: initial; padding-right: initial; padding-bottom: initial; padding-left: =
1ex; color: inherit; user-select: inherit; scrollbar-color: var(--scrollbar=
-active-color) #0000; box-sizing: border-box;" fr-original-style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding:initial;padding-left:1ex;colo=
r:inherit;" fr-original-class=3D"gmail_quote"><div style=3D"display: block;=
 font-size: 14.5px; font-family: -apple-system, BlinkMacSystemFont, Segoe U=
I, Ubuntu, Helvetica, Arial, sans-serif; user-select: inherit; scrollbar-co=
lor: var(--scrollbar-active-color) #0000; box-sizing: border-box;" fr-origi=
nal-style=3D"display:block;font-size:14.5px;font-family:-apple-system, Blin=
kMacSystemFont, Segoe UI, Ubuntu, Helvetica, Arial, sans-serif;" fr-origina=
l-class=3D"quoted-styles"><pre style=3D"display: block; font-family: monosp=
ace; white-space: pre; user-select: inherit; scrollbar-color: var(--scrollb=
ar-active-color) #0000; font-size: inherit; overflow-wrap: break-word; over=
flow: visible; box-sizing: border-box;" fr-original-style=3D"display:block;=
font-family:monospace;white-space:pre;margin:1__qem 0;">Can native jackd st=
arted as described run at the same time as pipewire<br fr-original-style=3D=
"" style=3D"user-select: inherit; scrollbar-color: var(--scrollbar-active-c=
olor) #0000; box-sizing: border-box; font-family: inherit; font-size: inher=
it;">and access the same audio cards?</pre></div></blockquote><div fr-origi=
nal-style=3D"" style=3D"user-select: inherit; scrollbar-color: var(--scroll=
bar-active-color) #0000; box-sizing: border-box;"><span style=3D"font-size:=
 11pt; font-family: sans-serif, arial; user-select: inherit; scrollbar-colo=
r: var(--scrollbar-active-color) #0000; box-sizing: border-box;" fr-origina=
l-style=3D"font-size: 11pt; font-family: sans-serif, arial;">They cannot ac=
cess the same audio cards in the sense of sharing access to the hardware, b=
oth pipewire and jackd request exclusive access to the hardware so that the=
 buffer size and sample rate can be set, and there is just one piece of sof=
tware responsible for buffer management.</span></div><div fr-original-style=
=3D"" style=3D"user-select: inherit; scrollbar-color: var(--scrollbar-activ=
e-color) #0000; box-sizing: border-box;"><br fr-original-style=3D"" style=
=3D"user-select: inherit; scrollbar-color: var(--scrollbar-active-color) #0=
000; box-sizing: border-box;"></div><div fr-original-style=3D"" style=3D"us=
er-select: inherit; scrollbar-color: var(--scrollbar-active-color) #0000; b=
ox-sizing: border-box;"><span style=3D"font-size: 11pt; font-family: sans-s=
erif, arial; user-select: inherit; scrollbar-color: var(--scrollbar-active-=
color) #0000; box-sizing: border-box;" fr-original-style=3D"font-size: 11pt=
; font-family: sans-serif, arial;">What you can do is run jackd as &nbsp;th=
e &nbsp;lowest level audio server, and then have pipewire run as a jack cli=
ent. &nbsp;That is equivalent to the old setup of running jackd and having =
PulseAudio as a jack client, but from what I have read the pipewire server =
is a much better behaved jack client than pulseaudio is or was.</span></div=
><div fr-original-style=3D"" style=3D"user-select: inherit; scrollbar-color=
: var(--scrollbar-active-color) #0000; box-sizing: border-box;"><br fr-orig=
inal-style=3D"" style=3D"user-select: inherit; scrollbar-color: var(--scrol=
lbar-active-color) #0000; box-sizing: border-box;"></div><div fr-original-s=
tyle=3D"" style=3D"user-select: inherit; scrollbar-color: var(--scrollbar-a=
ctive-color) #0000; box-sizing: border-box;"><br fr-original-style=3D"" sty=
le=3D"user-select: inherit; scrollbar-color: var(--scrollbar-active-color) =
#0000; box-sizing: border-box;"></div><blockquote style=3D"margin: 0px 0px =
0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-top: initial;=
 padding-right: initial; padding-bottom: initial; padding-left: 1ex; color:=
 inherit; user-select: inherit; scrollbar-color: var(--scrollbar-active-col=
or) #0000; box-sizing: border-box;" fr-original-style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding:initial;padding-left:1ex;color:inherit;"=
 fr-original-class=3D"gmail_quote"><div style=3D"display: block; font-size:=
 14.5px; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Ubuntu, =
Helvetica, Arial, sans-serif; user-select: inherit; scrollbar-color: var(--=
scrollbar-active-color) #0000; box-sizing: border-box;" fr-original-style=
=3D"display:block;font-size:14.5px;font-family:-apple-system, BlinkMacSyste=
mFont, Segoe UI, Ubuntu, Helvetica, Arial, sans-serif;" fr-original-class=
=3D"quoted-styles"><pre style=3D"display: block; font-family: monospace; wh=
ite-space: pre; user-select: inherit; scrollbar-color: var(--scrollbar-acti=
ve-color) #0000; font-size: inherit; overflow-wrap: break-word; overflow: v=
isible; box-sizing: border-box;" fr-original-style=3D"display:block;font-fa=
mily:monospace;white-space:pre;margin:1__qem 0;">Are you sure that pavucont=
rol is able to change pipewire settings? I am<br fr-original-style=3D"" sty=
le=3D"user-select: inherit; scrollbar-color: var(--scrollbar-active-color) =
#0000; box-sizing: border-box; font-family: inherit; font-size: inherit;">u=
nder the impression that it is a GUI mixer for the PulseAudio server.</pre>=
</div></blockquote><div fr-original-style=3D"" style=3D"user-select: inheri=
t; scrollbar-color: var(--scrollbar-active-color) #0000; box-sizing: border=
-box;"><span style=3D"font-size: 11pt; font-family: sans-serif, arial; user=
-select: inherit; scrollbar-color: var(--scrollbar-active-color) #0000; box=
-sizing: border-box;" fr-original-style=3D"font-size: 11pt; font-family: sa=
ns-serif, arial;">This is the relevant entry still in the pipewire FAQ (<a =
target=3D"_blank" rel=3D"noopener noreferrer" href=3D"https://gitlab.freede=
sktop.org/pipewire/pipewire/-/wikis/FAQ#is-there-a-native-gui-tool-to-confi=
gure-pipewire" id=3D"isPasted" fr-original-style=3D"" style=3D"user-select:=
 auto; scrollbar-color: var(--scrollbar-active-color) #0000; color: rgb(76,=
 140, 246); text-decoration: var(--ant-link-decoration); background: none; =
outline: none; cursor: pointer; transition: color var(--ant-motion-duration=
-slow); box-sizing: border-box;">&nbsp;https://gitlab.freedesktop.org/pipew=
ire/pipewire/-/wikis/FAQ#is-there-a-native-gui-tool-to-configure-pipewire</=
a> ):</span><br fr-original-style=3D"" style=3D"user-select: inherit; scrol=
lbar-color: var(--scrollbar-active-color) #0000; box-sizing: border-box;"><=
span style=3D"font-size: 11pt; font-family: sans-serif, arial; user-select:=
 inherit; scrollbar-color: var(--scrollbar-active-color) #0000; box-sizing:=
 border-box;" fr-original-style=3D"font-size: 11pt; font-family: sans-serif=
, arial;">"To configure Card Profiles, default devices, ports and other set=
tings, we recommend to use pavucontrol. Your desktop might also have settin=
gs pannels to configure aspects of PipeWire (GNOME-Control-Center)."</span>=
</div><div fr-original-style=3D"" style=3D"user-select: inherit; scrollbar-=
color: var(--scrollbar-active-color) #0000; box-sizing: border-box;"><br fr=
-original-style=3D"" style=3D"user-select: inherit; scrollbar-color: var(--=
scrollbar-active-color) #0000; box-sizing: border-box;"></div><div fr-origi=
nal-style=3D"" style=3D"user-select: inherit; scrollbar-color: var(--scroll=
bar-active-color) #0000; box-sizing: border-box;"><br fr-original-style=3D"=
" style=3D"user-select: inherit; scrollbar-color: var(--scrollbar-active-co=
lor) #0000; box-sizing: border-box;"></div><blockquote style=3D"margin: 0px=
 0px 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-top: ini=
tial; padding-right: initial; padding-bottom: initial; padding-left: 1ex; c=
olor: inherit; user-select: inherit; scrollbar-color: var(--scrollbar-activ=
e-color) #0000; box-sizing: border-box;" fr-original-style=3D"margin:0 0 0 =
.8ex;border-left:1px #ccc solid;padding:initial;padding-left:1ex;color:inhe=
rit;" fr-original-class=3D"gmail_quote"><div style=3D"display: block; font-=
size: 14.5px; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Ubu=
ntu, Helvetica, Arial, sans-serif; user-select: inherit; scrollbar-color: v=
ar(--scrollbar-active-color) #0000; box-sizing: border-box;" fr-original-st=
yle=3D"display:block;font-size:14.5px;font-family:-apple-system, BlinkMacSy=
stemFont, Segoe UI, Ubuntu, Helvetica, Arial, sans-serif;" fr-original-clas=
s=3D"quoted-styles"><pre style=3D"display: block; font-family: monospace; w=
hite-space: pre; user-select: inherit; scrollbar-color: var(--scrollbar-act=
ive-color) #0000; font-size: inherit; overflow-wrap: break-word; overflow: =
visible; box-sizing: border-box;" fr-original-style=3D"display:block;font-f=
amily:monospace;white-space:pre;margin:1__qem 0;">Still not sure though if =
"quantum" is about midi or audio latency...</pre></div></blockquote><div fr=
-original-style=3D"" style=3D"user-select: inherit; scrollbar-color: var(--=
scrollbar-active-color) #0000; box-sizing: border-box;"><span style=3D"font=
-size: 11pt; font-family: sans-serif, arial; user-select: inherit; scrollba=
r-color: var(--scrollbar-active-color) #0000; box-sizing: border-box;" fr-o=
riginal-style=3D"font-size: 11pt; font-family: sans-serif, arial;">Hmmm...t=
hat is a good question, although in jackd all data used the same buffer set=
tings, so there was not a distinction between MIDI and audio latency settin=
gs. &nbsp;My first guess would be that if using the JACK API to transfer MI=
DI data then pipewire would behave the same, but if you are not using the J=
ACK API it might have different latency behavior. &nbsp;That is probably de=
ep enough into the internals you would need to ask a pipewire developer to =
get a definitively correct answer.</span></div><div fr-original-style=3D"" =
style=3D"user-select: inherit; scrollbar-color: var(--scrollbar-active-colo=
r) #0000; box-sizing: border-box;"><br fr-original-style=3D"" style=3D"user=
-select: inherit; scrollbar-color: var(--scrollbar-active-color) #0000; box=
-sizing: border-box;"></div><div id=3D"isPasted" fr-original-style=3D"" sty=
le=3D"user-select: inherit; scrollbar-color: var(--scrollbar-active-color) =
#0000; box-sizing: border-box;"><span style=3D"font-size: 11pt; font-family=
: sans-serif, arial; user-select: inherit; scrollbar-color: var(--scrollbar=
-active-color) #0000; box-sizing: border-box;" fr-original-style=3D"font-si=
ze: 11pt; font-family: sans-serif, arial;"><br fr-original-style=3D"" style=
=3D"user-select: inherit; scrollbar-color: var(--scrollbar-active-color) #0=
000; box-sizing: border-box;"></span></div><div data-signature-parent=3D"si=
g-parent" translate=3D"no" fr-original-style=3D"" style=3D"user-select: inh=
erit; scrollbar-color: var(--scrollbar-active-color) #0000; box-sizing: bor=
der-box;"><span style=3D"font-size: 11pt; font-family: sans-serif, arial; u=
ser-select: inherit; scrollbar-color: var(--scrollbar-active-color) #0000; =
box-sizing: border-box;" fr-original-style=3D"font-size: 11pt; font-family:=
 sans-serif, arial;"><signature style=3D"display: table; width: 100%; user-=
select: inherit; scrollbar-color: var(--scrollbar-active-color) #0000; box-=
sizing: border-box;" data-signature-id=3D"local-ee01c1f3-de2c" fr-original-=
style=3D"display:table;width:100%;"><div fr-original-style=3D"" style=3D"us=
er-select: inherit; scrollbar-color: var(--scrollbar-active-color) #0000; b=
ox-sizing: border-box;">-- Chris C</div></signature></span></div></div>
------=_Part_190664_683762784.1781796345250--