Nouveau Driver Power Management Against The NVIDIA Blob

Written by Michael Larabel in Display Drivers on 6 July 2011 at 10:23 AM EDT. Page 1 of 7. 14 Comments.

Following last week's completion of the Radeon driver power management tests against the AMD Catalyst driver, now it is time to turn the tables on NVIDIA. In this article are some power consumption and thermal tests when comparing the latest open-source "Nouveau" driver code against NVIDIA's closed-source proprietary driver.

Testing went nearly the same as last week's Radeon driver power management test. The Watts Up Pro USB power meter was monitoring the system's power consumption, which was being automatically logged by the Phoronix Test Suite. Also monitored at the same time by the Phoronix Test Suite was the CPU usage and GPU temperature.

The NVIDIA GeForce graphics cards that were tested in this review included the 8500GT, 8600GTS, 9500GT, and 9800GT. Sadly, with the latest Nouveau Git, only working well for us was the GeForce 8/9 series. The GeForce 200 series has regressed to breaking with mode-setting, the GeForce 6 series was locking up when running OpenGL applications, and the GeForce 400/500 "Fermi" series hasn't yet integrated the FUC firmware generator so it still requires manually loading the custom-extracted BIOS/firmware. Nouveau continues to be haphazard support between kernel and Mesa releases.

The Nouveau KMS/DRM driver does not implement power profiles in a manner like the Radeon driver. We tested the Nouveau and NVIDIA drivers both in their stock configurations. The NVIDIA binary driver fully supports PowerMizer and other power management features. As for the current state of Nouveau driver power management, see this Wiki page (http://nouveau.freedesktop.org/wiki/PowerManagement).

Besides the four NVIDIA GeForce 8/9 series graphics cards, the rest of the system hardware included an AMD Phenom II X3 710 clocked at 2.60GHz, an MSI 890GXM-G65 motherboard, 4GB of system memory, and a 250GB Seagate ST3250310AS. A daily snapshot of Ubuntu 11.10 was used from 29 June for testing. This included the Linux 3.0-2-generic x86_64 kernel, Unity 4.0.1, X.Org Server 1.10.2, GCC 4.6.1, and the EXT4 file-system.

The NVIDIA binary blob was the 275.09.07 release while the Nouveau driver stack was the Linux 3.0 kernel DRM, xf86-video-nouveau Git, and Mesa 7.10.3. The latest Nouveau Git was not used since the latest head for it was regressed quite badly for us.

Testing here included idling at the desktop, OpenArena, 1080p HD video playback, and Nexuiz while monitoring the GPU temperature, power consumption, and CPU usage. The GPU frequency was not monitored since a change in the code had made it not monitor the real-time frequencies under the Nouveau sysfs interfaces.


Related Articles