I'm trying to configure jack-audio-connection-kit to work in realtime as a normal user. I have followed the "Realtime for Users" entry in the wiki and edited /etc/security/limits.conf as:
@audio - rtprio 70 @audio - nice -10 @audio - memlock 250000
but the jack server doesn't work very well. I get a lot ot xruns (about 5 per minute) even when I'm not using any audio. This is the output of qjackctl:
02:13:25.922 Patchbay deactivated. 02:13:26.176 Statistics reset. 02:13:26.395 MIDI connection graph change. 02:13:29.184 Startup script... 02:13:29.184 artsshell -q terminate can't create mcop directory Creating link /home/johannes/.kde/socket-archer. 02:13:29.556 Startup script terminated with exit status=256. 02:13:29.556 JACK is starting... 02:13:29.557 /usr/bin/jackd -R -dalsa -dhw:0 -r48000 -p1024 -n2 02:13:29.562 JACK was started with PID=3886 (0xf2e). jackd 0.100.7 Copyright 2001-2005 Paul Davis 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 JACK compiled with System V SHM support. loading driver .. apparent rate = 48000 creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit control device hw:0 configuring for 48000Hz, period = 1024 frames, buffer = 2 periods Note: audio device hw:0 doesn't support a 32bit sample format so JACK will try a 24bit format instead Note: audio device hw:0 doesn't support a 24bit sample format so JACK will try a 16bit format instead nperiods = 2 for capture nperiods = 2 for playback 02:13:31.605 Server configuration saved to "/home/johannes/.jackdrc". 02:13:31.607 Statistics reset. 02:13:31.634 Client activated. 02:13:31.638 Audio connection change. 02:13:31.653 Audio connection graph change. 02:14:47.445 XRUN callback (1). **** alsa_pcm: xrun of at least 395.915 msecs 02:14:58.447 XRUN callback (2). **** alsa_pcm: xrun of at least 399.379 msecs 02:15:32.443 XRUN callback (3). **** alsa_pcm: xrun of at least 395.860 msecs
Those things make the sound choppy.
I also have very bad latency, 42,7 msec...
I'm using the standard arch kernel:
Linux archer 2.6.15-ARCH #1 SMP PREEMPT Sun Feb 12 18:36:42 CET 2006 i686 Intel(R) Pentium(R) M processor 2.00GHz GenuineIntel GNU/Linux
I used Ubuntu before I switched to Arch, and there jack in realtime worked fine, so it's not because of the hardware. Back then I had to add a kernel module named "realtime-lsm", but according to the wiki that is not needed in Arch. Is there a solution for this problem?
What's your video card and alsa configuration? I had a similar problem with my via onboard chip and had to change a setting "Surround Jack Mode" from "Shared" to "independent". So I'd say play with alsa. Maybe you can copy your alsactl from the ubuntu system?
lspci gives me:
00:1f.5 Multimedia audio controller: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
I don't seem to have a "Surround Jack Mode" setting in alsamixer.
I have tried playing around with alsa, but I can't seem to get it right... And I have no idea if that is the problem. I will try using the alsactl from ubuntu.
It seems that if I change the Frames/Preiod and Sample Rate settings in qjackctl I can get more or less xruns, but they never go away fully. If I uncheck the realtime option in qjackctl I get lots of xruns.
I read somewhere that you need to have realtime-preemption in your kernel. The option name is CONFIG_PREEMPT_RT. I checked /boot/kconfig26 and it seems that option is not present in this kernel. Normal CONFIG_PREEMPT is set to "y" though. Might this be a problem?