I achieved a milestone today. I'm not going to go into all that went before (there will be a part two to my "Cat"astrophic blog, but it's a bit long).
I got rosegarden, ardour2, hydrogen, and Linuxsampler with a massive piano sample and a small bass sample, to all play together on x86_64 in a gig of ram. Under normal gnome, even. On a standard audio card running with the plughw1 at 96Khz. 3 stereo tracks! I know this is not much compared to what some systems can do, and not much compared to what I was doing in the late 90s, but it's better than I've managed to do in years. My basic setup now looks like this (including cat):
I have a second keyboard I use when typing isn't critical and my cat is somewhere else (which is rare). The S6000 sampler, the dual opteron, 4 hard disks with a terabyte of storage on them, and a few other devices are in the garage below this room, which keeps them silent and out of the way.
Since most of what I was fighting was memory pressure in general, (I have 800MB out on swap), and since adding ram isn't an option, and after some other tuning that I'll get to in my next blog (some of which is important), I gave up on a pure userspace software fix and:
0) Updated to 2.6.19-rt11. Mingo has come out with bunch of kernels in the past week. It's really great to do a yum update and get them without needing to recompile.
1) KILLED BEAGLED DEAD. I have no idea what beagle is for but it's an I/O pig. Let Paul Vixie do the indexing at 2AM, I say.
2) Added a second drive for swap and samples. I dug an old drive out of the garage and stuck it on the firewire port on the laptop, and formatted it with xfs for good measure.The first drive gets used for ardour and swap.
In pursuit of simplicity and because of a few crashes that seemed to be firewire related, I'd taken firewire out of the system completely. Now I'm thinking I could stripe a few firewire drives together.
3) Ran over X client/server. This took some digging - for years now Linux distributors have been arbitrarily disabling one of the most useful features of Xwindows - not only disabling the ability to run client/server, but blocking the Xwindows TCP ports by default. This has always driven me bats - the beauty of X IS that it runs transparently over the network. FC6 has even gone so far as making VNC, of all things, the default "remote desktop" option for X. Naughty, naughty...
3a) in the end, I got it all to run natively on the one display. The audio meters tended to lag more than they did running client/server, but I didn't care....
4) Always, when doing an export, I stop syncing to jack. The freewheeling mode tends to crash one of the other programs in the jack audio callback path.
Now the system is doggy as hell while doing basic things like switching windows... but it got through an entire recording process for the first time ever (from creating the drum track in hydrogen, to playing piano live into rosegarden, to recording the piano, bass and drums on 3 different stereo tracks)
Now... well, I would love to be using my rme-audio card, but my cat keeps unplugging the cable.
It's finicky, I haven't had that card come up once in 4 boots... but I don't care! the 96k plug is working just fine, I only need the rme for live instruments (guitar and vocals)UPDATE
: Right after I posted this, after letting my system idle for the time it took to type in the blog entry, I hit play on the jack synced the rosegarden+hydrogen+linuxsampler processes. Boom - Rosegarden crashed. I have a real good handle on why, now, I'm off to apply the same fixes I applied to linuxsampler and hydrogen and we'll see what happens next. Also, fiddle with vm.swappiness. "Swappiness is a waaarm gun"....