Scons version problem (solved - but web site needs updateing?)

I have just had a rather stressful week recovering my old ubuntu Dapper system - with my home grown rt kernel - after trying ubuntu Hardy and gving up after such poor real time performance (yes it was the rt-kernel I tried). So I have just had to rebuild Ardour under Dapper. Now the version of scons in the Dapper repros. is 0.96.1, which the ardour build page indicates is ok (it says 0.96 or later).

I got an error along to lines of:
AttributeError … LibraryInfo instance has no attribute ‘Clone’:
… plus a load of other python errors all about scons scripts.

Luckily, the first thing I tried was upgrading scons from the scons site to scons 1.1.0

Now all is well and ardour is busy building as I type.

I Just thought perhaps someone should update the build page on the web site.

I will crawl back under my stone now…

John T.

PS I dont know why I did not find this when I first built ardour under ubuntu dapper.

JohnT,

Hats off to you for getting this many years out of Dapper! Although I use Gutsy, I would agree that the recent -rt Kernels are not all they should be, and Ubuntu’s 6 month “flavour of the month” release schedule really wreaks havoc with building a stable AV Workstation. As soon as Hardy was released getdeb and some other popular package sites pulled Gutsy packages. I love Ubuntu but have basically, like yourself been forced to learn to build my own updates. I often wonder what the hurry is all about.

Hats off to you for getting this many years out of Dapper!

Well… it depends how you define Dapper: I have a 2.6.22.1-rt9 kernel, ALSA 1.0.18, jack version 0.109.2 qjackcrl 4.4.3, rosegarden 1.7.2 and ardour 2.5. You won’t find any of these in the Dapper repros ;-).

The only things I am not really happy with are the crappy fonts for qt4 - and hence for qjackctl - and the rather buggy version of evolution mail; I really should build a more upto date version.

Arrgg, I almost forgot: ardour 2.6.1 will not build! I think there is a problem with the version of libboost, it looks like ardour uses some C++ class templates that are not in the version on boost on Dapper - obviously 2.5 did not. But this will be another post at some point.

Ubuntu’s 6 month “flavour of the month” release schedule really wreaks havoc with building a stable AV Workstation

Agreed. I also worry that with this upgrade policy, it will become as bloated as the operating system that cannot be named.

John T.

Don’t mean to bump out of nowhere, but I am a bit concerned about the every 6 month releases also, I really wonder myself if there is such need for that. I am using Hardy at the moment (wishing I just stuck with an older version), and just don’t plan to upgrade probably until the next LTS version (that is if it’s really worth doing it). After tweaking everything (especially audio which the pulse audio did kinda confused me at the begining), installing a rt kernel, configuring real time permissions with irq priorities and getting a crappy soundblaster audigy to run (believe it or not) all the way down to 16 FP @ 48000 Hz giving me a latency of 0.667 ms with very few xruns I just don’t think I can keep doing this every now and then and trying to achieve the same settings. So I do understand what you both are talking about. I have also started to just compile my own packages and live happily ever after with them, and trying to avoid the repos as much as possible…

Joe

Yeah I agree, it is ridiculous to have to almost start from scratch and figure out the all the quirks. What really turned me off of Hardy was Gnome Policykit, I always copied my VST folder from distro to distro with the FST files intact, in Hardy all of a sudden I can’t even move files with “gksudo nautilus” without running into permission issues, and the way it handles trash drove me over the edge.

It sounds like you have persevered and figured it out quite well, At least Hardy being an LTS means you will get support and packages for a while at least, but like you said if you roll your own packages it doesn’t matter much either way.

Don’t mean to bump out of nowhere
Please, bump away, otherwise we will not learn anything :-)
After tweaking everything (especially audio which the pulse audio did kinda confused me at the begining), installing a rt kernel, configuring real time permissions with irq priorities and getting a crappy soundblaster audigy to run (believe it or not) all the way down to 16 FP @ 48000 Hz giving me a latency of 0.667 ms with very few xruns I...

You are making me think now. Perhaps if I had kept at it and presevered I may have got something more out of Hardy. On my Dapper I can get the 16FP at 48000 on my old sound blaster card (its A-D converter is not upto much mind) but I do get the odd xrun. Could you give some more details of your system (No. CPUs, clock speeds, No. of disks etc). Did you turn off Pulse audio? I could see this on Hardy and wondered what it was; could it have been this app./service that was causing the poor R.T. performance?

John T

johnt, here’s pretty much what I did on my box, you will still need to do further reading for some things like the rtirq since I only installed it and let it do it’s stuff on its own, you might want to get further into it. I hope it helps out:

  1. After installing ubuntu Hardy I configured my audio by making the PCI Audigy Soundblaster the default system device and using the VIA integrated for
    VOIP. I went through a nice tutorial for ubuntu, you can read a little about it at: http://ubuntuforums.org/showthread.php?t=205449 then configuring pulseaudio (which I didn’t disable) with my speaker arrangement and to set up the default audio card I only downloaded a little app called paconfig. You can get it here: http://ubuntuforums.org/showthread.php?t=759147 after that I configured my ubuntu session to use also the audigy and all alsa in sound preferences.

  2. Installed RT kernel and completely removed generic one, so 2.6.24.21-rt is the only kernel I have on my box.

  3. Then I configured /etc/security/limits.conf by adding the following at the bottom:

    @audio - rtprio 100
    @audio - nice -10 (This one I have seen quite varied some do it at -15 other at -10)
    @audio - memlock unlimited

  4. then I got a hold of the rtirq package installed it so it will give better IRQ priority to sound specific hardware so if I type on a shell to see the
    IRQ’s on my box with the command cat /proc/interrupts I get the following output:

     joe@ghubuntu:~$ cat /proc/interrupts
        CPU0       
    

    0: 72485313 IO-APIC-edge timer
    1: 46195 IO-APIC-edge i8042
    2: 0 XT-PIC-XT cascade
    3: 1 IO-APIC-edge
    4: 3 IO-APIC-edge
    6: 2 IO-APIC-edge floppy
    7: 0 IO-APIC-edge parport0
    8: 3 IO-APIC-edge rtc
    12: 2858259 IO-APIC-edge i8042
    14: 703097 IO-APIC-edge libata
    15: 0 IO-APIC-edge libata
    16: 5123720 IO-APIC-fasteoi nvidia
    18: 16329456 IO-APIC-fasteoi EMU10K1
    19: 3 IO-APIC-fasteoi ohci1394
    20: 591736 IO-APIC-fasteoi sata_via
    21: 289 IO-APIC-fasteoi uhci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb3, uhci_hcd:usb4, ehci_hcd:usb5
    22: 0 IO-APIC-fasteoi VIA8237
    23: 583878 IO-APIC-fasteoi eth0
    NMI: 0 Non-maskable interrupts
    LOC: 72488375 Local timer interrupts
    RES: 0 Rescheduling interrupts
    CAL: 0 function call interrupts
    TLB: 0 TLB shootdowns
    TRM: 0 Thermal event interrupts
    SPU: 0 Spurious interrupts
    ERR: 0
    MIS: 0

So what we can see there is that IRQ 18 is my soundblaster. Note also 22 is my VIA

when I run the rtirq with sudo /etc/init.d/rtirq start (or restart) I get this:

rtirq: start [rtc] irq=8 pid=731 prio=90: OK.
rtirq: start [snd] irq=22 pid=4245 prio=85: OK.
rtirq: start [snd] irq=18 pid=4553 prio=84: OK.
rtirq: start [uhci_hcd] irq=21 pid=2297 prio=80: OK.
rtirq: start [i8042] irq=1 pid=770 prio=75: OK.
rtirq: start [i8042] irq=12 pid=769 prio=74: OK.

So what this tells us is that IRQ 18 is in third place of the priority table, as you can see number 22 is my VIA and is on second place I’m still not
sure how to switch the priority on those two, if anyone knows how I would appreciate your help, I think maybe the only way to give IRQ18 the priority VIA has is just disabling it from my BIOS, but in my case I need it for VOIP and doesn’t really affect me that much.

Then when I fire up QJACKCTL I have it configured this way (I have three setups saved, but I will post how I got 16 FP):

I only have checked Realtime, Monitor and Force 16 bit.
On Realtime I changed from default to 89, this should be set lower than the rtc (real time clock) or IRQ 8 (see above when I start rtirq). Frames are set at 16, Sample Rate at 48000 Periods/Buffer 2, Port Max at 256 and Timeout 5000 so when launching jack related appz like ardour or hydrogen dont kill jack, you will obviously get a lot of xruns when starting appz but once running just reset jack status and all should be working fine.

In the interface section under qjackctrl I set it up like this:

Interface is default, Dither None, Audio Duplex, Input Device hw:0,2 Output Device hw:0:3 and the rest default.

If you get to many xruns then try 32 FP, I hope it work well, somehow it just worked perfect for me. I work under 32 FP just to avoid those “few” little xruns, I still think 32 FP is just a hell of a great achievement.

Good Luck.

EDIT: Sorry forgot to post my system specs:

Ubuntu Hardy at 32 bit
MSI k8MM-V MB
AMD Athlon 64 3000+ (2.0 GHz) (Just one core)
Audigy Soundblaster Platinum EX
1 GB RAM (Did configure swappiness to 20)
1 ATA 7200 RPM Drive

johnt, here’s pretty much what I did on my box, you will still need to do further reading for some things like the rtirq since I only installed it and let it do it’s stuff on its own, you might want to get further into it. I hope it helps out: [respectful snip]
Wow Joe, that's a pretty thorough description. Thanks for this. I think the most significant difference is that you are using the rtirq script from Rui Capela - I have only just discovered this srcipt. Previously I have been using a script I wrote myself based on suggestions from various real time kernel web sites. I think the this rtirq script improves the performance of my Dapper system over my script - I was able to record a three minute section at 0.6ms latency this afternoon and the only xruns occured at the start of the recording. That just leaves the question - would the rtirq script have improved my Hardy system from the hundreds of xruns I was getting?

Thanks again for the system description, it really is appreciated - I am still studying it.

John T.

Yes, the rtirq script does a lot of a difference. But also the proper setting of the input and output devices on qjackctl, if i change devices, for example leaving defaults in input + output and on the primary interface testing with 0,0 (which is also my audigy) JACK would not start unless I had 128 FP below that it always crashed, but those setting are nothing but trial and error. And the realtime priority, having it at 89 which is -1 from my real time clock, it doesn’t let me go above that value, but I’m sure if I could set it up higher than that my system would hard lock on me as soon as I fired up JACK.

Also, I installed besides GNOME the black box manager so I could log in to a session free of additional services we might not want running around while JACK is up an running, but I don’t think it’s that necessary, and I have even tested GLXGEARS with and without JACK running without getting xruns and did notice I got slower FPS on my video card while JACK was up, which is good proof that audio is running with higher priority.

I also get xruns at 0s when starting the recording when all the way down to 16 FP, then no xruns as it goes along, only if I move my mouse maybe extremely exagerated I get a few or with desktop effects switching windows, but not too bad, only when I start JACK related apps it’s when it spits a bunch of them but, then nothing, It would be good to test in a very stressful way, let’s say create like 10 channels in Ardour fire up Hydrogen, connect it to all 10 channels and record them and see if JACK doesn’t kick the bucket :slight_smile:

Oh BTW, if you figure out how I could edit the rtirq script so it switches the priority between my VIA and Audigy card as I mentioned above in my step by step description, I would be very thankful, I just don’t seem to find how to, I just want IRQ 18 to be above IRQ 22. Any Ideas?

Thx.

Oh and your question, if it would have improved your situation under HARDY, it’s hard to tell, I’m quite sure it would, but I will be 100% sincere, I am not a very happy HARDY user, but I just don’t plan to go all over this again to rollback to another ubuntu version, I was almost commited to saying goodbye to ubuntu and try with pure RAW debian or Suse, but I don’t think I feel like going under the hassle of RPM packaging on SUSE and Debian’s packages are a bit old, I finally got Hardy running somewhat efficiently but I would advise to you maybe stick with what you have, if it works don’t fix it, but if you are like me :slight_smile: try it, it’s all trial and error, and like GMaq says, it gets to a point where you start growing and rolling your own packages, in my case about 20% of this box is already home rolled ignoring many packages from the repos, so stick with what you have I say, I know, it’s old etc…but I’m sure it will last long, like I said, I won’t do more upgrades for a while till I get new machines, but the one I will be using in the future for real time studio work will be left untouched, maybe it will be this very same box, I will just have to remove a lot of stuff I won’t be using then.

Just putting it simple, if it works you’ve got it, no matter what version it is, now the important part, create music, don’t forget you are doing all this for that. Look at your linux distro carefully, if it’s old it’s a classic, like an instrument… you’ll probably even fall in love with it and will be very sad when that HD dies, then that’s when the new stuff comes in…so don’t worry about versions.

:wink:

Oh BTW, if you figure out how I could edit the rtirq script so it switches the priority between my VIA and Audigy card

I am guessing here but I would say you may need to change the the /etc/rtirq.conf file rather than the script itself. There is a setting there that looks like this:

IRQ thread service names

(space separated list, from higher to lower priority).

RTIRQ_NAME_LIST=“rtc snd usb i8042”

Perhaps this needs to be changed in some way - a bit beyond me at the moment, sorry

JT