The Real Need For Nouveau Power Management

Written by Michael Larabel in Display Drivers on 15 April 2010 at 10:37 AM EDT. Page 2 of 3. 5 Comments.

We began by using our battery-power-usage test profile provided by the Phoronix Test Suite with the ThinkPad T61 notebook bearing the NVIDIA Quadro NVS 140M (NV86) graphics processor. With the test we compared the Nouveau support found in Fedora 13 Beta along with the Gallium3D Nouveau driver provided by the mesa-dri-drivers-experimental package installed, the NVIDIA 195.36.15 proprietary driver, and we also tested out the VESA driver.

The VESA driver is the generic X.Org driver that is often used for recovery/failsafe purposes or with unsupported graphics hardware, but it provides only a shadow frame-buffer and no KMS, no 2D/3D/video acceleration, or any other GPU-specific features. Due to the VESA driver thrown into the mix, the battery-power-usage test profile only looked at the power consumption when the notebook was idling within the GNOME desktop and then while it still was idling but with the LVDS panel turned off via DPMS. Normally there would be an X-Video playback test using MPlayer afterwards to look at the power performance under that scenario, but it was left out due to the VESA driver being thrown into the mix. We were also going to test out the xf86-video-nv driver too, but with the Quadro NVS 140M on Fedora 13 Beta resulted in a corrupted screen.

As is clearly visible, the Nouveau driver is definitely going through more power than the official NVIDIA driver. In fact, on average, the Nouveau driver is using up 28% more power than NVIDIA's binary driver is when both are just idling at the Linux desktop. The point at which the NVIDIA driver consumed the least amount of energy its rate was at 12.917 Watts, but the low point for Nouveau was at 17.560 Watts, which is 36% greater. Likewise, the peak power consumption reached with the Nouveau driver was 17% greater than the official NVIDIA driver.

Meanwhile, the VESA driver was not as power efficient as the NVIDIA driver, but it did fair better than the Nouveau driver. However, this is because the VESA driver is generic and just written against the VESA specification and does not properly initialize the NVIDIA GPU and its 3D engine or anything else being done by Nouveau. The VESA driver is rather useless to use for any length of time, but for reference, you can see the Nouveau driver is currently consuming about 8% more power.

Next, we monitored the ThinkPad's battery power consumption as we were running the OpenArena test profile. We compared the Nouveau Gallium3D driver to the proprietary NVIDIA driver. Obviously, the VESA driver was omitted since it would mean using Mesa's software rasterizer, which is useless in its current state and would not provide anything meaning. The lines in the below graphs are shorter for the proprietary NVIDIA driver since the driver ran the OpenGL benchmark much faster.

The NVIDIA driver once again was more power efficient than the Nouveau driver, but on average it only consumed two less Watts -- or about a 7% savings in energy when the GPU was under load. The NVIDIA driver though did have slightly higher peak power consumption than Nouveau, but that was only briefly and likely as the GPU was being better utilized.

For those interested in what the performance numbers were for the Quadro NVS 140M with this OpenArena test, here are those numbers:

The proprietary NVIDIA driver consumed less battery power than the open-source Nouveau driver did and its gaming frame-rate was 5.6x higher.


Related Articles