<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 23, 2021 at 5:41 PM Chris Caudle <<a href="mailto:6807.chris@pop.powweb.com" target="_blank">6807.chris@pop.powweb.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2021-04-23 16:57, robertlazarski wrote:<br>
> I am stuck on this part. jltcdump won't connect after starting jackd <br>
> from qjackctl.<br>
> <br>
> [linux-fesf(robert)]<br>
> /home/robert> sudo /usr/local/bin/jltcdump<br>
<br>
Seeing "sudo" is a big red flag.  Why are you using sudo to start <br>
jltcdump?  Do you start all of your audio applications using sudo?  By <br>
using sudo to start jltcdump you are running it as root, but if you did <br>
not start qjackctl using sudo then jackd and jltcdump will be running <br>
under different user accounts and cannot access each other.<br>
<br>
More to the point, it is recommended to never run jackd or jack <br>
applications as root.  Usually when someone is using sudo to start audio <br>
applications it indicates that the security configuration of their <br>
machine is incorrect and not allowing users to run applications with <br>
realtime permissions.<br>
You should have a directory /etc/security/limits.d/ with files for <br>
various settings.  Depending on your distribution the settings may be in <br>
/etc/security/limits.conf or in separate files in /etc/security/limits.d <br>
or a mix of some settings in limits.conf and some settings in the <br>
individual files in limits.d/.<br>
For example this is what I have in my <br>
/etc/security/limits.d/95-jack.conf file:<br>
<br>
# Modified limits for users of jack-audio-connection-kit<br>
<br>
## Automatically appended by jack-audio-connection-kit<br>
## Other documents recommend rtprio of 60 or 70 -- Chris<br>
@jackuser - rtprio 95<br>
<br>
@jackuser - memlock 16777216<br>
<br>
## Automatically appended by jack-audio-connection-kit<br>
# This seemed to override the value of 90 I set above, so commenting out<br>
# @pulse-rt - rtprio 80<br>
@pulse-rt - nice -20<br>
<br>
<br>
I am running Fedora linux on my machine, which creates the group <br>
jackuser for user accounts which will be using jackd.  I think the <br>
current default Fedora file sets the rtprio limit to 70, but I had used <br>
95 as a limit going way back based on recommendations I saw in some <br>
jackd FAQ.  As a practical matter it won't really matter as long as you <br>
also make sure anything else which tries to set priorities, like the <br>
rtirq script, is coordinated to use the same maximum value.<br>
<br>
The last section that I commented out was part of the file from Fedora, <br>
but I think since my user account is a member of both jackuser and <br>
pulse-rt groups, the later rtprio limit of 80 for the pulse-rt group was <br>
overriding the limit of 95 set earlier for the jackuser group.<br>
<br>
After correcting any problems in your conf files you will have to log <br>
out and log back in for the changes to take effect.   You can verify the <br>
limit in use with the ulimit program:<br>
~]$ ulimit -r<br>
95<br>
<br>
After verifying your user account can set realtime permissions, start <br>
your applications again but do not use sudo.  I suspect that is the <br>
cause of your problems.<br>
<br>
-- <br>
Chris Caudle<br></blockquote><div><br></div><div>Thanks for the reply. I was getting this error without sudo.  <br></div><div><br></div><div>[linux-fesf(robert)] <br> /home/robert> /usr/local/bin/jltcdump<br>Cannot read socket fd = 5 err = Success<br>Cannot open jltcdump client<br>JackShmReadWritePtr1::~JackShmReadWritePtr1 - Init not done for -1, skipping unlock<br>JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock<br>JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock<br>jack_client_open() failed, status = 0x21<br>bye.</div><div><br></div><div>I am on OpenSuse leap 15 and I had no idea about jackuser. I needed to create the jackuser group and assign it to my user via the commands: groupadd jackuser && usermod -a -G jackuser robert . <br></div><div><br></div><div>Once I had my user account with the jackuser group then I proceeded as you suggested: 1) Run qjackctl as my user account, start jack after choosing my interface. 2) Start jltcdump with my user account. 3) Use qjackctl to connect the interface to jltcdump. <br></div><div><br></div><div>Then everything just worked. Much appreciated! <br></div><div><br></div><div>Robert<br></div><div><br></div><div><br> </div></div></div>