[LAU] jack and PulseAudio

Ng Oon-Ee ngoonee at gmail.com
Tue May 11 09:30:03 UTC 2010


On Tue, May 11, 2010 at 4:34 PM, Luka Princic // Nova deViator
<nova at deviator.si> wrote:
> Ng Oon-Ee <ngoonee at gmail.com>:
>
>> > >> Replace JACK entirely with Pulse, become the only audio server
>> > >> game in town? ;-)
>> > >
>> > > Yeah, world domination is ALWAYS on the agenda I'm sure. Which is
>> > > why Pulseaudio automatically suspends its control of a sound card
>> > > with jack2 requests control =)
>> >
>> > Maybe in some version of PulseAudio you have. The one I used to
>> > have here did not. So I removed it. Simpler that way. I guess I
>> > still consider PulseAudio unnecessary for any purpose.
>> >
>> For reference (not specifically directed to you), more recent versions
>> of Pulse (not sure exactly which) and jack2 (jackdmp) cooperate in
>> that form. Recent distributions should have it sorted, unless they're
>> using jack1.
>
> AFAIK, suspending PA works with qjackctl, not directly with
> jackd. just by running qjackctl, PA suspends. if you run it from the
> terminal, you'll see "Suspending PulseAudio". this means PA is
> suspended even if jack is not running - only qjackctl. this also means,
> jack CAN run while PA is running. i do this frequenlty as i start jack
> from the command line using firewire audio interface.
>
> jackd -v -R -t1000 -dfirewire -r44100 -p128 -n3
>
> so i can do pro-audio through fw and still have flash movies playing in
> firefox. and hearing them.
>
> it is also simple to suspend PA on the command line, something like:
> pasuspender -- jackd -R -t1000 -d alsa -r44100 -p512 -n3
>

There's a few mechanisms at work here. One is qjackctl basically
calling pmsuspender when it starts. In my mind, a quick hack which
works, but doesn't take into account slightly more complex systems
(like the fact that I may not want PA on my internal sound card to
suspend when running JACK on my external sound card).

The one which I was referring to is how jack2 (jackdmp in some
circles) communicates with PA via dbus and requests control of a sound
card. So, for example, if PA is currently running on my external sound
card and jack2 starts up, PA will just cork itself (pause) on THAT
sound card and give up control to jack2, which will then return that
control when it stops.


More information about the Linux-audio-user mailing list