cannot start jackd with latency less than 10.7 ms

Optimize your system for ultimate performance.

Moderators: MattKingUSA, khz

Post Reply
dufflespank
Established Member
Posts: 6
Joined: Sun Dec 17, 2017 7:02 pm

cannot start jackd with latency less than 10.7 ms

Post by dufflespank »

Hi, new to the linux music world. I did a bunch of debugging to get my xruns to go away, and now finally the system is stable after installing the linux-lowlatency kernel. My soundcard is a focusrite Saffire Pro 40 (firewire), which appears to be working fine under alsa. The issue I am now having is that there seems to be a limit on the buffer settings... Everything works good with frames/period = 256 and periods/buffer = 2 (math delay = 10.7 ms), but any settings that give a lower math latency will prevent jackd from starting up. Could it be that there is some sort of limitation in my audio interface? This would surprise me because the Pro 40 manual seems to indicate that smaller buffer sizes are possible.

I am running Ubuntu 16.04 LTS, processor is a 3.4 GHz 6-core Intel Xeon.

Thanks!
Brynildsen
Established Member
Posts: 29
Joined: Tue Nov 28, 2017 12:30 pm

Re: cannot start jackd with latency less than 10.7 ms

Post by Brynildsen »

Have you measured it?

Code: Select all

man jack_iodelay
and what is your samplerate?
"Arch/i3-wm/Bitwig/Renoise/Guitarix/Airwave/a couple of winVST's"
"i7-6700K 4ghz, gtx910ti, 16gb ram" + "X201s-i7-640LM 2.13ghz, 8gb ram"
"Presonus 22vsl + Scarlett 2i2 2.gen."
dufflespank
Established Member
Posts: 6
Joined: Sun Dec 17, 2017 7:02 pm

Re: cannot start jackd with latency less than 10.7 ms

Post by dufflespank »

Hi, sample rate is 48 kHz, and I have not measured the delay. If I do measure it, I would expect that the true latency can only be longer than the math derived latency of 10.7 ms... correct?
User avatar
bluebell
Established Member
Posts: 1927
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 113 times
Been thanked: 122 times

Re: cannot start jackd with latency less than 10.7 ms

Post by bluebell »

dufflespank wrote:Hi, new to the linux music world. I did a bunch of debugging to get my xruns to go away, and now finally the system is stable after installing the linux-lowlatency kernel. My soundcard is a focusrite Saffire Pro 40 (firewire), which appears to be working fine under alsa. The issue I am now having is that there seems to be a limit on the buffer settings... Everything works good with frames/period = 256 and periods/buffer = 2 (math delay = 10.7 ms), but any settings that give a lower math latency will prevent jackd from starting up. Could it be that there is some sort of limitation in my audio interface? This would surprise me because the Pro 40 manual seems to indicate that smaller buffer sizes are possible.

I am running Ubuntu 16.04 LTS, processor is a 3.4 GHz 6-core Intel Xeon.

Thanks!
Are you sure that jackd runs with realtime prio? Make sure that there's an /etc/security/limits.d/audio.conf with

@audio - rtprio 95
@audio - memlock unlimited

and that your userid is in group audio.

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

dufflespank
Established Member
Posts: 6
Joined: Sun Dec 17, 2017 7:02 pm

Re: cannot start jackd with latency less than 10.7 ms

Post by dufflespank »

Hi thanks for the responses!

Using jack_iodelay with the 10.7 ms math latency, I was getting a measured delay of 38 ms. Interestingly, if I changed the buffer sizes in the call to jackd to something larger than 10.7 ms, jackd would start up as normal, but jack_iodelay would report the same round trip latency. So it seems that the buffer settings that I set via jack are not respected by my interface.

I tried something else... that is, used ffado-mixer to play around with the settings in the Saffire Pro 40. there is a combo box there to change the sample rate, which I changed to 96 kHz. Using jack_iodelay, the round trip latency was 18 ms (half) which makes sense. Unfortunately, ffado-mixer doesn't seem to have an option to set the buffer size.

I guess I'm somewhat confused by the fact that jack isn't able to directly control the buffer sizes (or sample rates) of the interface. This may be related to the fact that jack is not using the firewire backend, but rather alsa. This point confused me for a while, until I found some internet posts that seemed to indicate that alsa now supports some firewire devices. When I try to start jack with the firewire backend, it prints out some meaningful info pertaining to the interface, but then fails with a message like "firewire ERR: Could not prepare streaming device!".

Also, I am indeed running jack with realtime priorities (I had already made those changes to my limits.conf file)
Post Reply