If tweaks do work, seems to depend to the hardware, BIOS update, Linux
driver etc..
For the ICE cards I can use 256/2/48000 without xruns, the HDSP card
can't be used lower than 256/2/48000 and even then or with
higher latencies, it still cause xruns.
Keyboard mini din, mouse USB, since the mini din mouse didn't work with
some Linux installs anymore.
AMD Athlon dual-core 2.1 GHz, 4 GiB RAM.
I didn't use the the uname -r kernel below for serious audio work, but
other x86_64 and x86 RTs.
For MIDI I use HR timer, but I can't use it for audio.
Nowadays I use the HDSP for audio and the ICE cards for MIDI. If I
don't need MIDI, I disable the ICE cards.
For audio nothing changes when changing PCI/PCIe slots or using a NVIDI
card instead of the integrated ATI graphics, it just has got impact to
the intervals, when MIDI jitter happens, but even for MIDI it doesn't
make a big difference.
[rocketmouse@archlinux ~]$ uname -rm
3.10.61-rt65-1-rt-lts x86_64
[rocketmouse@archlinux ~]$
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor performance
performance
[rocketmouse@archlinux ~]$ cat /usr/local/sbin/tuning
#!/bin/bash
# /usr/local/sbin/tuning - Arch Linux
# 2013/Apr/05
###
http://www.mythtv.org/wiki/PCI_Latency
###
http://wiki.linuxmusicians.com/doku.php?id=system_configuration#pci_bus_lat…
### Bluetooth
#service bluetooth stop
### Network
#service network-manager stop
#service networking stop # does cause serious issues
#modprobe -r r8169 # Ethernet NIC driver
### TerraTec EWX 24/96
#modprobe -r snd_ice1712
### Others
modprobe -r firewire-ohci
modprobe -r firewire_core
#service cups stop
modprobe -r ppdev # parallel port
modprobe -r lp # printer
### Unbinding devices
echo -n "0000:00:13.2" > /sys/bus/pci/drivers/ohci_hcd/unbind
echo -n "0000:00:13.4" > /sys/bus/pci/drivers/ohci_hcd/unbind
### Log file
l="/var/log/tuning.log"
#echo "$ lspci -v " > $l
#lspci -v >> $l
#echo >> $l
echo "# service rtirq status " > $l
service rtirq status >> $l
echo "# grep 18: /proc/interrupts" >> $l
grep 18: /proc/interrupts >> $l
echo >> $l
echo -n $(date)" - "$(uname -r)" - " >> $l
cat /etc/issue >> $l
echo -e
"\n########################################################################\n"
;
cat $l
exit 0
[rocketmouse@archlinux ~]$
diff /usr/local/sbin/tuning /usr/local/sbin/tuning-rice
3c3
< # /usr/local/sbin/tuning - Arch Linux
---
# /usr/local/sbin/tuning-rice - Arch Linux
18c18
< #modprobe -r snd_ice1712
---
modprobe -r snd_ice1712
[rocketmouse@archlinux
~]$ grep music /etc/fstab
/dev/sda11 /mnt/music
ext3 noatime,defaults 0
2 /dev/sdb12 /home/music
ext4 noatime,defaults 0 2
[rocketmouse@archlinux ~]$ service
rtirq status
PID CLS RTPRIO NI PRI %CPU STAT COMMAND
44 FF 90 - 130 0.0 S irq/8-rtc0
199 FF 85 - 125 0.0 S irq/18-snd_hdsp
206 FF 80 - 120 0.0 S irq/20-snd_ice1
213 FF 79 - 119 0.0 S irq/21-snd_ice1
78 FF 75 - 115 0.0 S irq/19-ehci_hcd
81 FF 75 - 115 0.0 S irq/16-ohci_hcd
94 FF 74 - 114 0.0 S irq/17-ohci_hcd
100 FF 73 - 113 0.0 S irq/17-ohci_hcd
42 FF 70 - 110 0.0 S irq/1-i8042
30 FF 50 - 90 0.0 S irq/9-acpi
61 FF 50 - 90 0.0 S irq/42-radeon
82 FF 50 - 90 0.0 S irq/14-pata_ati
83 FF 50 - 90 0.0 S irq/15-pata_ati
88 FF 50 - 90 0.0 S irq/22-ahci
185 FF 50 - 90 0.0 S irq/7-parport0
371 FF 50 - 90 0.0 S irq/43-enp3s0
3 FF 1 - 41 0.4 S ksoftirqd/0
19 FF 1 - 41 0.5 S ksoftirqd/1
[rocketmouse@archlinux ~]$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: HDSPMx579bcc [RME AIO_579bcc], device 0: RME AIO [RME AIO]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: EWX2496 [TerraTec EWX24/96], device 0: ICE1712 multi [ICE1712
multi] Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: EWX2496_1 [TerraTec EWX24/96], device 0: ICE1712 multi [ICE1712
multi] Subdevices: 1/1
Subdevice #0: subdevice #0
RTIRQ_NAME_LIST
Regarding MIDI jitter caused by USB MIDI, there's no difference between
"usb" or making the USB port for the MIDI interface head of the USB
ports, perhaps for USB audio it has got noticeable impact.
[rocketmouse@archlinux ~]$ grep RTIRQ_NAME_LIST /etc/conf.d/rtirq
RTIRQ_NAME_LIST="rtc snd_hdsp snd_ice1 usb i8042"
JFTR the newer kernels assign individual IRQs to the graphics and
HDSP, but with older kernels they share the IRQ and not
sharing the IRQ anymore didn't improve anything.
Regards,
Ralf