On Sun, 1 Mar 2015, Robert Jonsson wrote:
Hi Ben,
2015-02-28 21:17 GMT+01:00 Len Ovens <len(a)ovenwerks.net>et>:
I can only answer some of these questions. The 1010s will have
slightly lower latency. Mine runs at 16/2,
I sometimes wonder about numbers like these and if I'm doing something wrong or
if it's incredibly hardware dependent. I've never ever come close to running at
16/2 in a stable manner. 128/2 I could run reasonbly stable with the Delta 44.
Now with firewire it's harder still.
Do you really get this without xruns? Any magic tricks? How much have you tweaked
your settings to get there?
- Ubuntu lowlatency kernel
- No hyperthreading
- No Intel Boost technology
- ice1712 card in pci slot with highest number irq
(I actually test my card in different slots for best performance)
- not sharing that irq with _anything_ else
- Internal audio disabled in BIOS
- On board Intel graphics to two screens
- Keyboard and mouse use serial ports (mini din)
- CPUs locked to one speed. I set performance, but I have gotten good
performance locking the speed to 800Mhz too. Try performance
first, but if things get too hot then drop a step. If you are
building your own kernel make sure to include "userspace" if you
think heat may be a problem. I have run all 4 cores at 100% for 15
min. (till temperature stablizes) and am ok with performance.
- /etc/default/rtirq has:
RTIRQ_NAME_LIST="rtc snd_ice1712 snd usb i8042"
The snd is for the ensoniq card that I use for midi. It has a
higher intrinsic latency than the ice1712 and so should have
a lower irq as well as priority. I have found I can use the two
channels on the ensoniq with zita-a2j with no issues as well.
- I turn off cron while running low latency use. I have an app that
does this all together for me:
http://www.ovenwerks.net/software/index.html
- Pulse audio does not know about any ALSA devices and is disabled during
very low latency work. PA into jack seems to work fine down to
128/2, but cpu use starts to climb lower than that.
- There is no WIFI on this machine. My netbook had to have the WIFI kernel
module unloaded for xrun free audio (even at 20ms one way latency).
I have also found that telling the mother board _not_ to set irqs while
booting helps. The Linux kernel seems to do a better job of assigning USB
irqs with less overlap.
I have done this with two motherboards now. The first was an old P4
(single core, 2.4Ghz, 2.5Gram... started with 1Gram actually) Where PCI
slot choice made a very big difference, it is less so with the new one.
I spent some time when I was looking for a new motherboard. I wanted As
many PCI slots as possible (I have three), I wanted a 4 core i5 CPU
(hyperthreading is not an issue :) and I wanted the din plugs for both
mouse and keyboard. The mouse generates a lot of USB traffic on a USB
mouse.
I get xruns at very predictable times:
A jack application starting or stopping.
Some Firefox uses.
System updates.
There are a few jack applications out there that do not properly shutdown
their jack ports on exit, these always (at any latency) give xruns. I
found this out during my fledgling attempts at jack programing.
--
Len Ovens
www.ovenwerks.net