Page 1 of 2

Difference between jackd and jackdbus

Posted: Sat Jun 10, 2017 4:53 pm
by Lyberta
I'm using QJackCtl to start and stop JACK. For several years it started a process called jackd and I had no problems with it. But If I forget to start JACK via QJackCtl and start application that requires JACK, it started a process called jackdbus which didn't work at all and I had to kill it and start jackd via QJackCtl. But today I've looked at the task manager and found that QJackCtl starts jackdbus and that process stays in memory even if I stop JACK via QJackCtl.

How are jackd and jackdbus different from each other?

A few months back Rosegarden started complaining about JACK not working correctly but the sound and MIDI worked fine. Now I'm trying to learn MusE and it hangs when trying to add a synth.

Re: Difference between jackd and jackdbus

Posted: Sat Jun 10, 2017 7:01 pm
by Pablo
I find jackdbus very useful for pulseaudio-jack easy integration.
If you dont need It, just disable dbus interface in qjackctl's options

Re: Difference between jackd and jackdbus

Posted: Sat Jun 10, 2017 7:55 pm
by tnovelli
Confusing names. jackd is the original "V1" written in C language, jackdbus "V2" (with a 1.9.xx version number) is a drop-in replacement written from the ground up in C++ (EDIT: I'm wrong, it's something else). They're mostly compatible but not quite 100%. If you do a fresh KXStudio install and start JACK via Cadence, you'll get jackdbus and it'll play nice with newfangled stuff like PulseAudio (that's where dbus support comes into play).

Just start jackd with QJackCtl if that's what works for you.

You might want to look for alternatives to Rosegarden and MusE. As a programmer I can tell you they're way too complex. I don't know much about Rosegarden (it's even older than Linux) but I know the MusE developers abandoned it and moved the score editor into a separate program, MuseScore. If you don't absolutely need a score editor in your DAW, just use a popular DAW like Ardour or Qtractor.

Re: Difference between jackd and jackdbus

Posted: Sun Jun 11, 2017 10:23 am
by Pablo
Thanks for the clarification, falkTX, but I don't think I said anything wrong.

I understand that jackdbus in jack2 is built-in but it is optional at run time. So you may have jack2 installed (as it is nowadays the default in most distros) and make qjackctl start plain jackd.

Re: Difference between jackd and jackdbus

Posted: Sun Jun 11, 2017 1:42 pm
by Lyberta
I have jackd2 installed and when I start JACK via QJackCtl, I see only jackdbus process. There is no jackd now.

Re: Difference between jackd and jackdbus

Posted: Sun Jun 11, 2017 2:49 pm
by tnovelli
heh, thanks @falkTX, this is even more confusing than I thought.

The jackd2 package (in Ubuntu) contains two jack servers, called jackd and jackdbus.
jackd is apparently for backward compatibility.
jackdbus is controllable via dbus (using jack_control, Cadence, QJackCtl, etc)
jackdbus is a jack server, but it's inactive until a dbus message tells it to start. When it's running you can see it using more cpu (run "ps axu | grep jack" or "htop" or whatever). It doesn't start a separate "jackd" process. You can see if it's active by running "jack_control status" or Cadence or QJackCtl.

This "jackdbus" is different from Nedko's "jackdbus" (a modified version of jackd V1). I don't know which came first.

Further reading about the different JACKs: https://github.com/jackaudio/jackaudio. ... ack1_jack2

Re: Difference between jackd and jackdbus

Posted: Sun Jun 11, 2017 3:14 pm
by tnovelli
Lyberta wrote:I have jackd2 installed and when I start JACK via QJackCtl, I see only jackdbus process. There is no jackd now.


Ok. Go to QJackCtl > Setup > Misc tab. Uncheck "JACK DBUS Interface".
Click Ok and start Jack. It should start "jackd" now.

You might still see a "jackdbus" process. It should be inactive. "jack_control status" should report "stopped" (even though jackd is running).
You can stop jackdbus with "killall -9 jackdbus" but it'll restart if anything like QJackCtl or Cadence is sending it dbus messages.
That may or may not be a problem.

Re: Difference between jackd and jackdbus

Posted: Fri Jun 14, 2019 12:28 pm
by Linuxmusician01
I wanted to ask exactly the same question: "What's the difference between jackd and jackdbus". I don't know if necro-bumping is better than starting a double post... Anyway, here goes.

I still do not exactly understand what the difference between jackd and jackdbus is. I thought that jackd starts the jack daemon (hence the name). I don't know what dbus is (I know: very, very bad for a Linux user of 15 years, ha ha). So what jackdbus is I don't know either. I read on KXStudio News on 2019-03-22 that one had better stop jackdbus (???).

On my system I have Jack2 installed. And I have to bridge Jack and PulseAudio so I can listen to a PureData tutorial on Youtube (Chrome uses PulseAudio) while I practice with PureData (which uses Jack). If I'm not mistaken the Jack-Pulse bridge/sink (whatever!) uses jackdbus. So on my computer I have 2 jack processes running: jackd and jackdbus. But why? Is one actually the jack sound server and the other only used as a sink for Pulse?

Can I start the Jack audio server without using jackd (i.e. via jackdbus)? I don't think so... And, oh, jackdbus does not have a man page!

Re: Difference between jackd and jackdbus

Posted: Mon Jun 17, 2019 11:47 am
by Linuxmusician01
Linuxmusician01 wrote:I wanted to ask exactly the same question: "What's the difference between jackd and jackdbus". I don't know if necro-bumping is better than starting a double post... Anyway, here goes.

I still do not exactly understand what the difference between jackd and jackdbus is. I thought that jackd starts the jack daemon (hence the name). I don't know what dbus is (I know: very, very bad for a Linux user of 15 years, ha ha). So what jackdbus is I don't know either. I read on KXStudio News on 2019-03-22 that one had better stop jackdbus (???).

On my system I have Jack2 installed. And I have to bridge Jack and PulseAudio so I can listen to a PureData tutorial on Youtube (Chrome uses PulseAudio) while I practice with PureData (which uses Jack). If I'm not mistaken the Jack-Pulse bridge/sink (whatever!) uses jackdbus. So on my computer I have 2 jack processes running: jackd and jackdbus. But why? Is one actually the jack sound server and the other only used as a sink for Pulse?

Can I start the Jack audio server without using jackd (i.e. via jackdbus)? I don't think so... And, oh, jackdbus does not have a man page!

Bump. Nobody?

Re: Difference between jackd and jackdbus

Posted: Mon Jun 17, 2019 1:35 pm
by merlyn
I suppose to understand it it's helpful to know the difference between a daemon and D-bus.

https://en.m.wikipedia.org/wiki/D-Bus

If you go to the 'Overview' section there is a helpful diagram.

Re: Difference between jackd and jackdbus

Posted: Mon Jun 17, 2019 2:23 pm
by Linuxmusician01
merlyn wrote:I suppose to understand it it's helpful to know the difference between a daemon and D-bus.

https://en.m.wikipedia.org/wiki/D-Bus

If you go to the 'Overview' section there is a helpful diagram.

Thanks for that link. So do I understand correctly that Jacks' daemon is the process and that JackDBus is an "API" (or something) through which Jackd communicates with other processes? And if so, can every process in Linux function with as well as without a D-Bus intermediate?

Re: Difference between jackd and jackdbus

Posted: Mon Jun 17, 2019 2:39 pm
by merlyn
I'm using a tablet, so I'm kind of limited at the moment. falkTX explains it above :
falkTX wrote: both jackd and jackdbus implement a jack server.
one is started via command-line and having it running means the jack server is also running - jackd
the other is a user service that can stop/start the jack server dynamically - jackdbus

jackd != jack server.
jackdbus can be always running because it doesn't imply the jack server is also running.
it's only there to listen for requests on the dbus service.


Note jackd != jack server.

Re: Difference between jackd and jackdbus

Posted: Mon Jun 17, 2019 6:36 pm
by Linuxmusician01
merlyn wrote:I'm using a tablet, so I'm kind of limited at the moment. falkTX explains it above :
falkTX wrote: both jackd and jackdbus implement a jack server.
one is started via command-line and having it running means the jack server is also running - jackd
the other is a user service that can stop/start the jack server dynamically - jackdbus

jackd != jack server.
jackdbus can be always running because it doesn't imply the jack server is also running.
it's only there to listen for requests on the dbus service.


Note jackd != jack server.

Then is there a way to start the Jack server w/ another program than jackd? The man page of jackd says about Jack Server:
jackd is the JACK audio server daemon

Re: Difference between jackd and jackdbus

Posted: Mon Jun 17, 2019 9:30 pm
by merlyn
If jackdbus is running the JACK server can be started with

Code: Select all

jack_control start

Re: Difference between jackd and jackdbus

Posted: Tue Jun 18, 2019 11:59 am
by Linuxmusician01
merlyn wrote:If jackdbus is running the JACK server can be started with

Code: Select all

jack_control start

Wow! Thanks. So indeed, jackd != jack server. Still difficult to exactly understand the difference between jackd and jackdbus. The way I see it now it that their process can run together. Jackd is simply used to start the Jack Server without it being D-Bus aware. But if you want D-Bus (and therefore applications like PulseAudio) to be Jack Server aware then one can use jackdbus.