A intel-hda jack low latency howto (by wirelessdreamer)
I've seen asked many times on the list how to get intel-hda cards working with low latency, in duplex operation. Here is a full, step by step, on how I got 4ms latency. I'm using a Dell M90 with a Quadro fx 1500, attached to a docking station with a Maudio Delta 66 pci card (secondary card) in it, the binary Nvidia drivers and Compiz. So if you were wondering, it is possible. :)
1. Kernel (i'm not going to walk you through how to compile a kernel)
(the last kernel before the big kernel lock regression)
* wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.7.tar.bz2
* tar xvjf linux-2.6.24.7.tar.bz2
* cd linux-2.6.24.7.tar.bz2
(if you don't see it here look in the projects/rt/older/ directory)
* wget http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.24.7-rt21.bz2
* bzcat ../patch-2.6.24.7-rt21.bz2
* wget http://pastebin.com/pastebin.php?dl=f6ad31838
* mv pastebin.php\?dl\=f6ad31838 .config.old
* make oldconfig
(build and install your kernel)
2. Module Options
Add the following line to the file your distribution has its module options in
(in ubuntu it is /etc/modules.d/alsa-base)
options snd-hda-intel model=ref position_fix=1 enable=1 index=0
3. Mixer Options (VERY IMPORTANT ! ! !)
enable capture/record elements in mixer
without this jack can't play nicely with intel-hda cards
4. RT Permissions
In most modern distros /etc/security/limits.conf is where realtime permissions are set, I added these 3 lines to it, and added myself to the @audio group in /etc/group
@audio - memlock 1024000
@audio - nice -10
@audio - rtprio 99
5. Jack options
I use qjackctl to set these
put a check in Realtime
Priority 89
Frames/Period 64
Sample Rate 48000
Periods/Buffer 3