jack2
jack2 copied to clipboard
Xrun reporting broken in `--sync` mode
- Start jackd in --sync mode:
jackd --sync -R -P 70 -d alsa -d hw:iXR -p 64 -n 2
- In a second terminal run:
jack_cpu -t 5 -c 99
Or to make it even more obvious instead run jackd as:
jackd --sync -R -P 70 -d alsa -d hw:iXR -p 12 -n 2
Notice the period size of 12
I would expect jackd to go bonkers and spam the terminal with xruns once the jack_cpu program runs. You can go even more bananas and use jack_cpu -t 5 -c 110.
But interestingly when --sync is given no xruns are reported. With the sync option disabled I do get the behaviour that I expect (excerpt):
[nix-shell:~]$ jackd -R -P 70 -d alsa -d hw:iXR -p 12 -n 2
jackdmp 1.9.19
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2021 Filipe Coelho.
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
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 70
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio1
creating alsa driver ... hw:iXR|hw:iXR|12|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 12 frames (0.2 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
JackEngine::XRun: client = jack-cpu was not finished, state = Running
JackAudioDriver::ProcessGraphAsyncMaster: Process error
JackEngine::XRun: client = jack-cpu was not finished, state = Running
JackAudioDriver::ProcessGraphAsyncMaster: Process error
[...]
Version info:
jackdmp version 1.9.19 tmpdir /dev/shm protocol 9
OS: Nixos
Installed the nixos package of jack2
Kernel: Linux ogfx86 6.0.5-rt14 #1-NixOS SMP PREEMPT_RT Wed Oct 26 10:53:32 UTC 2022 x86_64 GNU/Linux
IRQ tuning:
$ top -b | grep xhci
180 root -70 0 0 0 0 S 0.0 0.0 679:32.07 irq/126-xhci_hcd