I sent this message to the Planet CCRMA list, but got no response.
Maybe someone here has some suggestions?
I've been running Planet CCRMA for years and have generally been happy
with it. Since moving to Fedora 7, however, I can't get my jack
latency settings as low as I'd like. I get periodic xruns (without
any jack apps running) at anything below 1024 frames and 2 periods.
The hardware is an Athlon 1800, 1G RAM, with a M-Audio Delta 66. Same
hardware I've had for years, and I could swear I had better
performance with FC5 (and FC2, and RH9).
I've looked at everything I can think of:
I've got the latest Planet kernel:
paul@boon ~]$ uname -r
2.6.22.6-1.rt9.5.fc7.ccrmart
I bumped the PCI latency timer up on the ICE1712 chip (the Delta):
00:0a.0 Multimedia audio controller: VIA Technologies Inc. ICE1712 [Envy24] PCI
Multi-Channel I/O Controller (rev 02)
Subsystem: VIA Technologies Inc. M-Audio Delta 66
Flags: bus master, medium devsel, latency 248, IRQ 20
IRQ stuff looks fine to me (audio on IRQ 20):
[paul@boon ~]$ cat /proc/interrupts
CPU0
0: 272253996 IO-APIC-edge timer
1: 2 IO-APIC-edge i8042
6: 6 IO-APIC-edge floppy
7: 0 IO-APIC-edge parport0
8: 0 IO-APIC-edge rtc0
9: 0 IO-APIC-fasteoi acpi
12: 4 IO-APIC-edge i8042
14: 893299 IO-APIC-edge libata
15: 5410951 IO-APIC-edge libata
16: 1602810 IO-APIC-fasteoi uhci_hcd:usb1, uhci_hcd:usb2,
uhci_hcd:usb3, ehci_hcd:usb4
18: 2 IO-APIC-fasteoi ohci1394
19: 1374546 IO-APIC-fasteoi eth0
20: 3078836 IO-APIC-fasteoi ICE1712
NMI: 0
LOC: 319262183
ERR: 0
MIS: 0
The only IRQ with a higher priority is the RTC on 8 (seems sensible):
[paul@boon ~]$ ps -e -o pid,cmd,pri | grep IRQ
61 [IRQ-9] 90
304 [IRQ-12] 104
305 [IRQ-1] 105
322 [IRQ-16] 110
345 [IRQ-14] 90
346 [IRQ-15] 90
673 [IRQ-6] 90
910 [IRQ-8] 120
942 [IRQ-18] 90
948 [IRQ-7] 90
1034 [IRQ-20] 115
1498 [IRQ-19] 90
Jackd priority looks right (I assume the 100 is the watchdog, 90 is
the audio thread?):
[paul@boon ~]$ ps -mo pid,cmd,pri -C jackd
PID CMD PRI
31851 jackd -R -P50 -dalsa -dhw:0 -
- - 19
- - 19
- - 19
- - 100
- - 90
QJackctl is using this:
[paul@boon ~]$ cat .jackdrc
jackd -R -P50 -dalsa -dhw:0 -r44100 -p256 -n2
And yet, xruns:
21:40:37.506 Startup script...
21:40:37.512 artsshell -q terminate
JACK tmpdir identified as [/dev/shm]
21:40:37.877 Startup script terminated with exit status=256.
21:40:37.879 JACK is starting...
21:40:37.884 jackd -R -P50 -dalsa -dhw:0 -r44100 -p256 -n2
21:40:37.903 JACK was started with PID=32405 (0x7e95).
jackd 0.103.0
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 ..
Enhanced3DNow! detected
apparent rate = 44100
creating alsa driver ... hw:0|hw:0|256|2|44100|0|0|nomon|swmeter|-|32bit
control device hw:0
configuring for 44100Hz, period = 256 frames, buffer = 2 periods
ALSA: final selected sample format for capture: 32bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit little-endian
ALSA: use 2 periods for playback
21:40:40.166 Server configuration saved to "/home/paul/.jackdrc".
21:40:40.168 Statistics reset.
21:40:40.169 Client activated.
21:40:40.171 Audio connection change.
21:40:40.199 Audio connection graph change.
JACK tmpdir identified as [/dev/shm]
Enhanced3DNow! detected
21:40:40.374 Audio active patchbay scan...
21:41:11.971 XRUN callback (1).
delay of 11622.000 usecs exceeds estimated spare time of 5619.000; restart ...
**** alsa_pcm: xrun of at least 0.054 msecs
21:41:21.684 XRUN callback (2).
Any help would be appreciated. What have I missed?