Menu

#145 Pulse audio do not back if JACK is started by Qtractor

0.7.8
closed
nobody
None
2016-05-24
2014-12-20
No

My system is an Ubuntu 64.
If if start jack using Qjackctl, everything woks normally after stop it.
If jack is started by Qtractor, the audio from the system doesn't work until I restart the system.

Discussion

  • Rui Nuno Capela

    Rui Nuno Capela - 2014-12-21
    • status: open --> pending
     
  • Rui Nuno Capela

    Rui Nuno Capela - 2014-12-21

    the issue might not be quite about qtractor (or qjackctl per se) but more of pulseaudio and jackd co-existence and interaction, a matter that is the culprit for both for many years now...

    maybe it's all about proper pulseaudio configuration, like, for instance, having this ~.pulse/client.conf with the "autospawn = yes" clause set.

    maybe you have setup qjackctl in such a way that it restores pulseaudio daemon explicitly on jackd server shoutdown, something that isn't the scope of the jackd autostart feature as implied through qtractor or any other jack client application for that matter (cf. file ~/.jackdrc).

    as ever once and gain, ymmv. of course :)

    hth.
    cheers

     

    Last edit: Rui Nuno Capela 2014-12-21
  • Daniel Moura

    Daniel Moura - 2014-12-25

    It don't seems to be a pulse or jack configuration problem, once jack starting/stopping from qjackctl works fine. I'm trying to understand what happens differently between qtractor and qjackctl and doing some tests.
    What I found until now was that jack says "jacktemporaryexception : now quits..." (using --enable-debug in Qtractor) after jack_client_close() (only if jack was started by Qtraction). Another difference is that, in Qjackctl, all calls to jack_client_open uses the flag JackNoStartServer.

     
  • Daniel Moura

    Daniel Moura - 2014-12-25

    Another difference: qjackctl uses DBus to do notifications like setDBusDriverParameter("device", "hw:0"). pulseaudio has a module called "module-jackdbus-detect".

     
  • Rui Nuno Capela

    Rui Nuno Capela - 2014-12-26

    well, if you're using jackdbus instead of plain and straight jackd then i can't help you much

    i have no expertise on jackdbus vs.pulseaudio interaction whatsoever. in fact i never run jackdbus: although the d-bus interface is disabled on qjackctl/setup/misc, i stick with jack1 ftw.

    it maybe now clear that your issues are now all about jackdbus and pulseaudio and the obscure jackdbus auto-start implementation that is triggered when the jack-server is not started and you launch eg. qtractor. iow. i don't have a clue how jackdbus handles it differently.

    on my watch, i can only suggest you to try NOT using jackdbus and see if things get a little different; and then to let it be qjackctl to get auto-started transparentelly, try setting it as the exequible in ~/.jackdrc configuration file; try this once, from the console/terminal command line:

    echo "`which qjackctl` --start" > ~/.jackdrc
    chmod a-w ~/.jackdrc
    

    then, on qjackctl/setup/misc, disable both "d-bus interface" and "save jack configuration" and restart.

    also read http://jackaudio.org/faq/pulseaudio_and_jack.html . make sure you're aware of all the options there suggested.

    hth.
    cheers

     
  • Daniel Moura

    Daniel Moura - 2014-12-26

    My intention here is not to solve an issue on my system. It doesn't matter. I want to solve the bug to help to grow up the Qtractor quality for new users.
    Don't worry: I'll find out what is happening. ;-)

    PS: disabling DBus on Qjackctl has no effect: everything goes right with Qjackctl.

     
    • Rui Nuno Capela

      Rui Nuno Capela - 2014-12-26

      your intentions are good. don't get me misunderstood.

      however, as said and implied before, this is NOT a qtractor issue but a manifestation of an old one of pulseaudio's against jack and vice-versa.

      the point is, as far as i can tell, about the temporary jack server that gets auto-started upon a client, any client, not just qtractor, that issues the call to jack_client_open() and the jack-server is not currently running.

      the culprit is, when this so called temporary jack-server closes down, often because its initiatior also closed and there's no other jack-client around, that it DOES NOT re-spawn pulseaudio on its way down, something that probably jackdbus or qjackctl does automatically or instructed to do so on jack-server shutdown.

      if qjackctl happens to launch the jackd server via eg. pasuspender, which is something that once ago iirc. was seen on ubuntu's, then it's then obvious why pulseaudio goes back in business after jackd stops owning the sound card device.

      all that to say there's nothing to be done at the qtractor level or side of things--it's ALL in the way the jackd and pulseaudio eco-system is prepared or configured--and there's a way lotta ways you can have both right and wrong, as to co-exist and work together or even not at all ;)

      again, ymmv.
      cheers

       

      Last edit: Rui Nuno Capela 2014-12-26
  • Daniel Moura

    Daniel Moura - 2014-12-28

    It was an interesting discussion and turns a source of information for future questions.

     
  • Rui Nuno Capela

    Rui Nuno Capela - 2015-02-01
    • status: pending --> closed
     

Log in to post a comment.