Xruns?

hola capitan!

what’s your h/w and s/w setup ?

PS: @GMaq, I never saw your question from last year! But to reply quickly: the HAL takeover of input device detection was a real pain and simply broken on debian for a while … I had to disable that in xorg.conf for a while. Then things got sorted out with xorg 7.5 and better HAL integration. I had to create a file for my keyboard “/etc/default/keyboard” (I believe it’s in this dir) with the xorg options. They are the same I used to have in xorg.conf but now put into what looks like env variables for HAL. Without this file, I had my kbd default set to some unexpected layout, etc. In the end,I removed ALL input device entries from my xorg.conf.

Don’t know how distros are shipping these things nowadays, since I keep maintaining and updating my debian sid install from 2007 :slight_smile:

Hola!
My system: Intel core 2 duo 2700. 2gb ram, gforce 8600 gt
Ubuntu 10.04 32 bits, a couple of kernels (vanilla, RT), Gnome. Jack control with a script to run pulse audio trough Jack.
My actual Jack configuration:
Real time
priority (default)
periods 1024
frequency 44100
buffer 2
46.4 mseg latency

How you get 0 xruns with a vanilla kernel???

@capitan:

you did not mention what your audio device is.

Well, no xrun at all has a lot to do with your h/w and s/w configuration, not so much CPU and RAM (unless you are doing a lot of s/w effect processing, loads tons of audio samples to RAM, etc). Anyways, things to be looked into are :

  • use preferably a PCI, PCIe or firewire audio card which can cope with the load (onboard chips are usually crappy, both for the sound quality and their meager capabilities)
  • IRQ assignment (isolate your audio card on a single IRQ line)
  • IRQ process priority level (SCHED_FIFO prio) if running the RT-patched kernel (I do not so I do not care too much here, and the recent vanilla is good enough if preemption is enabled)
  • maybe of relevance in some systems: PCI latency timer of some devices (see setpci command, and google around the PCI latency timer concept - usually you’ll want to decrease the VGA latency_timer often set to the max, and increase a bit the more relevant ones, i.e. audio and hard disk controller most likely)
  • power management: forget about it on a DAW PC
  • no network interference if possible (WIFI in particular)
  • good hard disk throughput and fast seek time preferably (mounting with the ‘noatime’ option is also helping or use a RAID setup)
  • filesystem that can keep up (ext3 should be OK, alternatively XFS, which I use and did not crap a single time in ~ 3 years of operation)
  • remove all background services (aka daemons) that you do not need
  • dedicate your PC to audio only, meaning that fancy desktop effects, 3D or composite graphical performance, etc are not exactly important
  • use a lightweight windows manager (I use KDE4, not lightweight but no problem either)
  • compile some of the apps yourself. The prepackaged ones may not be compiled as you would like them to be.
  • … and other things I might have forgotten

My soundcard is onboard : (
But I want to achieve the same performance that I have in Windows or OS X with the same hardware. Indeed, the latency is ok (I think better than in the other OS!) But sometimes I hear a noise XRUN. I´m trying another kernel now and the xruns are fewer (1-3 in a session)
I use Gnome, ext4 filesystem, no fancy desktop

so what’s the chip model ?

cat /proc/asound/cards

and what jack setting do you apply ?

cat $HOME/.jackdrc

HDA-Intel - HDA Intel
HDA Intel at 0xfb000000 irq 22

/usr/bin/jackd -R -t1000 -dalsa -dhw:0 -r44100 -p1024 -n2

@capitanmission: Have you tried starting jack in playback only? I have an Intel HDA chipset on one of my machines that jack won’t work with unless I use playback only ( I get Xruns and eventually JACK bombs with some timeout message - maybe one day I’ll have time to look at the problem properly and see why that happens but for the moment I just use playback only).

@linuxdsp: you probably don’t have the capture source set “correctly”. this causes the precise behaviour you describe with quite a few HDA chipsets".

@Paul: Thanks, I think I have that set right, but I’ll check again. It could be I’ve overlooked something in the setup. It’s on a machine I was just using for testing so I wasn’t too worried that I couldn’t record - I just needed to hear audio. I just assumed it was something less than ideal about the HDA chipset / ALSA driver combination…

I don’t know if this is still relevant for the HDA, but it used to work much better with n=3 for the number of periods per buffer.

@thorgal: I used to have to set n=3 on the machine I was having HDA related problems on (cheap Dell notebook…) but subsequent revisions of ALSA drivers seem to have made it work (in playback only) without xruns using more normal settings. As Paul mentioned, I may have misconfigured something that is causing it to only work for me in playback-only - I’m going to check that again…

…I had indeed managed to accidentally disable the mic input, which seems to be the cause of the playback-only problem I was having… :slight_smile:

Thanks to Paul for pointing out the likely cause of that problem, however, starting jack in playback only is still quite a useful way to track down some x-run problems…

I can record my guitar, I have good latency, I work with soft synts, a lot of samples, etc, no problems. But the xruns are there (in one session, a lot with vanilla kernel, 3 or 7 in the rt kernel).

@capitanmission: Are you saying that normally you don’t get x-run problems, but its just one session that is much worse?

Hi i noticed something intersesting.
When i’m recording i get xruns only when the cursor arrive near the end marker and then no xrun . apparently the xrun “for me” only appears just before or just after the END marker.