No announcement yet.

intel-hda with jack and low latency

  • Filter
  • Time
  • Show
Clear All
new posts

  • intel-hda with jack and low latency

    alot of mobile board have intel-hda cards, which can be a headache to get running with low latency. this should give most people a very good start on it.

    soon Step 1 will be able to be skipped if your running linuxice2, or use the linuxice2 kernel, and this is the config that the default linuxice2 kernel will have soon.

    The 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

    * tar xvjf linux-
    * cd linux-

    (if you don't see it here look in the projects/rt/older/ directory)
    * wget

    * bzcat ../patch-

    * wget
    * 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
    (if your unsure run alsamixer and enable anything you can find that says capture or record)

    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 (log out and back in for these to take effect)

    @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