1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Nouveau Reclocking: Buggy, But Can Boost Performance

Michael Larabel

Published on 30 January 2012
Written by Michael Larabel
Page 1 of 6 - 23 Comments

Over the weekend I shared that the Nouveau driver project, which seeks to provide an open-source NVIDIA graphics driver for Linux and other platforms via reverse-engineering, hit a major milestone. The Nouveau driver now supports re-clocking for several generations of NVIDIA GeForce hardware, which allows the open-source driver to put the graphics cards at their properly designed operating frequencies for maximum performance. This can result in the Nouveau driver performing much better against the official closed-source NVIDIA graphics driver, but the support is still very experimental. Initial testing over the weekend found this support to perform well when it works, but that overall it is still very buggy.

As said in the earlier re-clocking article, this work hit the Nouveau DRM Git tree last week and will be queued up for the Linux 3.4 kernel in a few months. This re-clocking support is for "NV50" class hardware, which is from the GeForce 8 series through the GeForce 300 series, inclusive. The re-clocking support for the modern NVIDIA GeForce 400/500 "Fermi" series is still a work-in-progress and not currently available. What this new code allows for the NV50 hardware is to properly change the GPU core, graphics memory, and shader clock speeds in real-time along with the memory timings, voltage, and fan speed (though the power management itself is still premature and if manipulating the clocks it will just force the fan(s) to run at 100% speed).

Even if pulling down this latest Nouveau kernel code right now, re-clocking will not be activated by default. Until the support is considered safe and stable, you must first boot your system with the "nouveau.perflvl_wr=7777" kernel module parameter. When the system is then booted, by default it is still running at the frequencies that the graphics card was set at when booting. To change the performance level, you must then write the performance level number to "/sys/class/drm/card0/device/performance_level." The performance levels and their given performance attributes can be found by examining the "/sys/class/drm/card0/device/performance_level_*" files or by looking at the Nouveau output within the kernel dmesg. If all went well, after re-clocking the graphics card, "/sys/class/drm/card0/device/performance_level" should reflect the new performance level information.

That is at least how the support is designed and should work in theory when taking advantage of this new feature. Unlike the Radeon driver and its "dynpm" power management support, there is not an option within the Nouveau driver right now for dynamically switching between performance levels / frequencies based upon the current workload of the GPU. However, the Nouveau driver does at least support separate performance levels to be set for when running on AC and battery power, for those with mobile NVIDIA GeForce/Quadro graphics hardware. Another limitation of this first-cut support is that if using multiple monitors you are forced to run in the highest power state or if your desktop resolution exceeds 1920 x 1200, this is to workaround complexities in re-clocking where scanning out from the video memory is more difficult to do in an effective manner.

<< Previous Page
1
Latest Linux Hardware Reviews
  1. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  2. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  3. AMD Radeon R9 285 Tonga Performance On Linux
  4. Apotop Wi-Copy
Latest Linux Articles
  1. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
  2. MSI: Update Your BIOS From The Linux Desktop
  3. NVIDIA vs. AMD 2D Linux Drivers: Catalyst Is Getting Quite Good At 2D
  4. 15-Way GPU Comparison With Mesa 10.3 + Linux 3.17
Latest Linux News
  1. Linux 3.18-rc1 Released One Week Early With Many Changes
  2. The VC4 Gallium3D Driver Is Still Moving Along For The Raspberry Pi
  3. Direct3D 9 Support Might Land Within Mainline Mesa 3D Drivers
  4. OpenGL Preview Benchmarks For NVIDIA's GeForce GTX 970
  5. HOPE: The Ease Of Python With The Speed Of C++
  6. Vitesse: Using LLVM To Speed Up Databases
  7. AMD Is Restructuring Again, Losing 7% Of Employees
  8. Linux Testing Of The NVIDIA GeForce GTX 970
  9. Qt 5.4 Now In Beta With Web, Bluetooth LE, Graphics Improvements
  10. AMD's Radeon R9 285 On Linux Offers Good OpenCL Performance
Latest Forum Discussions
  1. NVIDIA Presents Its Driver Plans To Support Mir/Wayland & KMS On Linux
  2. AMD Is Restructuring Again, Losing 7% Of Employees
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. Open-Source AMD Fusion E-350 Support Takes A Dive
  5. Upgrade to Kaveri, very slow VDPAU performance
  6. ChromeOS Drops Support For EXT2/EXT3/EXT4 File-Systems
  7. Lennart Poettering On The Open-Source Community: A Sick Place To Be In
  8. The Slides Announcing The New "AMDGPU" Kernel Driver