Slow GUI using ardour binary from ardour.org download

Hi,

I’m testing ardour 3 using the binary from ardour web site. Also I,ve tested ardour 2.8 series and mixbus using binaries from website downloads (ardour.org and harrison). All this versions have a very slow gui for me. All widgets and grafics are draw very very slow and work with it is not possible.

But if i use ardour from debian repos or compiling it from sourse the gui is fast and smooth. All work properly when use dynamic compilation.

i think that could be some issuse related with shared libs or my setup. im using debian squeeze.

can anyone help me? i want to use binaries from ardour.org.
Thank for your help

@paul
setting the enviorment variable solves the problem, now I can use the Nvidia driver and Ardour gui is smooth. Perfect!
thanks

@sapista: very interesting data point. it is possible to disable some of this stuff. one test you could try is to set the environment variable FORCE_BUGGY_GRADIENTS before running ardour. We added a patch to libcairo that uses this envvar to work around an issue with some versions of the nvidia driver. The patch does nothing if the envvar is not set.

Ok, I dug up the e-mail on my gmail account and exported it to PDF for when I had the strange issue with redrawing some things like the leds not turning on or off in Mixbus and mouse jumping around when I dragged the scroll marker, just if it pops any ideas for anyone.

I have no issues at all anymore (after a Mixbus update), but maybe this email can help someone with some ideas…

https://docs.google.com/open?id=0B89XHw6WcgFvSERieDlIQnk2WUk

So there still seems to be quite an issue between libcairo and Nvidia that I have overriden by using other drivers…

Believe me, official Nvidia drivers can cause more CPU interupts and xruns sometimes.
Strange. I have exactly the opposite experience. I've been struggeling with xruns from Ubuntu 11.10 on which made audio work really painful. I've tried a lot of things, rt-kernels, jack parameters and so on and finally the problem vanished immediately after switching from nouveau to closed source nvidia drivers.

The binaries are built against Cairo 1.10.2 One of the big differences in 1.10 was that it can make much more use of h/w acceleration. This means that if the driver lies about h/w acceleration (i.e. it claims to provide it but really does it in s/w) drawing can slow down quite a bit.

hey Paul this is interesting. i’m using the same libcairo provided by debian backports (1.10.2) when i compile from source or use debian package works fine with the same libcairo. its my nvidia driver behaving diferent for the same version of cairo?

@boesmann
ok exactly the same for me. then could be something wrong with libcairo used to build ardour or some bug in nvidia driver that doesn’t manifest with older libcairo

@paul
wich version of libcairo is used to build the pre-compiled ardour package?

@Boesmann
with wich ardour version do you have this problems? debian repos, self compilef, ardours web site pre-compiled?

Oh one thing which is very important, to use nouveau you’ll might have to delete (better move or comment out) a file that was created by nvidia installer, should be in /etc/modprobe.d with a name something like nouveau-blacklist-something, or you’ll get a dark screen when restarting the xserver, only when using nouveau, also depends if your kernel has support for nouveau, for nv it should also be left alone.

@joegiampaoli:

mmmm your name yeah is posted… my crazy fingers somtime do crazy copy paste… :wink:

Thanks, I’ll try nv and nouveau and post the results

what if you use nv or nouveau?

Believe me, official Nvidia drivers can cause more CPU interupts and xruns sometimes.

If you really, really want to use nvidia official, you could try adding “nvidia” to the rtitrq config in priorities so that maybe you can push it a little higher than the default 50 you showed, just make sure it doesn’t run higher than your audio device or jackd, so placing “nvidia” right after your soundcard might do the trick, I sad “MIGHT” do the trick.

But I would prefer nv or nouveau over all. Maybe even nv more, IMHO an audio workstation should not have 3d effects or accels…

Just a quick question…

Why is my name in the first cat /proc/interrupts you posted. IRQ 16???

I must be famous and there’s a module with my name now… :slight_smile:

But this is definitely a driver issue just as seablede mentioned. So, I’m afraid that you will have to use either nv or nouveau drivers, I use nv in my audio workstation, I know it’s a bummer, that’s why I use to linux systems, one just for pro-audio and the other for everything else including 3D with official Nvidia.

On more thing that i forget. I’ve just tested all again with vesa drivers instead of nvidia driver. And with vesa driver both versions of ardour (debian packaged and ardour pre-compiled) in my heavy session are working smooth. So the problem is related with nvidia driver.

I prefer oficial Nvidia driver because give me better results. there is some trick over this driver that fix the problem?

Thanks

Just downloaded binary from website to test and it runs perfectly well for me, so it has to be a graphics card and driver issue as seablade points out, my synaptic history shows absolutely no updates for libcairo in the past.

Here all info about my enviorment:

I’m using a Nvidia card with Nvidia oficial drivers from debian squeeze backports non-free branch (version 295.59-1). My kernel is a 3.2 RT from backports and also using rtirq with properly setup priorities for audio IRQ, RTC and jack. (I had the same issues before installing rtirq).

But I can reproduce the same behaviour with my old kernel 2.6.32-5 (Debians squeeze default kernel) and Debian squeeze nvidia non-free drivers in version 195.36.31.

About cairo, i’m using:
libcario 1.10.2-7 from debian backports
libcariomm-1.0-1 1.8.4-3 from debian squeeze repos

Currently I’m mixing a session with 44 tracks and I can notice very well the problem. In this big sesion and with mixer showing all tracks there are some scroll problems. If I scroll horitzontally the mixer to see the tracks the scroll is ugly slow. But the audio meters are working nice. Using the debian repos ardour insted of pre-compiled version from ardour.org the mixer scroll for this session works smoothly and fast.

@ joegiampaoli:

This is what I get with commands you sugest

=====================
Running ardour 2.8.13 from ardour.org pre-compiled package

sapista@debianStudio:~$ cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 41 3 1 1 IO-APIC-edge timer
1: 1 0 1 0 IO-APIC-edge i8042
8: 0 0 0 1 IO-APIC-edge rtc0
9: 0 0 0 0 IO-APIC-fasteoi acpi
16: 18144 18203 18192 joegiampaoli 17948 IO-APIC-fasteoi pata_jmicron, uhci_hcd:usb3, nvidia
17: 186625 186550 186474 186588 IO-APIC-fasteoi snd_hdsp
18: 27 29 39 36 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8
19: 4830 4739 4819 4723 IO-APIC-fasteoi firewire_ohci, uhci_hcd:usb7
21: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4
22: 24005 23985 24066 24126 IO-APIC-fasteoi ata_piix, ata_piix
23: 12097 12266 12232 12399 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6
44: 5990 5930 5885 5891 PCI-MSI-edge eth0
45: 205 220 216 212 PCI-MSI-edge snd_hda_intel
NMI: 133 126 114 131 Non-maskable interrupts
LOC: 95734 104120 92693 96821 Local timer interrupts
SPU: 0 0 0 0 Spurious interrupts
PMI: 133 126 114 131 Performance monitoring interrupts
IWI: 0 0 0 0 IRQ work interrupts
RES: 42427 38116 34364 43703 Rescheduling interrupts
CAL: 15607 1451 13381 1472 Function call interrupts
TLB: 3254 3531 2880 2847 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 Machine check exceptions
MCP: 324 324 324 326 Machine check polls
ERR: 0
MIS: 0

sapista@debianStudio:~$ ps -eLo rtprio,cls,pid,pri,nice,cmd | grep “FF” | sort -r
- TS 3933 19 0 grep FF
9 FF 3898 49 - /opt/Ardour-2.8.13_12982/bin/ardour-2.8.13
99 FF 9 139 - [posixcputmr/1]
99 FF 8 139 - [watchdog/0]
99 FF 7 139 - [migration/0]
99 FF 6 139 - [posixcputmr/0]
99 FF 24 139 - [watchdog/3]
99 FF 21 139 - [migration/3]
99 FF 20 139 - [posixcputmr/3]
99 FF 19 139 - [watchdog/2]
99 FF 16 139 - [migration/2]
99 FF 15 139 - [posixcputmr/2]
99 FF 14 139 - [watchdog/1]
99 FF 10 139 - [migration/1]
90 FF 45 130 - [irq/8-rtc0]
88 FF 978 128 - [irq/17-snd_hdsp]
86 FF 3885 126 - /usr/bin/jackd -P86 -p512 -dalsa -dhw:1 -r44100 -p64 -n2
81 FF 3898 121 - /opt/Ardour-2.8.13_12982/bin/ardour-2.8.13
50 FF 990 90 - [irq/45-snd_hda_]
50 FF 44 90 - [irq/1-i8042]
50 FF 341 90 - [irq/18-uhci_hcd]
50 FF 340 90 - [irq/19-uhci_hcd]
50 FF 33 90 - [irq/9-acpi]
50 FF 337 90 - [irq/23-uhci_hcd]
50 FF 336 90 - [irq/18-uhci_hcd]
50 FF 333 90 - [irq/21-uhci_hcd]
50 FF 330 90 - [irq/16-uhci_hcd]
50 FF 329 90 - [irq/16-pata_jmi]
50 FF 326 90 - [irq/19-firewire]
50 FF 321 90 - [irq/22-ata_piix]
50 FF 320 90 - [irq/23-ehci_hcd]
50 FF 315 90 - [irq/22-ata_piix]
50 FF 314 90 - [irq/18-ehci_hcd]
50 FF 1935 90 - [irq/16-nvidia]
50 FF 1828 90 - [irq/44-eth0]
1 FF 3 41 - [ksoftirqd/0]
1 FF 23 41 - [ksoftirqd/3]
1 FF 18 41 - [ksoftirqd/2]
1 FF 12 41 - [ksoftirqd/1]

======================================================================
Running ardour 2.8.11 debian repos

sapista@debianStudio:~$ cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
0: 41 3 1 1 IO-APIC-edge timer
1: 1 0 1 0 IO-APIC-edge i8042
8: 0 0 0 1 IO-APIC-edge rtc0
9: 0 0 0 0 IO-APIC-fasteoi acpi
16: 19560 19622 19587 19380 IO-APIC-fasteoi pata_jmicron, uhci_hcd:usb3, nvidia
17: 202630 202546 202462 202642 IO-APIC-fasteoi snd_hdsp
18: 27 29 39 36 IO-APIC-fasteoi ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8
19: 4830 4740 4819 4723 IO-APIC-fasteoi firewire_ohci, uhci_hcd:usb7
21: 0 0 0 0 IO-APIC-fasteoi uhci_hcd:usb4
22: 24577 24576 24621 24668 IO-APIC-fasteoi ata_piix, ata_piix
23: 13023 13174 13212 13287 IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6
44: 5991 5934 5886 5894 PCI-MSI-edge eth0
45: 205 220 216 212 PCI-MSI-edge snd_hda_intel
NMI: 146 143 125 148 Non-maskable interrupts
LOC: 103632 112370 100836 105042 Local timer interrupts
SPU: 0 0 0 0 Spurious interrupts
PMI: 146 143 125 148 Performance monitoring interrupts
IWI: 0 0 0 0 IRQ work interrupts
RES: 46345 40887 38213 47724 Rescheduling interrupts
CAL: 15840 1451 13392 1472 Function call interrupts
TLB: 3500 3578 3393 3276 TLB shootdowns
TRM: 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 Machine check exceptions
MCP: 347 347 347 350 Machine check polls
ERR: 0
MIS: 0

sapista@debianStudio:~$ ps -eLo rtprio,cls,pid,pri,nice,cmd | grep “FF” | sort -r
- TS 4007 19 0 grep FF
9 FF 3968 49 - /usr/lib/ardour2/ardour-2.8.11
99 FF 9 139 - [posixcputmr/1]
99 FF 8 139 - [watchdog/0]
99 FF 7 139 - [migration/0]
99 FF 6 139 - [posixcputmr/0]
99 FF 24 139 - [watchdog/3]
99 FF 21 139 - [migration/3]
99 FF 20 139 - [posixcputmr/3]
99 FF 19 139 - [watchdog/2]
99 FF 16 139 - [migration/2]
99 FF 15 139 - [posixcputmr/2]
99 FF 14 139 - [watchdog/1]
99 FF 10 139 - [migration/1]
90 FF 45 130 - [irq/8-rtc0]
88 FF 978 128 - [irq/17-snd_hdsp]
86 FF 3885 126 - /usr/bin/jackd -P86 -p512 -dalsa -dhw:1 -r44100 -p64 -n2
81 FF 3968 121 - /usr/lib/ardour2/ardour-2.8.11
50 FF 990 90 - [irq/45-snd_hda_]
50 FF 44 90 - [irq/1-i8042]
50 FF 341 90 - [irq/18-uhci_hcd]
50 FF 340 90 - [irq/19-uhci_hcd]
50 FF 33 90 - [irq/9-acpi]
50 FF 337 90 - [irq/23-uhci_hcd]
50 FF 336 90 - [irq/18-uhci_hcd]
50 FF 333 90 - [irq/21-uhci_hcd]
50 FF 330 90 - [irq/16-uhci_hcd]
50 FF 329 90 - [irq/16-pata_jmi]
50 FF 326 90 - [irq/19-firewire]
50 FF 321 90 - [irq/22-ata_piix]
50 FF 320 90 - [irq/23-ehci_hcd]
50 FF 315 90 - [irq/22-ata_piix]
50 FF 314 90 - [irq/18-ehci_hcd]
50 FF 1935 90 - [irq/16-nvidia]
50 FF 1828 90 - [irq/44-eth0]
1 FF 3 41 - [ksoftirqd/0]
1 FF 23 41 - [ksoftirqd/3]
1 FF 18 41 - [ksoftirqd/2]
1 FF 12 41 - [ksoftirqd/1]

Thanks you very much in advance

joe - what version of cairo is installed on your system?

@ paul:

I have libcairo 1.8.10-6

I remember I had an issue with Mixbus2 when the first release of version 2 came out for linux, I contacted Ben Loftis and yes he had said that it probably had to do something with libcairo, the problem was fixed in the next Mixbus2 release, I just don’t remember what the issue was exactly but it had to do with some visual glitch.

@ sapista:

Please do post what graphics card you are using and in your case what driver are you using, like if you have nvidia are you using nv, nouveau, official nvidia drivers, plain vesa, etc…

Also check and compare your libcairo with mine.

Every time this comes up recently to my knowledge, it has been addressed by a video card driver update/change.

            Seablade

we believe that this is caused by the (new) version of cairo (a drawing library) that we use to build binary releases of Ardour. it seems to reveal issues with various video drivers that, as Seablade mentioned, go away when this is upgrade or changed.

this isn’t a particularly good solution for a lot of people, i know.

@sapista: I’m also on Debian “squeeze” and I do compile almost all of my stuff, but I do have Mixbus which is a pre-compiled binary and have absolutely no issues with it, maybe rarely I get some drawing errors with the grid, but like after a long time and not always, sometimes switching sessions will do this but nothing with visual performance.

Maybe graphics card issue? What video card do you have and what driver are you using for it. If using RT kernel with rtirq, maybe priority too low? could be a possibility…maybe not, since you have this issue only with pre-compiled binaries, but you could check.

What does “cat /proc/interrupts” spit out while running Ardour?

and if running rtirq what do you get with:

ps -eLo rtprio,cls,pid,pri,nice,cmd | grep “FF” | sort -r

also running Ardour.