[PD-dev] jack dbus?

Roman Haefeli reduzent at gmail.com
Tue May 28 11:53:55 CEST 2013

On Mon, 2013-05-27 at 22:08 -0700, Jonathan Wilkes wrote:
> Ok, quick restatement of the problem:
> How does one get Pd to just run in GNU/Linux for casual/sporadic use
> cases? Like
> 1 fire up Pd to patch an idea with Firefox/music player/other stuff
> sitting in the background
> 2 audio from online tutorial while patching in Pd with audio
> 3 some dude screwing around in Ubuntu with it, learns enough to get
> interested in fairly low latency to process some guitar sounds,
> possibly live
> Cases 1 and 2 could benefit from having a PulseAudio backend in Pd,
> but case 3 would still be a pain because at the point that the
> guitarist cares about latency he/she is back to screwing around with
> audio settings (either directly through ALSA or with JACK).  (If I'm
> wrong and Pulse can cover use case 3 I'd like to hear about it, but
> from what I've read Pulse is not designed with realtime audio
> processing as a goal.)
> So, I'm curious about this:
> http://trac.jackaudio.org/wiki/JackDbusPackaging
> Specifically the "D-bus only JACK" route.  _If_ it works reliably (and
> of course that's a big if) then it gives the best of both worlds: all
> cases 1,2, and 3 above are covered by the JACK server automatically
> starting and Pulse getting out of the way for it.  Moreover, Pulse
> clients get routed to JACK with what I take are "sane" defaults.  So,
> if you have Pd running through JACK with this setup and then you open
> up a youtube video in Firefox, Pulse will automagically make a
> connection to JACK for it and (I'm guessing) hook it up to the output.

> Any thoughts on this?

I think I'm with IOhannes here. I feel pulseaudio and JACK come with
separate promises. Besides providing quite a lot of solutions to many
problems, pulseaudio's major goal is its ease of use, i.e. you don't
necessarily need to be aware you're using it. JACK is about latency and
connecting audio software and people who use it most likely know why
they are using it. I think you can only optimize latency by manually
trying to find the optimal parameters to JACK. Having too much
"auto-magic" might be detrimental to what people expect it to do.

Personally, I'd appreciate if Pd would support pulseaudio. If Pd covers
many backends, it is easy for package maintainers to package Pd with
default suitable for the specific distro. In my opinion, it would be
sane to let Pd default to pulseaudio in Ubuntu. In pure:dyne JACK would
probably make more sense. 

Actually, using JACK is already quite easy today, even in the pulseaudio
using distros. When I start JACK from qjackctl, pulseaudio is
immediately stopped and frees the device. So I don't see much room for
improvement there.

Routing pulseaudio to JACK is already quite easy, but I wouldn't want it
to happen automatically. Imagine during a performance I'd accidentally
click on a link and Firefox would start to play some Youtube movie on my
x channel setup. Another a smallish issue I experienced with pulse->Jack
is that the volume keys of my laptop only control the master volume of
pulse and thus do not control the actual device anymore.


More information about the Pd-dev mailing list