best hardware to avoid xruns?

I am wondering what kind of hardware do users have, that do not have ANY xruns?

processor type, (Intel, AMD, model, speed, number of cores)
ram, (DDR, DDR2, etc)
hard drive type, (PATA,SATA, RAID stripping)
OS level.
Sound card, number of channels, ADAT, USB, etc

I am wondering, curious… and thinking its time for me to upgrade to do anything serious.

I guess thorgal, you are the only one lucky enough to not get any xruns?

Is Ardour / jack / alsa able to take advantage of the dual processor?

Would the quad make any difference?

I’m pretty much convinced my Celeron D with 512 MB ram is not fast enough. I still get an xrun between 2 and 5 seconds of solid recording. Maybe a second DDR 512MB stick might help. This machine is ok for general office stuff. but it is challenged by Ardour… I dont have any extra servers running in the background. I killed them just make sure… :wink:

Openbox seemed to help make the ardour UI more snappy. but I’m still plagued with xruns…

thanks

Hi kelargo,
I am sure there are plenty of folks out there with a rock solid setup. As to mine, I went for what seemed to me the best supported h/W by linux (intel stuff, RME gears) and chose debian as my OS (subjective choice, I admit, I’ve been using debian for a verrrry long time), and I also wanted a powerful machine for other purposes. You won’t believe it but the PC I built as a DAW is also used as a BOOT and NFS server for a diskless client on my LAN (MythTV system). The DAW PC has an extra HD which is used very extensively when watching TV. The diskless client consists of a mobo (some mini ITX) + TV tuner card (Hauppauge PVR500). The PC ethernet chip gets very busy due to NFS activities. Sometimes, my girlfriend watches TV at the same time I record stuff. Still, nothing shows up in terms of xruns. But keep in mind that this is all stable because I gave up the low latency side of things, which I do not need at all. The RME HDSP system has something to do with it, definitely! The TotalMix application (hdspmixer) gives you so much control on the beast and most of all, it allows you to bypass the whole computer for redirecting inputs to outputs (h/w monitoring). That helps a lot since it reduces CPU load to virtually 0. Considering my experience with ardour and other jack apps, I knew I would also need a lot of RAM. So I run with no less than 4G of PC6400 DDR2 RAMs. The dual processor does also help a lot! I know, I know, an effective DAW is not necessarily about horsepower but careful setting of efficient hardware (IRQs, etc). SO, YMMV :slight_smile:

But RME HDSP PCI have 4 different kinds of audiocards - HDSP MADI, HDSP AES, HDSP9632/52. What did you say about?

it depends on your budget as well. But the most expensive h/w does not mean that you will not get xruns.

If any relevant, this is mine :

PC:

Mobo : Intel DG965SS, CPU socket can host a Core 2 Duo. I use an Intel E6600 CPU (2x2.4 GHz)
RAM : 4x1G DDR2 PC-6400 (from memory, I cannot tell you right now)
HD : 2HDs, SATA2, 7200RPMs. OS on 80G Samsung SpinPoint (or similar), ext3 formatted with different partitions (/boot /home /usr / etc), data on WD 500G (Caviar SE serie, don’t remember exactly), XFS formatted.
Case : Antech Sonata III (very silent) with Zalman passive coolers on HDs and a big Zalman cooler for the CPU, something with 9700 in its reference ID. Very efficient and silent …
VGA: onboard intel GPU extended with SVDO card, dual monitors Samsung SyncMaster 225BW and 226BW. By using xrandr, I have a virtual screen of 3360x1050. Excellent with Ardour’s editor and mixer windows opened next to each other!

Audio :

RME Hammerfall DSP (PCI version) connected to RME Multiface II. Using snd-hdsp ALSA driver. The PCI card is not sharing IRQ with something else. Some other PCI sockets do, so I carefully chose the one that does not.

OS:

Debian Sid, kernel realtime (2.6.22.1-rt9). Window manager : openbox emulating KDE (I am an old fan of KDE but KDE itself is too heavy). Openbox does wonder at emulating it. Emulating might not be the correct word, some KDE services are running for real.

JACK: I don’t need low latency (using h/w monitoring) so I keep the default #frames to 1024, though at 96kHz sample rate. No xruns like this. Xruns I see are due to client crashing (dev version of Hydrogen for ex., or ardour bugs (GUI issues that are pretty rare nowadays). On the other hand, I also see xruns (but very rarely) due to “slow” clients like Amarok. When I do serious stuff, I never have this kind of clients running. Amarok is handy for other things.

I’ve been running a Celeron 1.2GHz workstation with a 30GB HDD and 512MB’s ram for quite some time now without X-Runs. This is recording a single track with a latency of 5.8ms (44100Hz). Ardour records flawlessly without X-Runs for periods of 40 minutes plus (I record public speakers) while running an equaliser, reverb, dynamics processor and limiter plugins (although the system was by no means fast enough to use JAMin).

Soundcard is an M-Audio Delta 66.

I have to ask, are you running a kernel with real-time preemption compiled in? To understand the benefits of real-time, the Celeron 1.2GHz could record indefinitely without X-Runs, whereas my non-RT Sempron 2400+ system had many X-Runs without any load being put on the system. You can install the RT (-rt) kernel in Ubuntu very simply, or alternatively you can download a distro that has an RT kernel included by default (such as 64Studio).

Thanks Hamal and Thorgal. I am using real-time module.
I followed everything I could find in the different alsa/ jack/ ardour how-to’s.

I stumbled across something else that solved my problem.
I am using gentoo linux… so I’ve been compiling my kernel to get it where I want… I have a PATA hard drive and I’ve been using the default IDE driver.

I saw some tutorials on using hdparm and I tried some different hdparm commands. My hard drive throughput doubled… from 2M/sec to 4M/sec. still pretty crummy.
I was then looking closer at my dmesg and saw 33Mhz for the IDE drive. That’s not what I read for the specs on my motherboard. So I went back into make menuconfig and made sure my motherboard’s IDE controller was in there.
(for me it was Sis964, I think) Originally, the motherboard’s driver was not in there… the kernel was using the default ide driver.

Then after I booted, the results after applying the hdparm commands showed a more dramatic performance increase. its now somewhere around 70M/sec.

So, this is something to keep in the back of everyone’s mind, as well as updates to the different ALSA/Jack/Ardour how-to’s to help people that may be in a boat similar to mine. :slight_smile:

I’m still trying to figure out about setting the idebus parameter. I read setting the value in grub was(is?) to be deprecated. I think it is still at the default, 33Mhz… ? I need to experiment a little more in that area to make sure I’m fully using the speed of the PATA connection.

OBTW, also, while I was in make menuconfig, I doubled the parameters for RAM disk from the defaults. Not sure if that has any bearing… that warrants some more emperical discovery. I still want to increase RAM on this machine… from 512MB to 2GB… and again, that will happen in due time. :slight_smile:

but where it stands now, I can easily record over a min without any xruns! (this was just a quick test) :slight_smile:

thanks again everyone.

cheers!

Thanks Hamal and Thorgal. I am using real-time module.
I followed everything I could find in the different alsa/ jack/ ardour how-to’s.

I stumbled across something else that solved my problem.
I am using gentoo linux… so I’ve been compiling my kernel to get it where I want… I have a PATA hard drive and I’ve been using the default IDE driver.

I saw some tutorials on using hdparm and I tried some different hdparm commands. My hard drive throughput doubled… from 2M/sec to 4M/sec. still pretty crummy.
I was then looking closer at my dmesg and saw 33Mhz for the IDE drive. That’s not what I read for the specs on my motherboard. So I went back into make menuconfig and made sure my motherboard’s IDE controller was in there.
(for me it was Sis964, I think) Originally, the motherboard’s driver was not in there… the kernel was using the default ide driver.

Then after I booted, the results after applying the hdparm commands showed a more dramatic performance increase. its now somewhere around 70M/sec.

So, this is something to keep in the back of everyone’s mind, as well as updates to the different ALSA/Jack/Ardour how-to’s to help people that may be in a boat similar to mine. :slight_smile:

I’m still trying to figure out about setting the idebus parameter. I read setting the value in grub was(is?) to be deprecated. I think it is still at the default, 33Mhz… ? I need to experiment a little more in that area to make sure I’m fully using the speed of the PATA connection.

OBTW, also, while I was in make menuconfig, I doubled the parameters for RAM disk from the defaults. Not sure if that has any bearing… that warrants some more emperical discovery. I still want to increase RAM on this machine… from 512MB to 2GB… and again, that will happen in due time. :slight_smile:

but where it stands now, I can easily record over a min without any xruns! (this was just a quick test) :slight_smile:

thanks again everyone.

cheers!

hey, nice to hear you’re improving your system :slight_smile:
About the RAM disk thing in the kernel menuconfig, I thought it had to do with the size of the initrd (or init ram disk), you know, that stuff you boot before the real kernel in order to set up some h/w parameters to prepare for the second stage of the boot process. So to my knowledge (which is not very big when it comes to low level stuff), it has nothing to do with your problem. But the fact that’s you are using a not very fast bus when it comes to writing data to disk is definitely something to look into.

I’m using the following, with no Xruns @ 2ms latency for hours on end (the only time I get Xruns is when tuning instruments using Fmit; then I get TONS of 'em. Once I’m in tune and shut off Fmit, back to no Xruns ever):

-AMD X2 4600 (dual core)
-Asus M2N-32SLI AM2
-4GB OCZ Gold DDR2 @ 800 MHz w/5-5-5-15 CAS Latency
-1 X 320GB Seagate SATA 2 @ 7200 RPM containing Ardour
-2 X 320GB Seagate SATA 2 @ 7200 RPM in a RAID 0 array (striping) for recordings
-M-Audio Firewire Solo recording interface
-Ubuntu Gutsy (7.10) with real time kernal
-JACK settings: 64 frames/period; 3 periods; 96,000 Hz (64 * 3 / 96000 * 1000 = 2ms latency)

I also have the compiz-fusion desktop cube and I can have TV on one side of the cube (which is delivered via another firewire connection using MythTV) and be recording on another with no Xruns whatsoever.

EDIT I’ve made 2 changes, and JACK remains rock solid at 2ms latency:

  • Have overclocked the CPUs by 10%, from 2.4Ghz to 2.64Ghz.
  • Have changed the CAS Latency settings on my RAM to 5-5-5-12.