You are here

Add new comment

rncbc's picture

You can find the latest and original here (rtirq-20071012 ATTOW).

rtirq is a simple init script, which main purpose is about to setup IRQ service thread priorities in such a reasonable ordering for general audio workstation. That might be just what you're after, indeed.

The way it should be installed depends on your distro, although it tries to comply with LSB. If your distro packaging is RPM based, then you're lucky as me and it suffices to install the .rpm package, also available from here (rtirq-20071012-19.noarch.rpm ATTOW).

The main purpose is all about fixing the IRQ thread RT priorities (SCHED_FIFO) in some configurable but generic order (no magic hardwired numbers:).

Just check the installed configuration on /etc/sysconfig/rtirq (formerly rtirq.conf), and edit if you see fit. The default priority order goes as follows:

  • 90 - rtc - real-time clock (usually IRQ 8)
  • 80 - snd - ALSA PCI sound modules (usually IRQ 5, 17 and/or 22 ...)
  • 70 - usb - USB host controllers (usually IRQ 10, 16, 18, 19 and/or 23 ...)
  • 60 - i8042 - keyboard/ps2-mouse controllers (usually IRQ 1 and/or 12 ...)

This setup has proven to be quite stable and reliable, as long as jackd -R... runs with few or no xruns, near very low-latency (e.g. -p64) for most general and practical audio setups. It works for me, either on PCI or USB audio interfaces. Note that, if your sound device is firewire you'll need to inscribe ohci1394 in the main configuration line (see /etc/sysconfig/rtirq), like changing it from:
RTIRQ_NAME_LIST="rtc snd usb i8042"
to:
RTIRQ_NAME_LIST="rtc ohci1394 snd usb i8042"
there you'll have (all) firewire devices serviced with higher priority then all the rest.

Note that the main LSB script /etc/init.d/rtirq is originally packaged as rtirq.sh, and if your distro instructs you to place the configuration file somewhere else but the standard, you'll need to edit it and change the RTIRQ_CONFIG script variable accordingly.

Cheers.