On a Linux 4.2 system with realtime scheduling controlled by cgroups, what is
the current recommended strategy to get jackd working as a non-root user?
There was an old wiki page,
https://github.com/jackaudio/jackaudio.github.com/wiki/Cgroups
describing some built-in support (e.g. --with-default-cgroup configuration
switch). But none of this is in the current git HEAD. (I am using jack2
1.9.11.)
And a somewhat related question: Is there currently support for running
jack as root and allowing client programs with multiple UIDs to connect? I
tried following an old recipe using JACK_PROMISCUOUS_SERVER, but it didn't
seem to make any difference; running jackd as root, only root can connect.
Regards,
Mark
On Sun, Aug 23, 2015 at 03:49:26PM +0000, Fons Adriaensen wrote:
> I also completely replaced the code in Jack1 that
> calculates the proper running order of clients.
> The previous algorithm failed to do this in some
> cases. It could not be 'fixed' easily as it was
> basically using the wrong algorithm.
>
> Affected files are
>
> modified: include/engine.h
> modified: include/internal.h
> modified: jackd/clientengine.c
> modified: jackd/clientengine.h
> modified: jackd/engine.c
>
> There seems to be no interest from the Jack devs,
> but if anybody wants to test this I can either
> provide the modified files or a patch against
> git commit 5af5815c47630b77cc71c91a460f8aa398017cf7
> (current HEAD).
Not that I consider myself a jack-dev anymore, but how about you just
share out your patch on jack-devel or as a pull-request on github?
My impression is that somebody is just going to merge it. ;)
Cheers
--
mail: adi(a)thur.de http://adi.thur.de PGP/GPG: key via keyserver
Hi!
This just caught my attention. I didn't look into it, yet, but maybe
somebody has some cycles to investigate.
Cheers
-------- Forwarded Message --------
Subject: Bug#786737: jackd1: crashes with -n option specified
Resent-Date: Mon, 25 May 2015 02:57:01 +0000
Resent-From: Frank Heckenbach <f.heckenbach(a)fh-soft.de>
Resent-To: debian-bugs-dist(a)lists.debian.org
Resent-CC: Debian Multimedia Maintainers
<pkg-multimedia-maintainers(a)lists.alioth.debian.org>
Date: Mon, 25 May 2015 04:53:18 +0200
From: Frank Heckenbach <f.heckenbach(a)fh-soft.de>
Reply-To: Frank Heckenbach <f.heckenbach(a)fh-soft.de>, 786737(a)bugs.debian.org
To: submit(a)bugs.debian.org
Package: jackd1
Version: 1:0.124.1+20140122git5013bed0-3
Severity: normal
Tags: upstream patch
When the "-n" option is given, jackd crashes when accessing
properties (which it seems to do implicitly for any client, e.g.
jack_lsp).
To reproduce:
jackd -nfoo -dalsa
or
JACK_DEFAULT_SERVER=bar jackd -nfoo -dalsa
While jackd is running, repeat this:
JACK_DEFAULT_SERVER=foo jack_lsp
After a few tries, jackd crashes:
/dev/shm/jack-0/default/__db.001: No such file or directory
cannot open DB environment: No such file or directory
Segmentation fault
I found several problems in the code:
- jack_property_init():
Returns early if db_env != NULL. However, on failure later returns
with db_env != NULL, but db == NULL. Callers assume db != NULL
after it returns.
Patch below. This fixes at least the segfault, but the error
message remains (and whatever consequences it may have, I don't
know).
- 7 places in metadata.c:
if (jack_property_init (NULL)) {
If NULL is passed for server_name, of course it won't use the
actual server name.
How is this supposed to work at all? Was it ever tested?
A fix should consist of passing the actual server name from the
callers.
--- libjack/metadata.c
+++ libjack/metadata.c
@@ -45,11 +45,11 @@
/* idempotent */
- if (db_env) {
+ if (db) {
return 0;
}
- if ((ret = db_env_create(&db_env, 0)) != 0) {
+ if (!db_env && (ret = db_env_create(&db_env, 0)) != 0) {
jack_error ("cannot initialize DB environment: %s\n",
db_strerror(ret));
return -1;
}
_______________________________________________
pkg-multimedia-maintainers mailing list
pkg-multimedia-maintainers(a)lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-main…
On 08/19/2015 10:15 AM, Matt Flax wrote:
> Good news,
>
> It turns out these problems were because shm was on a very space
> restricted device ... I moved shm to the tmp directory and it is now
> functioning as it should.
>
> jack1 on MIPS arch. is tested working.
> I ran jackd 1 using 2ms latency, no xruns. That is with a 48kHz sample
> rate.
>
> I played from my desktop using netjack one and I have seen the I2S data
> flowing out ... nice first test. When I get an audio codec connected I
> will do a listening test.
>
> Matt
Awesome! What kind of board are you using by the way?
Jeremy
Hi Jack people,
I am doing a lot of testing of various types of Windows audio software
at the moment. ReWire is good but Jack would make a nice alternative. I
tested in Windows Vista and got Jack Audio running, but it crashed a few
times and I got very crackly audio. After moving to my Windows 7 64bit
dual boot installation (I eventually discovered the custom/hacked PAX
drivers for my X-Fi card to replace buggy Creative drivers) I found Jack
more stable but still get this crackling in the audio - this is not
present in any other audio from my system, MME, ASIO, games, ReWire,
etc.
So how do I get involved with the Windows version ? I can put in bug
reports and do testing. I have been known to fire up windows compilers
(after eating the right kind of mushrooms, ya know how it is) but I'm
not an experienced coder. Frankly I wonder what is causing the crackling
because the rest of Jack in Windows seems to be working and stable.
DJ Barney
--
~~~
http://djbarney.org
Hi there,
I am wanting to run jackd on low resourced/power embedded systems
(running Linux).
When I run jackd on these systems it tries to lock down way to much
memory ... much more then is available.
Is the amount of memory locked down by jackd configurable ? Or is it an
operating system set thing ?
Does anyone have any constructive ideas or suggestions for running jackd
on these low resource embedded systems ?
thanks
Matt
Hi all,
as in through the hottest of summers--as southerners can't even
wait--here comes part one:
QjackCtl 0.4.0 (summer'15) is out!
though aside that everybody knows this already,
QjackCtl is a (maybe not so any more but) simple Qt [3] application
to control the JACK [2] sound server, for the Linux Audio infrastructure.
website:
http://qjackctl.sourceforge.net
downloads:
http://sourceforge.net/projects/qjackctl/files
- source tarball:
http://download.sourceforge.net/qjackctl/qjackctl-0.4.0.tar.gz
- source package:
http://download.sourceforge.net/qjackctl/qjackctl-0.4.0-23.rncbc.suse132.sr…
- binary packages:
http://download.sourceforge.net/qjackctl/qjackctl-0.4.0-23.rncbc.suse132.i5…http://download.sourceforge.net/qjackctl/qjackctl-0.4.0-23.rncbc.suse132.x8…
Change-log:
- Some windows fixes added (patch by Kjetil Matheussen, thanks).
- Most advanced Setup/Settings are moved into new Setup/Advanced
settings tab; limit range for the real-time priority setting, now having
6 as absolute minimum valid value (after patches by Robin Gareus, thanks).
- A new top-level widget window geometry state save and restore
sub-routine is now in effect (EXPERIMENTAL)
- Delayed geometry setup for widget windows upon startup has been
deprecated and scrapped altogether.
- Setup/settings dialog tab is going into some layout changes; also got
rid of old patchbay auto-refresh timer cruft, which was previously
hidden/disabled.
- New socket names are now automatically inferred from selected client
names while on the Patchbay widget, Socket dialog.
- Fixed for some strict tests for Qt4 vs. Qt5 configure builds.
- German (de) translation update (by Guido Scholz, thanks).
License:
QjackCtl stands free, still open-source software, distributed under
the terms of the GNU General Public License (GPL [4]) version 2 or later.
Weblog (upstream support):
http://www.rncbc.org
See also:
http://www.rncbc.org/drupal/node/912
References:
[1] QjackCtl - A JACK Audio Connection Kit Qt GUI Interface
http://qjackctl.sourceforge.net
[2] JACK Audio Connection Kit
http://jackaudio.org
[3] Qt framework, C++ class library and tools for
cross-platform application and UI development
http://qt.io/
[4] GPL - GNU General Public License
http://www.gnu.org/copyleft/gpl.html
Enjoy && have a whole hot'ta Summer'15 fun!
--
rncbc aka. Rui Nuno Capela
--
rncbc aka. Rui Nuno Capela
I send a patch once on this list and this is a "patched" version.
I keep this, because it was very helpfull while testing and improve other apps ( like hydrogen , fsthost ), especially tempo change issues. Not perfect but better than "official", especially in low tempos ( like 30 BPM ).
.. so yes you are inconvincible ;-)
P.
Dnia Czwartek, 2 Lipca 2015 20:17 Paul Davis <paul(a)linuxaudiosystems.com> napisał(a)
> Was this the stuff you tried (unsuccessfully) to convince me need to
> go into the tools repo?
>
> On Thu, Jul 2, 2015 at 1:12 PM, Pawel <xj(a)wp.pl> wrote:
> > Hi,
> >
> > Tobias, you can check my slightly improved version of jack_transport:
> > https://sourceforge.net/p/nxjsm/code/HEAD/tree/trunk/tools/transport.c
> >
> > I'm also the author of new Hydrogen jack-master code. It's works much better , but probably not perfect ;-)
> >
> > P.
> >
> > Dnia Czwartek, 2 Lipca 2015 18:57 Paul Davis <paul(a)linuxaudiosystems.com> napisał(a)
> >> Frankly, computing BBT time has never been part of "how to use the
> >> JACK API". It should probably never have been included in the source
> >> code in the first place.
> >>
> >> Managing BBT time is *extremely* complex - we have worked on it for
> >> years in Ardour and it still has issues. I'd prefer to just rip it
> >> out.
> >>
> >> On Thu, Jul 2, 2015 at 12:47 PM, Tobias Hoffmann
> >> <lfile-list(a)thax.hardliners.org> wrote:
> >> > On 02/07/15 17:30, Tobias Hoffmann wrote:
> >> >>
> >> >> On 02/07/15 15:38, Paul Davis wrote:
> >> >>>
> >> >>> jack_transport is not intended to act as a the time master.
> >> >>
> >> >> Well, comparing example-clients/transport_client.c and tools/transport.c,
> >> >> I'd say the one big difference between the two is that tools/transport.c
> >> >> (aka jack_transport) can act as a *simple* timebase master...
> >> >
> >> >
> >> > Ok, I see now that the BBT update algorithm (in the "else" branch in
> >> > timebase()) in transport.c is quite broken, because it accumulates rounding
> >> > errors. However always using the first, recalculating branch (basically: if
> >> > (true)) seems to be stable -- or at least: better than Hydrogen's timebase
> >> > master, which updates the BBT only every few cycles... (I've read that
> >> > somewhere a completely rewritten Jack Master implementation for Hydrogen is
> >> > available, which I have not tested yet).
> >> >
> >> > I find it quite sad that even some code distributed in the jack tarball is
> >> > an example of how NOT to use the Jack API ...
> >> >
> >> > Tobias
> >> >
> >> >
> >> >
> >> >
> >> >
> >> _______________________________________________
> >> Jack-Devel mailing list
> >> Jack-Devel(a)lists.jackaudio.org
> >> http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
> >
> >
> >
> > _______________________________________________
> > Jack-Devel mailing list
> > Jack-Devel(a)lists.jackaudio.org
> > http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org