Performance Regression after upgrade from Ubuntu Lucid to Trusty

I had a well running openframeworks project running on Xubuntu Lucid with opencv 2.4.8, CUDA 5.5 and the associated drivers on my Shuttle SH87R6 (QC i5-4670) with a GTX 780 (no unity, no compiz, no compositor). I (idiotically) choose to do the “security” updates, and since then my rendering time went from 0.033 seconds per frame to 0.2 seconds per frame. The code has not changed. I tried switching back to the old kernel, and even did a fresh install of lucid and trusty. After changing everything I could think of, I ended up with a trusty system with CUDA 6.5, opencv 2.4.10 and beta 343.13 drivers. Still, after all this my performance has stayed the same. It seems I had some miraculous previous config that was totally arbitrary (I had not installed any updates in some time).

I’m not sure how doing the system updates lead to this, so I suspect the nvidia driver. I’ve tried 343.13, 340.46 and 340.29 (included with CUDA 6.5), and I could not get 319.76 and 319.37 (CUDA 5.5) to work (could not find kernel source). I would love to reset, but even a clean lucid install with only the openframeworks dependencies installed and the same CUDA 5.5 and nvidia driver still showed slow rendering. Could this be an interaction between mesa libs and this nvidia driver?

I thought it may be slower texture uploading, but the CUDA bandwidth test indicates that is ok:

[CUDA Bandwidth Test] - Starting…
Running on…

Device 0: GeForce GTX 780
Quick Mode

Host to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 11907.9

Device to Host Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 11977.0

Device to Device Bandwidth, 1 Device(s)
PINNED Memory Transfers
Transfer Size (Bytes) Bandwidth(MB/s)
33554432 216769.3

Result = PASS

I did see that these messages are repeated over and over again in the Xorg.0.log:

[ 6320.673] (II) NVIDIA(GPU-0): Display (Ancor Communications Inc MT276 (DFP-1)) does not
[ 6320.673] (II) NVIDIA(GPU-0): support NVIDIA 3D Vision stereo.

Looks like once per frame!

I have already disabled stereo by setting the Stereo option to “0”, as confirmed in the Xorg.0.log:

[ 8.019] () NVIDIA(0): Option “Stereo” “0”
[ 8.019] (
) NVIDIA(0): Stereo disabled by request

So why does the driver keep repeating the messages? Could this be another symptom of the same issue?

Any suggestions as to what I should be looking for in order to get back to 0.03 frames per second?

Here is my nvidia-bug-report.sh output: http://www.ekran.org/tmp/nvidia-bug-report.log.gz

A list of package names, and the before-and-after versions would be helpful.

Agreed, unfortunately the system (when it was working well) was in an unknown state where some packages where the original Lucid Precise versions, and others updated. At best we can assume the base versions of lucid packages work, and the updated versions of lucid and base versions of trusty packages cause the issue. Assuming the mesa packages are the only ones that could result in such an issue, then:

Working:

http://packages.ubuntu.com/search?keywords=mesa&searchon=all&suite=precise&section=all

Not working:

http://packages.ubuntu.com/search?keywords=mesa&searchon=all&suite=precise-updates&section=all
http://packages.ubuntu.com/search?keywords=mesa&searchon=all&suite=trusty&section=all

It may not be mesa, but it seems a likely target for poor GL performance.

I’m posting some test code in this openframeworks specific forum momentarily:

http://forum.openframeworks.cc/t/poor-ofimage-update-performance-on-linux-after-update-upgrade/17415

Thanks.