[LAD] PCI MIDI jitter - comparison Ubuntu (bad) and Suse (might be ok)

Ralf Mardorf ralf.mardorf at alice-dsl.net
Sun Jul 11 14:53:14 UTC 2010


Hi :)

today I compared a default Ubuntu Studio with and without the
proprietary NVIDIA driver. Note that for Ubuntu Studio 2 tests failed
because of time out errors, but even the tests that were passed with
success are significantly less good, than the tests with openSUSE, were
I set up audio myself.
Ubuntu based Linux until now were my music Linux, e.g 64 Studio 3.0 and
3.3, but I wonder if bad MIDI latency is depending to Ubuntu.
For Ubuntu Studio even PCI MIDI has got more jitter, but USB MIDI for
Suse, see older test in the archives.

What might be the difference between Ubuntu and Suse?

Could anybody compare different distros too?

------------------------------------------------------------------------
Ubuntu Studio 10.04 amd64
2 x Terratec EWX 24/96 (2 single cards, but 1 virtual card)
Frequency scaling ?
------------------------------------------------------------------------

spinymouse at ubuntu:~$ hwinfo --gfxcard
  Driver: "nouveau"
  Driver Modules: "drm"
  IRQ: 18
spinymouse at ubuntu:~$ alsa-midi-latency-test -l
 Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0
 16:0    TerraTec EWX24/96                TerraTec EWX24/96 MIDI
 20:0    TerraTec EWX24/96                TerraTec EWX24/96 MIDI
128:0    TiMidity                         TiMidity port 0
128:1    TiMidity                         TiMidity port 1
128:2    TiMidity                         TiMidity port 2
128:3    TiMidity                         TiMidity port 3
spinymouse at ubuntu:~$ alsa-midi-latency-test -Rrw=2 -o20:0 -i20:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 1.00 ms
 worst latency was 1.97 ms, which is great.

spinymouse at ubuntu:~$ alsa-midi-latency-test -Rrw=2 -o20:0 -i20:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 1.00 ms
 worst latency was 3.36 ms, which is great.

spinymouse at ubuntu:~$ alsa-midi-latency-test -Rrw=2 -o16:0 -i16:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 0.99 ms
 worst latency was 1.93 ms, which is great.

spinymouse at ubuntu:~$ alsa-midi-latency-test -Rrw=2 -o16:0 -i16:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 0.99 ms
 worst latency was 1.74 ms, which is great.

spinymouse at ubuntu:~$ uname -a
Linux ubuntu 2.6.32-23-preempt #37-Ubuntu SMP PREEMPT Fri Jun 11
10:19:07 UTC 2010 x86_64 GNU/Linux
spinymouse at ubuntu:~$ envy24control
0xcf00, irq 20, Master Clock int 44100

No envy24control for
0xcb00, irq 21, Master Clock ?

20:0 opto S/PDIF out --> 16:00 opto S/PDIF in

------------------------------------------------------------------------
Ubuntu Studio 10.04 amd64
2 x Terratec EWX 24/96 (2 single cards, but 1 virtual card)
Frequency scaling ?
------------------------------------------------------------------------

spinymouse at ubuntu:~$ hwinfo --gfxcard
  Driver: "nvidia"
  Driver Modules: "nvidia"
  IRQ: 18
spinymouse at ubuntu:~$ alsa-midi-latency-test -l
 Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0
 16:0    TerraTec EWX24/96                TerraTec EWX24/96 MIDI
 20:0    TerraTec EWX24/96                TerraTec EWX24/96 MIDI
128:0    TiMidity                         TiMidity port 0
128:1    TiMidity                         TiMidity port 1
128:2    TiMidity                         TiMidity port 2
128:3    TiMidity                         TiMidity port 3
pinymouse at ubuntu:~$ alsa-midi-latency-test -Rrw=2 -o20:0 -i20:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 1.00 ms
 worst latency was 1.84 ms, which is great.

spinymouse at ubuntu:~$ alsa-midi-latency-test -Rrw=2 -o20:0 -i20:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 1.00 ms
 worst latency was 1.27 ms, which is great.

spinymouse at ubuntu:~$ alsa-midi-latency-test -Rrw=2 -o16:0 -i16:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 0.99 ms
 worst latency was 1.92 ms, which is great.

spinymouse at ubuntu:~$ alsa-midi-latency-test -Rrw=2 -o16:0 -i16:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 0.99 ms
 worst latency was 1.72 ms, which is great.

spinymouse at ubuntu:~$ uname -a
Linux ubuntu 2.6.32-23-preempt #37-Ubuntu SMP PREEMPT Fri Jun 11
10:19:07 UTC 2010 x86_64 GNU/Linux
spinymouse at ubuntu:~$ envy24control
0xcf00, irq 20, Master Clock int 44100

No envy24control for
0xcb00, irq 21, Master Clock ?

20:0 opto S/PDIF out --> 16:00 opto S/PDIF in

------------------------------------------------------------------------
openSUSE 11.2 amd64
2 x Terratec EWX 24/96 (2 single cards, but 1 virtual card)
Frequency scaling performance
------------------------------------------------------------------------

spinymouse11.2 at suse11-2:~> su -c "hwinfo --gfxcard"
  Driver: "nvidia"
  Driver Modules: "nvidia"
  IRQ: 18
spinymouse11.2 at suse11-2:~> alsa-midi-latency-test -l
 Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0
 16:0    TerraTec EWX24/96                TerraTec EWX24/96 MIDI
 24:0    TerraTec EWX24/96                TerraTec EWX24/96 MIDI
spinymouse11.2 at suse11-2:~> alsa-midi-latency-test -l
 Port    Client name                      Port name
 14:0    Midi Through                     Midi Through Port-0
 16:0    TerraTec EWX24/96                TerraTec EWX24/96 MIDI
 24:0    TerraTec EWX24/96                TerraTec EWX24/96 MIDI
spinymouse11.2 at suse11-2:~> alsa-midi-latency-test -Rrw=2 -o24:0 -i24:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 0.99 ms
 worst latency was 1.07 ms, which is great.

spinymouse11.2 at suse11-2:~> alsa-midi-latency-test -Rrw=2 -o24:0 -i24:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 0.99 ms
 worst latency was 1.08 ms, which is great.

spinymouse11.2 at suse11-2:~> alsa-midi-latency-test -Rrw=2 -o16:0 -i16:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 0.99 ms
 worst latency was 1.06 ms, which is great.

spinymouse11.2 at suse11-2:~> alsa-midi-latency-test -Rrw=2 -o16:0 -i16:0
> alsa-midi-latency-test 0.0.3
> set_realtime_priority(SCHED_FIFO, 99).. done.
> clock resolution: 0.000000001 s
> SUCCESS

 best latency was 0.99 ms
 worst latency was 1.05 ms, which is great.

spinymouse11.2 at suse11-2:~> uname -a
Linux suse11-2 2.6.31.6-rt19 #1 SMP PREEMPT RT Wed Nov 18 16:59:26 CET
2009 x86_64 x86_64 x86_64 GNU/Linux
spinymouse11.2 at suse11-2:~> envy24control
spinymouse at ubuntu:~$ envy24control
0xcf00, irq 20, Master Clock int 44100

No envy24control for
0xcb00, irq 21, Master Clock ?

24:0 opto S/PDIF out --> 16:00 opto S/PDIF in

I still have got some tests to do, e.g. a real test by listening to MIDI
music and I'll test what happens if two sound cards become one virtual
sound card, http://www.jrigg.co.uk/linuxaudio/ice1712multi.html and
before doing this I need to test if the second, new second hand card
from Ebay isn't broken for audio, resp. I'll compare the sound quality
for my old and the new Terratec EWX 24/96 sound card, before they become
one virtual sound card.

Cheers!

Ralf




More information about the Linux-audio-dev mailing list