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-<o3aql5preakao2= ehn4efpzgdzoqwsmwryyt6b2tzf4qhtdbtfi@zfsu4bfqid7f>"><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. <peterparker-97jfqw80gc5Wk0Htik3J/[email protected]> 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 th= e lowest level audio server, and then have pipewire run as a jack cli= ent. 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;"> 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. 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. 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--