Hans Petter Selasky | 20 Apr 13:14 2015

JACK1 and 24/32 bit sample sizes under FreeBSD

Hi,

FYI:

The JACK software use some hardcoded OSS constants from Linux, which 
don't work under FreeBSD. Here is a patch to resolve those issues:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199558

--HPS
Jörn Nettingsmeier | 20 Apr 12:26 2015
Picon

jack1 git FTBFS

Hi *!

While I'm hunting the recent breakage of JACK on openSUSE Tumbleweed, I 
found I can't build jack1 from source.

make distclean
git submodule update
git pull
./autogen.sh
./configure
make

/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. 
-I..    -I../config -I.. -I.. -I../include -D_REENTRANT 
-D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math 
-funroll-loops -march=native -mtune=native -msse -mfpmath=sse 
-DJACK_LOCATION=\"/usr/local/bin\" -I../config -I.. -I.. -I../include 
-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer 
-ffast-math -funroll-loops -march=native -mtune=native -msse 
-mfpmath=sse -MT libjack_la-metadata.lo -MD -MP -MF 
.deps/libjack_la-metadata.Tpo -c -o libjack_la-metadata.lo `test -f 
'metadata.c' || echo './'`metadata.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I../config -I.. -I.. 
-I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 
-fomit-frame-pointer -ffast-math -funroll-loops -march=native 
-mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/local/bin\" 
-I../config -I.. -I.. -I../include -D_REENTRANT 
-D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math 
-funroll-loops -march=native -mtune=native -msse -mfpmath=sse -MT 
libjack_la-metadata.lo -MD -MP -MF .deps/libjack_la-metadata.Tpo -c 
(Continue reading)

Johannes Lorenz | 19 Apr 11:59 2015
Picon

JACK 2 is not real time safe on posix?

Hello,

it is often being said that JACK 2 is real time safe, for example in the JACK faq. I wondered how JACK 2 suspends
a thread, so I checked what happens after the JackClient finished CallProcessCallback():

  JackClient::CallProcessCallback()
  -> JackClient::CycleWaitAux()
  -> JackClient::WaitSync()
  -> JackGraphManager::SuspendRefNum()
  -> JackConnectionManager::SuspendRefNum()
  -> virtual JackSynchro::TimedWait()

However, I found only two classes in the `posix' folder that implement this virtual function:

  * JackPosixSemaphore: uses `sem_timedwait()' to block
  * JackFifo: uses `read()' to block

However, both `sem_timedwait()' and `read()' are syscalls, so they contain context switch, which means
they are non realtime. Actually, the JACK documentation warns to use function like these if you pass a
process() callback to jack [1].

So how can JACK claim it would be realtime? (No objections, I just don't understand it)

Best,
Johannes

[1] http://jackaudio.org/files/docs/html/group__ClientCallbacks.html#gafb5ec9fb4b736606d676c135fb97888b
Ron | 17 Apr 16:18 2015
Picon

Re: Jack on Raspberry PI 2


73
Ron / W4MMP

On 4/17/2015 08:23, jack-devel-request <at> lists.jackaudio.org wrote:
> Send Jack-Devel mailing list submissions to
> 	jack-devel <at> lists.jackaudio.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
> or, via email, send a message with subject or body 'help' to
> 	jack-devel-request <at> lists.jackaudio.org
>
> You can reach the person managing the list at
> 	jack-devel-owner <at> lists.jackaudio.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Jack-Devel digest..."
>
>
> Today's Topics:
>
>     1. Re: running jackd from rc.local (Adrian Knoth)
>     2. alsa_* device or resource is busy (Athanasios Silis)
>     3. Re: alsa_* device or resource is busy (Adrian Knoth)
>     4. Re: Jack on Raspberry PI 2 (Ron) (Ron)
>     5. Re: Jack on Raspberry PI 2 (Ron) (Jeremy Jongepier)
>     6. Re: alsa_* device or resource is busy (Ralf Mardorf)
>     7. Re: alsa_* device or resource is busy (Athanasios Silis)
>
(Continue reading)

Ron | 17 Apr 14:01 2015
Picon

Re: Jack on Raspberry PI 2 (Ron)

Hi,
(I hope I am using email correctly.  This is the first time I have used 
an email list such as this)

First, let me say thanks to everyone that responded.  The web page link 
really helped.  I have not investigated installing the Raspberry repo of 
jack as of yet.  I will look into that a bit later.   For now I will 
stick with using the source I have from the jack website.

OK,  success (sort of).
I changed the shared memory size (/dev/shm) to 128M.  Now the jackd 
server starts and stay running.  However when using qjackctl I still 
receive the cannot lock memory message however as I said the server 
actually stays running.  Jackd message output:

07:36:18.155 Patchbay deactivated.
07:36:18.177 Statistics reset.
07:36:18.206 ALSA connection change.
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
07:36:18.235 ALSA connection graph change.
07:36:20.455 JACK is starting...
07:36:20.458 /usr/local/bin/jackd -r -dalsa -dhw:0 -r48000 -p1024 -n2
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
07:36:20.530 JACK was started with PID=2680.
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
(Continue reading)

Athanasios Silis | 17 Apr 13:16 2015
Picon

alsa_* device or resource is busy

hi all, continuing from a previous email where I try to start up several audio applications from a custom init script , which is run from rc.local,
I noticed that I get several
Capture open error: Device or resource busy
error messages for the alsa_(in|out) instances I set up:

alsa_out -d hw:DSP24,0 -c 10 -j dsp_out -r 48000 -p128 -n2 &
alsa_in -d hw:DSP24,0 -c 12 -j dsp_in -r 48000 -p128 -n2 &
alsa_out -d hw:Intel -c 8 -j hda_out -r 48000 -p128 -n3 &
alsa_in -d hw:Intel -c 2 -j hda_in -r 48000 -p128 -n3 &

These work when I use the script manually by logging in the pc.
but from rc.local the seems to be a problem with alsa.
on some reboots, perhaps one (random) of these will work , but usually non of the 4 will be loaded correctly.

what could be conflicting here?
_______________________________________________
Jack-Devel mailing list
Jack-Devel <at> lists.jackaudio.org
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Athanasios Silis | 17 Apr 11:40 2015
Picon

running jackd from rc.local

Hi all,
I am trying to run jackd instance from /etc/rc.local (along with a few other applications) from a custom made init script.

The system is ubuntustudio and I have setup everything to have elevated permissions when executing applications from the <at> audio group.

so when I am logged on, I see this:
nass <at> starkill:~$ ulimit -r -l
real-time priority              (-r) 95
max locked memory       (kbytes, -l) unlimited

which is expected and I can execute the script I wrote.

but, when I execute my script from /etc/rc.local as
su - nass -c "ulimits -r -l cd audio_setup/scripts ; bash ./start_audio"
then my user does not (yet?) have elevated permissions.

real-time priority              (-r) 0
max locked memory       (kbytes, -l) 64

is there a script I can run before my start_audio script to elevate my permissions?

thank you
_______________________________________________
Jack-Devel mailing list
Jack-Devel <at> lists.jackaudio.org
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Ron | 17 Apr 03:20 2015
Picon

Jack on Raspberry PI 2

Hello,
Sorry about that.  My mistake.
--
Due to administrative overhead, messages sent by non-members to jack-devel will be discarded. Please join the mailing list and then resend your message.

Jack on Raspberry PI 2.eml
Subject:
Jack on Raspberry PI 2
From:
Ron <rlpatton <at> aol.com>
Date:
4/16/2015 10:47
To:
jack-devel <at> lists.jackaudio.org

Hello,

I have downloaded, built and installed the latest version of Jack on a Raspberry PI 2 running Raspbian (Linux 3.18.11-v7+ #777 SMP PREEMPT).

ron <at> squireoaksfarm-radio ~/src/quick2wire-python-api $ jackd --version
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp 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
jackdmp version 1.9.11 tmpdir /dev/shm protocol 8


I have been all over the internet trying to find a solution to the following error that prevents the jack server from starting (using qjackctl):


10:31:31.869 Patchbay deactivated.
10:31:31.882 Statistics reset.
10:31:31.931 ALSA connection change.
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
10:31:31.961 ALSA connection graph change.
10:31:35.651 JACK is starting...
10:31:35.653 /usr/local/bin/jackd -dalsa -dhw:0 -r48000 -p1024 -n2
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
10:31:35.682 JACK was started with PID=9484.
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp 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
JACK server starting in realtime mode with priority 10
Cannot lock down 82278944 byte memory area (Cannot allocate memory)
10:31:36.022 JACK was stopped successfully.
10:31:36.028 JACK has crashed.
10:31:37.778 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to serve
r. Please check the messages window for more info.
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started


I have tried to start the sever with the "--no-mlock" option.
Here are the contents of audio.conf
ron <at> squireoaksfarm-radio /etc/security/limits.d $ more audio.conf
# Provided by the jackd package.
#
# Changes to this file will be preserved.
#
# If you want to enable/disable realtime permissions, run
#
#    dpkg-reconfigure -p high jackd

<at> audio   -  rtprio     95
<at> audio   -  memlock    unlimited
# <at> audio   -  nice      -19

The user "ron" is a member of the audio group.

Please help,
Ron
73 Ron / W4MMP
_______________________________________________
Jack-Devel mailing list
Jack-Devel <at> lists.jackaudio.org
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Stéphane Letz | 14 Apr 16:36 2015
Picon

Message to Fons (which mail seems to be currently broken ?)

Hi Fons,

After our discussion in LAC I did two things :

- remove some log messages

- allow to better control thread priority definition, basically following the model used on Linux
(server_priority = N, client_priority = N-5 so that the client may use threads with a priority between
client RT value and server RT value)  (see :
http://comments.gmane.org/gmane.comp.audio.jackit/17931). On Windows it works like the
following: 

	- using the -P number below 89 make all RT thread takes THREAD_PRIORITY_TIME_CRITICAL priority

	- using value more than 89 moves in the MMCSS ("Pro Audio") class where 4 values can be used
(AVRT_PRIORITY_LOW, AVRT_PRIORITY_NORMAL, AVRT_PRIORITY_HIGH, AVRT_PRIORITY_CRITICAL) 

	- client priority is 3 below server priority: so if 92 is used for the server, then JACK server RT thread will
actually takes AVRT_PRIORITY_CRITICAL and client thread will use AVRT_PRIORITY_CRITICAL - 3 = AVRT_PRIORITY_LOW

	- then the client my possibly use a value between AVRT_PRIORITY_LOW and AVRT_PRIORITY_CRITICAL for some
other threads.

Tell me it if works the way you need to, and if not, how we can improve the implementation.

Links for the binaries here: 

https://dl.dropboxusercontent.com/u/28869550/Jack_v1.9.11_32_setup.exe

https://dl.dropboxusercontent.com/u/28869550/Jack_v1.9.11_64_setup.exe

Thanks.

Stéphane
Karl Lindén | 11 Apr 19:05 2015
Picon

Major update of jack2 build system

Hi jack-devel list!

[This part is technical and can be skipped, if you like]
To ease packaging jack2, its build system has received a major update [1]. The initial intent was to simply
remove automagic dependencies (on celt, opus, libsamplerate, libsndfile, readline), which are bad [2]
for source based distributions, such as Gentoo, but after a discussion [3] the decision was taken to
reimplement all options that have third-party dependencies using a special option class, so that the
build system by default builds against foo if available, refrains from doing so if --foo=no is given and if
--foo=yes the dependency is hard-required. To preserve backwards compatibility (and save time writing
"=yes") --foo is the same as --foo=yes.

Apart from this change pkg-config is now used whenever possible instead of only header checks. (It is bad to
just check for headers without checking for the accompanying library.) This eases packaging (and
cross-compiling) somewhat. Also the check for readline has been improved (it now checks for header
existence too instead of just library existence), in effect making it easier to compile jack2 on binary
distros (where the library existence does not imply header existence). (Correct me if I'm wrong; I have
not compiled jack2 on a binary distro.)
[End of skip part]

So apart from the above points, what are the goodies for actual users? Well, now users do not have to
explicitly state --alsa, --firewire or such to get the correct backend built since it will be
automatically detected if --alsa, --firewire, etc. is not given.

Now the important part. Like with all big software changes, this might introduce some bugs that I have not
found during testing. (I did test the option I could with both --foo=yes and --foo=no!) Some option have
not been tested at all since I lack the prerequisites, these options are --iio, --portaudio and --winmme,
but since all option use the same class the logic should be the same, so they should work, but you can never be
too sure.

In conclusion, I want you to be on the lookout for bugs or weird stuff (as always!) when building jack2.
Report the bugs and I will do my very best to squash them!

Regards,
Karl Lindén (lilrc)

[1] https://github.com/jackaudio/jack2/pull/113
[2] https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies
[3] https://github.com/jackaudio/jack2/pull/110
_______________________________________________
Jack-Devel mailing list
Jack-Devel <at> lists.jackaudio.org
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Holger Marzen | 8 Apr 20:39 2015
Picon

jack and encryption?

Does anyone work on encryption for jack or encrypting/decrypting
applications?

It would be cool being able to use any voice/telephony application in an
encrypted mode just by using jack for input and output.

Gmane