johnt, here’s pretty much what I did on my box, you will still need to do further reading for some things like the rtirq since I only installed it and let it do it’s stuff on its own, you might want to get further into it. I hope it helps out:
-
After installing ubuntu Hardy I configured my audio by making the PCI Audigy Soundblaster the default system device and using the VIA integrated for
VOIP. I went through a nice tutorial for ubuntu, you can read a little about it at: http://ubuntuforums.org/showthread.php?t=205449 then configuring pulseaudio (which I didn’t disable) with my speaker arrangement and to set up the default audio card I only downloaded a little app called paconfig. You can get it here: http://ubuntuforums.org/showthread.php?t=759147 after that I configured my ubuntu session to use also the audigy and all alsa in sound preferences.
-
Installed RT kernel and completely removed generic one, so 2.6.24.21-rt is the only kernel I have on my box.
-
Then I configured /etc/security/limits.conf by adding the following at the bottom:
@audio - rtprio 100
@audio - nice -10 (This one I have seen quite varied some do it at -15 other at -10)
@audio - memlock unlimited
-
then I got a hold of the rtirq package installed it so it will give better IRQ priority to sound specific hardware so if I type on a shell to see the
IRQ’s on my box with the command cat /proc/interrupts I get the following output:
joe@ghubuntu:~$ cat /proc/interrupts
CPU0
0: 72485313 IO-APIC-edge timer
1: 46195 IO-APIC-edge i8042
2: 0 XT-PIC-XT cascade
3: 1 IO-APIC-edge
4: 3 IO-APIC-edge
6: 2 IO-APIC-edge floppy
7: 0 IO-APIC-edge parport0
8: 3 IO-APIC-edge rtc
12: 2858259 IO-APIC-edge i8042
14: 703097 IO-APIC-edge libata
15: 0 IO-APIC-edge libata
16: 5123720 IO-APIC-fasteoi nvidia
18: 16329456 IO-APIC-fasteoi EMU10K1
19: 3 IO-APIC-fasteoi ohci1394
20: 591736 IO-APIC-fasteoi sata_via
21: 289 IO-APIC-fasteoi uhci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, ehci_hcd:usb5
22: 0 IO-APIC-fasteoi VIA8237
23: 583878 IO-APIC-fasteoi eth0
NMI: 0 Non-maskable interrupts
LOC: 72488375 Local timer interrupts
RES: 0 Rescheduling interrupts
CAL: 0 function call interrupts
TLB: 0 TLB shootdowns
TRM: 0 Thermal event interrupts
SPU: 0 Spurious interrupts
ERR: 0
MIS: 0
So what we can see there is that IRQ 18 is my soundblaster. Note also 22 is my VIA
when I run the rtirq with sudo /etc/init.d/rtirq start (or restart) I get this:
rtirq: start [rtc] irq=8 pid=731 prio=90: OK.
rtirq: start [snd] irq=22 pid=4245 prio=85: OK.
rtirq: start [snd] irq=18 pid=4553 prio=84: OK.
rtirq: start [uhci_hcd] irq=21 pid=2297 prio=80: OK.
rtirq: start [i8042] irq=1 pid=770 prio=75: OK.
rtirq: start [i8042] irq=12 pid=769 prio=74: OK.
So what this tells us is that IRQ 18 is in third place of the priority table, as you can see number 22 is my VIA and is on second place I’m still not
sure how to switch the priority on those two, if anyone knows how I would appreciate your help, I think maybe the only way to give IRQ18 the priority VIA has is just disabling it from my BIOS, but in my case I need it for VOIP and doesn’t really affect me that much.
Then when I fire up QJACKCTL I have it configured this way (I have three setups saved, but I will post how I got 16 FP):
I only have checked Realtime, Monitor and Force 16 bit.
On Realtime I changed from default to 89, this should be set lower than the rtc (real time clock) or IRQ 8 (see above when I start rtirq). Frames are set at 16, Sample Rate at 48000 Periods/Buffer 2, Port Max at 256 and Timeout 5000 so when launching jack related appz like ardour or hydrogen dont kill jack, you will obviously get a lot of xruns when starting appz but once running just reset jack status and all should be working fine.
In the interface section under qjackctrl I set it up like this:
Interface is default, Dither None, Audio Duplex, Input Device hw:0,2 Output Device hw:0:3 and the rest default.
If you get to many xruns then try 32 FP, I hope it work well, somehow it just worked perfect for me. I work under 32 FP just to avoid those “few” little xruns, I still think 32 FP is just a hell of a great achievement.
Good Luck.
EDIT: Sorry forgot to post my system specs:
Ubuntu Hardy at 32 bit
MSI k8MM-V MB
AMD Athlon 64 3000+ (2.0 GHz) (Just one core)
Audigy Soundblaster Platinum EX
1 GB RAM (Did configure swappiness to 20)
1 ATA 7200 RPM Drive