[LAU] midi keyboards, jackd, low latency

tizo tizone at gmail.com
Thu Feb 26 16:20:48 EST 2009


Hi there,

Sorry about my previous mail. I was just starting to write a draft
about the topics I want to ask, and I accidentally push the send
button.

Well, my goal is to play two midi keyboards, sending the events
through jackd, to qsynth. My computer is a Laptop HP 550, with HDA
Intel sound card, 3 GB of memory, and a Core 2 DUO CPU of 1.40 GHz. My
OS is UbuntuStudio 8.04, with kernel 2.6.24-23-rt.

First of all, I cannot run jackd without xruns, if I configure it with
32 frames per period, or less. I am running it as root, with realtime,
and a priority of 70. As soon as I run it, it starts to count xruns,
and I am only executing jackd.

Looking at the different IRQ, I have saw that my sound card is sharing
the IRQ 16 with an USB port, and the video driver. This is a cat of
/proc/interrupts:

           CPU0       CPU1
  0:    1026591    1099066   IO-APIC-edge      timer
  1:       2060        839   IO-APIC-edge      i8042
  8:          0          1   IO-APIC-edge      rtc
  9:        121         95   IO-APIC-fasteoi   acpi
 12:     118454      56308   IO-APIC-edge      i8042
 14:       6410       5638   IO-APIC-edge      libata
 15:       5167       6228   IO-APIC-edge      libata
 16:        624        482   IO-APIC-fasteoi   uhci_hcd:usb1, HDA
Intel, i915 at pci:0000:00:02.0
 17:      24009      14458   IO-APIC-fasteoi   eth1
 18:          0          0   IO-APIC-fasteoi   ehci_hcd:usb2, uhci_hcd:usb5
 20:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3, ehci_hcd:usb6
 21:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
508:        378        139   PCI-MSI-edge      eth0
NMI:          0          0   Non-maskable interrupts
LOC:     295845     239602   Local timer interrupts
RES:      34174      96493   Rescheduling interrupts
CAL:      10832        457   function call interrupts
TLB:        873        742   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
SPU:          0          0   Spurious interrupts
ERR:          0

I have searched a lot on Internet, and even in the list, and I have
not found a way to change the IRQ assignments. In fact, I have read
some mails that said that I can't do that in a laptop (except in some
Thinkpads, where IRQ can be changed in the BIOS), as in PCs this can
be done changing the card to other slot. In other places, some kernel
parameters were suggested to obtain other IRQ assignments, but the
only parameter that change those in my computer, was "acpi=off", and
it was not better. In this case, /proc/interrupts shows the following:

           CPU0
  0:        602    XT-PIC-XT        timer
  1:        209    XT-PIC-XT        i8042
  2:          0    XT-PIC-XT        cascade
  8:          0    XT-PIC-XT        rtc
 10:       2912    XT-PIC-XT        uhci_hcd:usb1, uhci_hcd:usb3,
uhci_hcd:usb4, ehci_hcd:usb6, eth1, HDA Intel, i915 at pci:0000:00:02.0
 11:          0    XT-PIC-XT        ehci_hcd:usb2, uhci_hcd:usb5
 12:       5196    XT-PIC-XT        i8042
 14:       9987    XT-PIC-XT        libata
 15:        704    XT-PIC-XT        libata
508:         31   PCI-MSI-edge      eth0
NMI:          0   Non-maskable interrupts
LOC:      87955   Local timer interrupts
RES:          0   Rescheduling interrupts
CAL:          0   function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
THR:          0   Threshold APIC interrupts
SPU:          0   Spurious interrupts
ERR:          0

So, my first question is: is there a way to change my IRQ assignment?,
or that really cannot be done in my laptop? I would like to have it in
a not shared one, not necessarily in IRQ 9, as with rt kernel a
priority raise of an IRQ can be done with chrt.

I have also read, that the HDA sound card is not good for audio
processing. I am just starting to configure my whole "synthetizer
box", so by this time, I am only making some tests with it. But, for
the near future, which usb sound card would you recommend?.

I also wonder that, if the IRQ of USB ports cannot be change too, I
would have some of them sharing some IRQ. Would that affect the
performance, having an usb sound card?. And what about the performance
of the midi events for the keyboards connected to the laptop?.

Thanks very much,

tizo



More information about the Linux-audio-user mailing list