A intel-hda jack low latency howto (by wirelessdreamer)<br><br>I&#39;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&#39;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. :)<br>
<br>1. Kernel (i&#39;m not going to walk you through how to compile a kernel)<br><br>(the last kernel before the big kernel lock regression)<br>* wget <a href="http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.7.tar.bz2">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.7.tar.bz2</a><br>
<br>* tar xvjf linux-2.6.24.7.tar.bz2<br>* cd linux-2.6.24.7.tar.bz2<br><br>(if you don&#39;t see it here look in the projects/rt/older/ directory)<br>* wget <a href="http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.24.7-rt21.bz2">http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.24.7-rt21.bz2</a><br>
<br>* bzcat ../patch-2.6.24.7-rt21.bz2<br><br>* wget <a href="http://pastebin.com/pastebin.php?dl=f6ad31838">http://pastebin.com/pastebin.php?dl=f6ad31838</a><br>* mv pastebin.php\?dl\=f6ad31838 .config.old<br>* make oldconfig<br>
<br>(build and install your kernel)<br><br>2. Module Options<br>Add the following line to the file your distribution has its module options in<br>(in ubuntu it is /etc/modules.d/alsa-base)<br><br>options snd-hda-intel model=ref position_fix=1 enable=1 index=0<br>
<br>3. Mixer Options (VERY IMPORTANT ! ! !)<br>enable capture/record elements in mixer<br>without this jack can&#39;t play nicely with intel-hda cards<br><br>4. RT Permissions<br>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<br>
<br>@audio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; memlock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024000<br>@audio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nice&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -10<br>@audio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rtprio&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 99<br><br>5. Jack options<br>I use qjackctl to set these<br><br>put a check in Realtime<br>
Priority 89<br>Frames/Period 64<br>Sample Rate 48000<br>Periods/Buffer 3<br><br>