Discussion:
[LAD] jackd not using jackdrc...
Fokke de Jong
2018-08-02 12:59:20 UTC
Permalink
Hi all,

After migrating to a freshly installed system, it seems jackd has decided not to honor my settings in $HOME/.jackdrc anymore.

I have a (minimal, no deskop) install of ubuntu 17.10 and jackd1

when I startt my jack client it prints:

creating alsa driver ... hw:MADIFXtest|hw:MADIFXtest|1024|2|48000|0|0|nomon|swmeter|-|32bit

but the contents of of ,jackdrc is:
/usr/bin/jackd -p512 -dalsa -r48000 -p64 -n2 -D -Chw:MADIFXtest -Phw:MADIFXtest

So I’m getting a period size of 1024 rather that 64.

copying .jackdrc to /etc/jackdrc also didn’t help.

Any idea why jack is refusing my settings?
This was working fine on my other system which should be more or less identical, but obviously i'm missing something rather crucial here…

thanks!
fokke
Paul Davis
2018-08-02 14:00:01 UTC
Permalink
This post might be inappropriate. Click to display it.
Fokke de Jong
2018-08-02 14:13:57 UTC
Permalink
Hi Paul,

Thanks for your input. That clears one thing up for me.
Since I’m not using qjackctl, only one client that starts jackd, it makes sense that it;’s using default values.
On my previous system it did always seem to use the ‘correct’ settings. So do you have any idea what other place jackd might me getting its settings from? The client is the same..

cheers,
Fokke
Post by Fokke de Jong
Hi all,
After migrating to a freshly installed system, it seems jackd has decided not to honor my settings in $HOME/.jackdrc anymore.
jackd itself never uses jackdrc.
1) a control client (e.g. qjackctl)
2) a normal client that connects to JACK with no server running and the NoStartServer option not set
i.e. it saves the "last used settings" so that they can be re-used in contexts where there are no settings given.
Paul Davis
2018-08-02 14:25:18 UTC
Permalink
Post by Fokke de Jong
Hi Paul,
Thanks for your input. That clears one thing up for me.
Since I’m not using qjackctl, only one client that starts jackd, it makes
sense that it;’s using default values.
On my previous system it did always seem to use the ‘correct’ settings. So
do you have any idea what other place jackd might me getting its settings
from? The client is the same..
jackd itself will never save ~/.jackdrc either. That's done only by control
clients like qjackctl.

jackd has its own hardcoded defaults if none are available.

What is the client that starts jackd?
Fokke de Jong
2018-08-02 14:42:07 UTC
Permalink
The client is of my own making. And it doesn’t provide any settings to jackd, as I don’t really see any options in the api to do that.
But it would of course be much better to setup samplerate, period size, etc from the client.
If could tell me how to set: "/usr/bin/jackd -p512 -dalsa -r48000 -p64 -n2 -D -Chw:MADIFXtest -Phw:MADIFXtest” this programmatically from the client that would also be of great help!

It still remains a mystery to me how to could magically work on my other system..

cheers,
Fokke
Post by Fokke de Jong
Hi Paul,
Thanks for your input. That clears one thing up for me.
Since I’m not using qjackctl, only one client that starts jackd, it makes sense that it;’s using default values.
On my previous system it did always seem to use the ‘correct’ settings. So do you have any idea what other place jackd might me getting its settings from? The client is the same..
jackd itself will never save ~/.jackdrc either. That's done only by control clients like qjackctl.
jackd has its own hardcoded defaults if none are available.
What is the client that starts jackd?
Fokke de Jong
2018-08-02 16:20:59 UTC
Permalink
i have no JACK_RC_FILE set nor is jack already running

...
So, how can I make my client into a ‘normal’ client :-)
What is mean is, i already have the .jackdrc file. I just don’t know how to make jackd use it.
i don't see any way that it cannot be used ... if JACK is not running when you client starts (it is already a "normal" client) then jackd is started *using the contents of jackdrc* if it exists.
so, either JACK is actually already running or you have JACK_RC_FILE set in your environment to point to some other location
Hanspeter Portner
2018-08-02 16:33:13 UTC
Permalink
i have no JACK_RC_FILE set nor is jack already running……...
Does your .jackdrc contain a valid command line ?
e.g. is there maybe a typo in your .jackdrc (and thus fails upon loading)?

Try to execute it manually before looking further.
So, how can I make my client into a ‘normal’ client :-)
What is mean is, i already have the .jackdrc file. I just don’t
know how to make jackd use it.
i don't see any way that it cannot be used ... if JACK is not running
when you client starts (it is already a "normal" client) then jackd is
started *using the contents of jackdrc* if it exists.
so, either JACK is actually already running or you have JACK_RC_FILE
set in your environment to point to some other location
_______________________________________________
Linux-audio-dev mailing list
https://lists.linuxaudio.org/listinfo/linux-audio-dev
Fokke de Jong
2018-08-02 16:49:30 UTC
Permalink
yes, when i run it manually it’s fine/

source ~/.jackdrc

..will start jackd with the correct configuration.
unfortunately, if i than start my client, it will complain the hardware is already in use…
Post by Hanspeter Portner
i have no JACK_RC_FILE set nor is jack already running……...
Does your .jackdrc contain a valid command line ?
e.g. is there maybe a typo in your .jackdrc (and thus fails upon loading)?
Try to execute it manually before looking further.
So, how can I make my client into a ‘normal’ client :-)
What is mean is, i already have the .jackdrc file. I just don’t
know how to make jackd use it.
i don't see any way that it cannot be used ... if JACK is not running
when you client starts (it is already a "normal" client) then jackd is
started *using the contents of jackdrc* if it exists.
so, either JACK is actually already running or you have JACK_RC_FILE
set in your environment to point to some other location
_______________________________________________
Linux-audio-dev mailing list
https://lists.linuxaudio.org/listinfo/linux-audio-dev
_______________________________________________
Linux-audio-dev mailing list
https://lists.linuxaudio.org/listinfo/linux-audio-dev
Neil C Smith
2018-08-02 16:46:24 UTC
Permalink
i have no JACK_RC_FILE set nor is jack already running……...
You got jackdbus on there?

Best wishes,

Neil
--
Neil C Smith
Artist & Technologist
www.neilcsmith.net

Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org
Fokke de Jong
2018-08-02 16:51:00 UTC
Permalink
I don’t believe i have. Thats jack 2 isn;t it?
Post by Neil C Smith
i have no JACK_RC_FILE set nor is jack already running……...
You got jackdbus on there?
Best wishes,
Neil
--
Neil C Smith
Artist & Technologist
www.neilcsmith.net
Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org
Neil C Smith
2018-08-02 16:58:09 UTC
Permalink
Post by Fokke de Jong
I don’t believe i have. Thats jack 2 isn;t it?
Yes, i think so. Seem to be missing some of this thread so wasn't
sure. Just know this does (or used to) pick up settings from
somewhere else and ignore .jackdrc

Best wishes,

Neil
--
Neil C Smith
Artist & Technologist
www.neilcsmith.net

Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org
Fokke de Jong
2018-08-02 17:11:42 UTC
Permalink
yes, I remember specifically having to use jack1 because i’m not running any graphical environment and thus d-bus was missing.

I don’t mind either way, I’m just trying to set up a kind of minimal viable system.

fokke
Post by Neil C Smith
Post by Fokke de Jong
I don’t believe i have. Thats jack 2 isn;t it?
Yes, i think so. Seem to be missing some of this thread so wasn't
sure. Just know this does (or used to) pick up settings from
somewhere else and ignore .jackdrc
Best wishes,
Neil
--
Neil C Smith
Artist & Technologist
www.neilcsmith.net
Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org
Joakim Hernberg
2018-08-02 17:38:20 UTC
Permalink
On Thu, 2 Aug 2018 19:11:42 +0200
Post by Fokke de Jong
yes, I remember specifically having to use jack1 because i’m not
running any graphical environment and thus d-bus was missing.
I don’t mind either way, I’m just trying to set up a kind of minimal viable system.
Why don't you just start jackd from a shellscript? The syntax being
exactly what you have in your .jackdrc.
--
Joakim
Fokke de Jong
2018-08-02 17:45:13 UTC
Permalink
ok did get a little bit further:

i’ve changed my jackdrc to:

/usr/bin/jackd --realtime -p1024 -dalsa -r48000 -p64 -n2 -D -Chw:MADIFXtest -Phw:MADIFXtest

previously I also had a commented out line there, don’t know if it made a difference, but anyway.
Now jackd seems to start with the right config, but i’m getting an error:


connect(2) call to /dev/shm/jack-0/default/jack_0 failed (err=No such file or directory)
jackd 0.125.0rc1
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

no message buffer overruns
JACK compiled with System V SHM support.
loading driver ..
apparent rate = 48000
creating alsa driver ... hw:MADIFXtest|hw:MADIFXtest|64|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 64 frames (1.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit float little-endian
ALSA: use 128 periods for capture
ALSA: final selected sample format for playback: 32bit float little-endian
ALSA: use 128 periods for playback

and then :

**starting device...jack main caught signal 12

looks like its trying to read shared memory but it can’t for some reason?
Any knows why this could happen?

cheers,
Fokke
Post by Neil C Smith
Post by Fokke de Jong
I don’t believe i have. Thats jack 2 isn;t it?
Yes, i think so. Seem to be missing some of this thread so wasn't
sure. Just know this does (or used to) pick up settings from
somewhere else and ignore .jackdrc
Best wishes,
Neil
--
Neil C Smith
Artist & Technologist
www.neilcsmith.net
Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org
Paul Davis
2018-08-02 18:09:27 UTC
Permalink
Post by Fokke de Jong
**starting device...jack main caught signal 12
Signal 12 is SIGUSR2, which is sent internally by JACK when it is started
as a temporary server (which a client-driven startup always does).

So if this is sent, that suggests that the client which started jackd has
disconnected from jackd, and so jackd is shutting down.

ps. no need for --realtime - this is the default
Fokke de Jong
2018-08-02 18:19:05 UTC
Permalink
ok, thanks.

I’m assuming the jackd is disconnecting because of the shared memory isssue?

connect(2) call to /dev/shm/jack-0/default/jack_0 failed (err=No such file or directory)

it looks like /dev/shm/jack_0 is briefly created when the client starts, but not /dev/shm/jack-0/default/jack_0
Post by Fokke de Jong
**starting device...jack main caught signal 12
Signal 12 is SIGUSR2, which is sent internally by JACK when it is started as a temporary server (which a client-driven startup always does).
So if this is sent, that suggests that the client which started jackd has disconnected from jackd, and so jackd is shutting down.
ps. no need for --realtime - this is the default
Fokke de Jong
2018-08-02 19:44:00 UTC
Permalink
Hi all,

after a lot of voodoo, black magic (and some reboots).
Its seems jack is not complaining anymore, and everything is working again!

Thanks everyone for helping!
cheers,
fokke
Post by Fokke de Jong
ok, thanks.
I’m assuming the jackd is disconnecting because of the shared memory isssue?
connect(2) call to /dev/shm/jack-0/default/jack_0 failed (err=No such file or directory)
it looks like /dev/shm/jack_0 is briefly created when the client starts, but not /dev/shm/jack-0/default/jack_0
Post by Fokke de Jong
**starting device...jack main caught signal 12
Signal 12 is SIGUSR2, which is sent internally by JACK when it is started as a temporary server (which a client-driven startup always does).
So if this is sent, that suggests that the client which started jackd has disconnected from jackd, and so jackd is shutting down.
ps. no need for --realtime - this is the default
Joel Roth
2018-08-02 22:01:40 UTC
Permalink
Post by Fokke de Jong
Hi all,
after a lot of voodoo, black magic (and some reboots).
Its seems jack is not complaining anymore, and everything is working again!
I'm glad you got jackd going. Even a sentence explaining the solution
you found is a nice way to give back to the community that
assists you. In general, as you learn more about linux,
you will find that you rarely have to reboot your
system when making changes. I believe it's now
possible to install a new kernel on a running system.
Installing/removing drivers (e.g. kernel modules) is also
something possible without rebooting.

Unlike, for example windows, that has to reboot after every
patchset when reinstalling from instal media.

I do find that X or X apps can hang from time to time, so
setting up X to terminate on Ctrl-Alt-Backspace so you can
restart X is quite helpful. I use a terminal multiplexer,
which comes back with all my terminals, so that part is
pretty convenient.
Post by Fokke de Jong
Thanks everyone for helping!
Good luck with JACK. I think most users find problems are
rare once you get it set up properly due to the
well-though-out design excellent work by the maintainers.
Post by Fokke de Jong
cheers,
fokke
--
Joel Roth
Fokke de Jong
2018-08-03 07:49:15 UTC
Permalink
Hi Joel,

I’m afraid I’m still not entirely sure what made it work in the end, which does kind of worry me in case i run into this again.
To recap: my system is ubuntu 17.10 minimal, clean install.
the only extra packages I installed are sshd, alsa, and jackd1. (if i remember correcly, not sitting behind my linix machine right now).

And a realtime kernel 4.13.x I believe. Not much more.
The last problem i had was this error:

connect(2) call to /dev/shm/jack-0/default/jack_0 failed (err=No such file or directory)

google told me someone with the same problem solved it by installing either libjack-jackd2-dev or libjack-dev.
in installed libjack-dev, but it didn’t help so i removed it again.

A few reboots later i did not get the error anymore.
So i’m still kind of puzzled why it is working now, or even why i got the error in the first place..

cheers,
Fokke
Post by Joel Roth
Post by Fokke de Jong
Hi all,
after a lot of voodoo, black magic (and some reboots).
Its seems jack is not complaining anymore, and everything is working again!
I'm glad you got jackd going. Even a sentence explaining the solution
you found is a nice way to give back to the community that
assists you. In general, as you learn more about linux,
you will find that you rarely have to reboot your
system when making changes. I believe it's now
possible to install a new kernel on a running system.
Installing/removing drivers (e.g. kernel modules) is also
something possible without rebooting.
Unlike, for example windows, that has to reboot after every
patchset when reinstalling from instal media.
I do find that X or X apps can hang from time to time, so
setting up X to terminate on Ctrl-Alt-Backspace so you can
restart X is quite helpful. I use a terminal multiplexer,
which comes back with all my terminals, so that part is
pretty convenient.
Post by Fokke de Jong
Thanks everyone for helping!
Good luck with JACK. I think most users find problems are
rare once you get it set up properly due to the
well-though-out design excellent work by the maintainers.
Post by Fokke de Jong
cheers,
fokke
--
Joel Roth
_______________________________________________
Linux-audio-dev mailing list
https://lists.linuxaudio.org/listinfo/linux-audio-dev
Ralf Mardorf
2018-08-03 08:46:02 UTC
Permalink
Post by Fokke de Jong
google told me someone with the same problem solved it by installing
either libjack-jackd2-dev or libjack-dev. in installed libjack-dev,
but it didn’t help so i removed it again.
The '/usr/lib/x86_64-linux-gnu/libjack*so' symlinks
against '/usr/lib/x86_64-linux-gnu/libjack*so*', as well as the header
files provided by
https://packages.ubuntu.com/artful/amd64/libjack-jackd2-dev/filelist
(jack2) are required to build apps, they are not required at runtime.

The additional *.a files provided by
https://packages.ubuntu.com/artful/amd64/libjack-dev/filelist (jack1)
are also not required at runtime.

Without the 'dev'elopment packages you can't build apps that should use
jack. Once you build such apps, you could remove those packages.

That Debian and Ubuntu split jack packages
https://tracker.debian.org/pkg/jackd2
https://tracker.debian.org/pkg/jack-audio-connection-kit
and that to workaround the jack1/jack2 'issue' the virtual 'jack'
package is required, not necessarily could be considered a
'user-friendly' policy and package management. Arch Linux has got a
different policy and another package management. Even a clueless Arch
Linux user could _not_ come in the position to wonder, if a jack
package might be missing, since jack1, as well as jack2 are each
provided by a single package and no virtual package is required either.

IIRC in the past there indeed were symlink issues, since the
Debian and/or Ubuntu maintainers didn't split the packages correctly.
Ralf Mardorf
2018-08-03 08:56:20 UTC
Permalink
Even a clueless Arch Linux user could _not_ come in the position to
wonder, if a jack package might be missing, since jack1, as well as
jack2 are each provided by a single package and no virtual package is
required either.
There's one exception were an Arch jack package is split. Jack2 is
split to jack2 and jack2-dbus.
IIRC in the past there indeed were symlink issues, since the
Debian and/or Ubuntu maintainers didn't split the packages correctly
...or at least they didn't link correctly.

Hermann Meyer
2018-08-02 16:40:08 UTC
Permalink
Post by Fokke de Jong
Hi all,
After migrating to a freshly installed system, it seems jackd has decided not to honor my settings in $HOME/.jackdrc anymore.
I have a (minimal, no deskop) install of ubuntu 17.10 and jackd1
creating alsa driver ... hw:MADIFXtest|hw:MADIFXtest|1024|2|48000|0|0|nomon|swmeter|-|32bit
/usr/bin/jackd -p512 -dalsa -r48000 -p64 -n2 -D -Chw:MADIFXtest -Phw:MADIFXtest
So I’m getting a period size of 1024 rather that 64.
copying .jackdrc to /etc/jackdrc also didn’t help.
Any idea why jack is refusing my settings?
This was working fine on my other system which should be more or less identical, but obviously i'm missing something rather crucial here…
thanks!
fokke
Any chance that you run your system as root?
Fokke de Jong
2018-08-02 16:47:45 UTC
Permalink
normally yes, I run it as root, but also when running it as a normal user WITH the .jackdrc file in my home dir it’s not used.
Post by Hermann Meyer
Post by Fokke de Jong
Hi all,
After migrating to a freshly installed system, it seems jackd has decided not to honor my settings in $HOME/.jackdrc anymore.
I have a (minimal, no deskop) install of ubuntu 17.10 and jackd1
creating alsa driver ... hw:MADIFXtest|hw:MADIFXtest|1024|2|48000|0|0|nomon|swmeter|-|32bit
/usr/bin/jackd -p512 -dalsa -r48000 -p64 -n2 -D -Chw:MADIFXtest -Phw:MADIFXtest
So I’m getting a period size of 1024 rather that 64.
copying .jackdrc to /etc/jackdrc also didn’t help.
Any idea why jack is refusing my settings?
This was working fine on my other system which should be more or less identical, but obviously i'm missing something rather crucial here…
thanks!
fokke
Any chance that you run your system as root?
Loading...