Difference between jackd and jackdbus
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 681
- Joined: Sat Nov 01, 2014 8:15 pm
- Location: The Internet
- Been thanked: 1 time
Difference between jackd and jackdbus
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.
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.
- Attachments
-
- Untitled.png (14.83 KiB) Viewed 8662 times
Re: Difference between jackd and jackdbus
I find jackdbus very useful for pulseaudio-jack easy integration.
If you dont need It, just disable dbus interface in qjackctl's options
If you dont need It, just disable dbus interface in qjackctl's options
Re: Difference between jackd and jackdbus
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.
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.
Last edited by tnovelli on Sun Jun 11, 2017 1:25 pm, edited 1 time in total.
Re: Difference between jackd and jackdbus
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.
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.
-
- Established Member
- Posts: 681
- Joined: Sat Nov 01, 2014 8:15 pm
- Location: The Internet
- Been thanked: 1 time
Re: Difference between jackd and jackdbus
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
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
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
Ok. Go to QJackCtl > Setup > Misc tab. Uncheck "JACK DBUS Interface".Lyberta wrote:I have jackd2 installed and when I start JACK via QJackCtl, I see only jackdbus process. There is no jackd now.
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.
- Linuxmusician01
- Established Member
- Posts: 1632
- Joined: Mon Feb 23, 2015 2:38 pm
- Location: Holland (Europe)
- Has thanked: 853 times
- Been thanked: 161 times
Re: Difference between jackd and jackdbus
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!
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!
- Linuxmusician01
- Established Member
- Posts: 1632
- Joined: Mon Feb 23, 2015 2:38 pm
- Location: Holland (Europe)
- Has thanked: 853 times
- Been thanked: 161 times
Re: Difference between jackd and jackdbus
Bump. Nobody?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!
-
- Established Member
- Posts: 1436
- Joined: Thu Oct 11, 2018 4:13 pm
- Has thanked: 176 times
- Been thanked: 262 times
Re: Difference between jackd and jackdbus
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.
https://en.m.wikipedia.org/wiki/D-Bus
If you go to the 'Overview' section there is a helpful diagram.
- Linuxmusician01
- Established Member
- Posts: 1632
- Joined: Mon Feb 23, 2015 2:38 pm
- Location: Holland (Europe)
- Has thanked: 853 times
- Been thanked: 161 times
Re: Difference between jackd and jackdbus
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?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.
-
- Established Member
- Posts: 1436
- Joined: Thu Oct 11, 2018 4:13 pm
- Has thanked: 176 times
- Been thanked: 262 times
Re: Difference between jackd and jackdbus
I'm using a tablet, so I'm kind of limited at the moment. falkTX explains it above :
Note jackd != jack server.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.
- Linuxmusician01
- Established Member
- Posts: 1632
- Joined: Mon Feb 23, 2015 2:38 pm
- Location: Holland (Europe)
- Has thanked: 853 times
- Been thanked: 161 times
Re: Difference between jackd and jackdbus
Then is there a way to start the Jack server w/ another program than jackd? The man page of jackd says about Jack Server:merlyn wrote:I'm using a tablet, so I'm kind of limited at the moment. falkTX explains it above :Note jackd != jack server.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.
jackd is the JACK audio server daemon
-
- Established Member
- Posts: 1436
- Joined: Thu Oct 11, 2018 4:13 pm
- Has thanked: 176 times
- Been thanked: 262 times
Re: Difference between jackd and jackdbus
If jackdbus is running the JACK server can be started with
Code: Select all
jack_control start
- Linuxmusician01
- Established Member
- Posts: 1632
- Joined: Mon Feb 23, 2015 2:38 pm
- Location: Holland (Europe)
- Has thanked: 853 times
- Been thanked: 161 times
Re: Difference between jackd and jackdbus
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.merlyn wrote:If jackdbus is running the JACK server can be started withCode: Select all
jack_control start