I've been doing a series of JACK benchmarking tests comparing kernels and modules loaded into the kernel..
namely the topic at hand here is regarding video drivers. I'm gearing up to be glued to my laptop for the next month while working on my RPM 2012 entry so I wanted to do put to rest some general system tuning myths and stigmas I've heard for a while so I can put all tuning questions out of my mind and just focus on music when Feb 1 comes around.
My primary laptop at the moment is a Sony Vaio VPCCW13FX, with an NVIDIA GeForce G210M with cuda support. Max screen resolution on this laptop is 1366x768 and historically the nouveau drivers never made things look quite right here at that resolution (fonts are fuzzy, etc). I'm not enabling any visual effects, wobbly windows etc, that's not the point. I don't need 3d and have nothing visually fancy enabled.
I don't really care about latency as I'm not monitoring anything nor triggering from a MIDI controller on this laptop, but do want to be able to squeeze as much audio performance out of this laptop as possible for sequencing in renoise and using LADISH to route channels to DSSI racks, back into renoise, etc. That said, I'm simply using the vaio's onboard sound device - Intel 82801I (ICH9 Family) HD Audio Controller.
My fallback distro of choice is AVLinux 5.02 for it's rock solid stability but for this particular benchmark I was interested in using KXStudio repos installed on top of ubuntu studio 10.04 LTS for falkTX's amazing software (that doesn't work in debian). Since I have not been able to find any reliable patch to allow me to install the nvidia run packages on a RT kernel, I'm sticking with kx's 2.6.38-8-lowlatency kernel.
In a nutshell I have found after setting up two otherwise identical partitions of KXStudio 10.04 (2.6.38-8-lowlatency) that the default "nouveau" drivers actually yield a higher CPU usage in JACK than using the "recommended" proprietary NVIDIA driver found in "additional drivers", but only by a very small fraction. What really surprised me is what led me to share my findings here as I have (since my first days with linux audio) been led to believe that we all should stay away from installing either proprietary drivers or the nvidia run packages as they get in the way of audio. I've found that quite contrary to the truth actually.
Jack is configured on both partitions as follows just as a baseline for testing:
default priority, 512 F/P, 48000, 2 F/B, duplex and monitoring enabled for a latency of 21.3.
both partitions have all software current.
With JACK configured identically across both partitions, no other apps open wifi disabled and AC plugged in on the laptop and the JACK server started and the transport rolling for a duration of 1:00:
KX nouveau partition is reporting CPU load of as little as .6% and as much as .8% in the duration.
KX NVIDIA partition is reporting CPU load of as little as .1%, as much as .3% in the duration.
no xruns for either test. I ran five 1:00 tests on both kernel to get a decent sample, and there was not much deviation at all between each of the five tests on each kernel.
Am I over-geeking it in taking that data and drawing from it that installing the actual specific driver for my specific hardware is indeed giving me better audio performance than using the more or less "generic" nouveau driver? I don't think I am. It's a preliminary test but To me these findings are just as I expected. Nouveau is clueless about cuda and installing the nvida software enables dramatic increases in computing performance by harnessing the power of the GPU.
Next mythbuster: is it ok to drink a chimay that's been open for 48 hours?
[performance mythbusters] nvidia's.run vs nouveau
Moderators: MattKingUSA, khz
- raboof
- Established Member
- Posts: 1865
- Joined: Tue Apr 08, 2008 11:58 am
- Location: Deventer, NL
- Has thanked: 52 times
- Been thanked: 80 times
- Contact:
Re: [performance mythbusters] nvidia's.run vs nouveau
Hmm, haven't heard that before myself really.msepsis wrote:I have (since my first days with linux audio) been led to believe that we all should stay away from installing either proprietary drivers or the nvidia run packages as they get in the way of audio.
For me personally, the difference (0.5% of CPU load) doesn't seem spectacular enough to warrant switching to a proprietary driver.KX nouveau partition is reporting CPU load of as little as .6% and as much as .8% in the duration.
KX NVIDIA partition is reporting CPU load of as little as .1%, as much as .3% in the duration.
no xruns for either test. I ran five 1:00 tests on both kernel to get a decent sample, and there was not much deviation at all between each of the five tests on each kernel.
I prefer the open drivers, not just for ideological reasons, but also for practical ones: for example, the good work done by the linux-rt team, such as removing global kernel locks from the entire kernel, also might touch the kernel parts of the GPU drivers. For obvious reasons, the linux-rt team will never improve the proprietary nvidea drivers, while they can improve the nouveau driver. Also, when a new version of the kernel comes out, or for example a new kernel patch that is interesting for audio performance, we might just have to wait for nvidea to fix any incompatibilities. With nouveau, we can take care of it ourselves.
There's probably a couple of features that are much better in the proprietary driver, but for audio use, I don't find the difference convincing.
Re: [performance mythbusters] nvidia's.run vs nouveau
Are any processes running with nouveau, that are not running
with the nvidia driver? I think it also important to compare under
typical loads, as the various gui toolkits that are opened, will not
necessarily behave uniformly, and various flaws in performance may creep in,
if you have combos of apps with qt, gtk, tk, and wxWidgets open in one session.
A performance difference of .5% is not exactly dramatic. A single yoshimi patch
on a sustained 6 note chord can crush a 2 ghz cpu like tinfoil.
nvidia 3d is enabled by default in some distros that have decent audio performance.
Tested unscientifically using a killer patch from yoshimi, counting the number of seconds
and notes until the cpu goes black

with the nvidia driver? I think it also important to compare under
typical loads, as the various gui toolkits that are opened, will not
necessarily behave uniformly, and various flaws in performance may creep in,
if you have combos of apps with qt, gtk, tk, and wxWidgets open in one session.
A performance difference of .5% is not exactly dramatic. A single yoshimi patch
on a sustained 6 note chord can crush a 2 ghz cpu like tinfoil.
nvidia 3d is enabled by default in some distros that have decent audio performance.
Tested unscientifically using a killer patch from yoshimi, counting the number of seconds
and notes until the cpu goes black