Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
wiki:intel_hda_realtime_howto [2008/11/14 14:14] – Added metas holger | wiki:intel_hda_realtime_howto [2013/09/09 12:11] – [9 sep 2013, Debian] bas_kooning | ||
---|---|---|---|
Line 1: | Line 1: | ||
[[http:// | [[http:// | ||
- | ~~META: | + | ~~META: |
- | ~~META: | + | ~~META: |
- | ====== | + | ====== |
- | + | ||
- | ===== Introduction | + | |
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. :) | 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. :) | ||
Line 12: | Line 10: | ||
===== Kernel ===== | ===== Kernel ===== | ||
- | (i'm not going to walk you through how to compile a kernel) | + | (I'm not going to walk you through how to compile a kernel) |
- | (the last kernel before the big kernel lock regression) | + | the last kernel before the big kernel lock regression |
wget http:// | wget http:// | ||
Line 21: | Line 19: | ||
wget http:// | wget http:// | ||
- | (if you don't see it here look in the projects/ | + | if you don't see it here look in the [[http:// |
bzcat ../ | bzcat ../ | ||
- | wget http://pastebin.com/ | + | Download this config: {{: |
- | mv pastebin.php\? | + | |
+ | mv config-intel-hda.txt .config.old | ||
make oldconfig | make oldconfig | ||
- | (build and install your kernel) | + | build and install your kernel |
===== Module Options ===== | ===== Module Options ===== | ||
Line 36: | Line 35: | ||
(in ubuntu it is / | (in ubuntu it is / | ||
- | options snd-hda-intel model=ref position_fix=1 enable=1 index=0 | + | |
===== Mixer Options (VERY IMPORTANT ! ! !) ===== | ===== Mixer Options (VERY IMPORTANT ! ! !) ===== | ||
Line 62: | Line 61: | ||
* Periods/ | * Periods/ | ||
+ | ===== Debian (9 sept 2013) ===== | ||
+ | * Realtime does not have to be compiled anymore into the kernel: it is already by default. I know at least on " | ||
+ | * On Debian the location of the config file is **/ | ||
+ | * Further config files are located at **~/ | ||
+ | * The ' | ||
+ | * The ' | ||
+ | * Example of / | ||
+ | (Use ' | ||
+ | pcm.!default { # declare the default PCM device | ||
+ | type asym # combine playback and capture devices | ||
+ | playback.pcm { ### Playback object ### | ||
+ | type plug # convert audio to mixer format | ||
+ | slave.pcm { | ||
+ | type dmix # mix multiple audio streams | ||
+ | ipc_key 69569 # shared memory key; must be unique, just make one up | ||
+ | ipc_key_add_uid true # add UID to shared mem key | ||
+ | ipc_perm 0600 # shared mem file permissions | ||
+ | slave { | ||
+ | pcm { | ||
+ | type hw # define the playback hardware | ||
+ | card " | ||
+ | device 1 # YOUR playback device on that card | ||
+ | } | ||
+ | format S32_LE | ||
+ | rate 48000 # YOUR samples per second | ||
+ | channels 2 # number of audio channels | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | capture.pcm { ### Capture object ### | ||
+ | type plug # convert audio format from the hardware | ||
+ | slave { | ||
+ | pcm { | ||
+ | type hw # define the capture hardware | ||
+ | card " | ||
+ | device 0 # YOUR capture device on that card | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
===== Comments ===== | ===== Comments ===== | ||
Line 69: | Line 108: | ||
!-- Comments end here --! | !-- Comments end here --! | ||
- | {{tag>intel-hda realtime | + | {{tag>Sound_Cards_and_Drivers |