How to Bypass nVidia PowerMizer and Adaptive Clocking

Write tutorials and howtos in here
There are more tutorials here
Forum rules
Do not start a support topic here please. Before you post please read this

How to Bypass nVidia PowerMizer and Adaptive Clocking

Postby catweazel on Fri Mar 29, 2013 3:29 am

The first problem
Most of nVidia's new cards now have what is called 'adaptive clocking'. It is a feature that allows the card to throttle itself up or down based on the load it is experiencing. The feature is easily controlled with Windwoes drivers but it isn't so obvious for Linux. The fact that it isn't obvious, and the fact that Linux gamers will be getting fragged because of video lag will be issues for up and coming Linux gamers who are now taking to Valve's Steam.

The second problem
The adaptive clocking feature will interfere with your high definition video-watching experience due to tearing. It seems that the thresholds needed to pump the clocks up automatically are too high, and a HD video will suffer visible screen tearing if the card has throttled itself down.

Background Information
Linux Mint doesn't require an xorg.conf file. It has been made obsolete by better hardware detection. Most installs of Mint today will not have an xorg.conf in /etc/X11, yet an xorg.conf, along with the nVidia binary driver, is needed to set an nVidia card's performance options to full throttle.

Step 1. Install the nVidia binary driver.
Code: Select all
$ sudo apt-get install nvidia-current-updates

Step 2. Create a mini xorg.conf
Code: Select all
sudo nano -w /etc/X11/xorg.conf

Add these lines to the empty file:
Code: Select all
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option         "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefaultAC=0x1"

Press ^O to write the file (ctrl-o), then ^X to exit.

Step 3. Check it out
Reboot and start the NVIDIA X Server Settings app. On the PowerMizer tab, the performance level should be set to 3, and both the graphics and memory clocks should be turned up full bore.

That's it. There's nothing more needs doing, and nothing more needs to go in the xorg.conf, only what's shown above.

Additional Information
Keep your eyes on the PowerMizer tab for a few minutes just to make sure the card doesn't start clocking itself down.

Don't bother trying to set the "Preferred Mode" to 'Prefer Maximum Performance'. The setting will not stick between sessions. You'll just have to live with the settings application telling you lies about adaptive clocking being enabled.

If you install the 310 experimental driver via Synaptic, an xorg.conf may or may not be created. If one is created for you, just put this one line in the device section:
Code: Select all
Option         "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefaultAC=0x1"

About the Settings
PowerMizerEnable=0x1 turns on PowerMizer.

PerfLevelSrc=0x2222 tells the video card to operate at full bore on both AC & battery.

PowerMizerDefaultAC=0x1 tells the card to behave as if AC power is connected.

The settings above, in particular PerfLevelSrc=0x2222, are intended for desktop machines. However the performance level can be adjusted separately for laptops running on battery or AC power. Use the following setting for adaptive power on battery and full choke on AC power:
Code: Select all

A Pretty Picture

You can see that the GPU and memory clocks are running flat out but the settings application is telling porkies about adaptive clocking being enabled.
Mint Testing Team & Mint Donor #3606
KDE 4.12.0, custom preemptive kernel 3.12.5,
Intel i7 4770K @ 4.7GHz, 16GB 2666MHz XMP,
4 Samsung 840 PRO 512GB SSDs in RAID0,
6TB HW RAID10, dual 24" Acer X243H,
Gigabyte nVidia GTX 680 Super Overclock
User avatar
Level 7
Level 7
Posts: 1656
Joined: Fri Oct 12, 2012 9:44 pm

Linux Mint is funded by ads and donations.

Re: How to Bypass nVidia PowerMizer and Adaptive Clocking

Postby problem2038 on Thu Jun 13, 2013 1:21 pm

Thank you SO MUCH!
Level 1
Level 1
Posts: 1
Joined: Thu Jun 13, 2013 1:17 pm

Re: How to Bypass nVidia PowerMizer and Adaptive Clocking

Postby timoto on Thu Oct 10, 2013 6:54 am

Excellent. Thank you.

Setting to max not only helps with gfx intensive tasks, but also prevents system crashes on my system.

I originally had this experience in Win7 and had to set nvidia powermizer do the same there to prevent occassional system crashes that occured during clock switches.

Very glad to have found the linux equivilent here.
timoto: Dell M4400 Laptop, 8GB RAM, 200GB HD, Nvidia FX770 512MB, Mint 15
Level 1
Level 1
Posts: 36
Joined: Fri Sep 17, 2010 10:58 am
Location: Brazil

Re: How to Bypass nVidia PowerMizer and Adaptive Clocking

Postby tek_heretik on Tue Dec 17, 2013 11:31 pm

For those running 64-bit testing/jessie Debian like me, nVidia driver 319.76, the new deal is, in my situation anyway, navigate (as root) to /etc/X11/xorg.conf.d/, there you will see a file called "20-nvidia.conf" (created during the driver install to block nouveau), add ONLY this line:
Code: Select all
Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefaultAC=0x1"
to the Device section under this line:
Code: Select all
Driver "nvidia"
Save the changes. Line it up with the above line or it won't work, It worked for me :D Reboot.
Sample of my "20-nvidia.conf" file now:
Code: Select all
Section "Device"
   Identifier "My GPU"
   Driver "nvidia"
   Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefaultAC=0x1"
If you watch the PowerMizer Settings, it will say "Preferred Mode: Auto" and "Current Mode: Adaptive", that doesn't matter, just leave it because it doesn't budge from "Performance Level: 1", the max level.
Core 2 Quad Q9550(2.83GHz), 2 Intel 520 series SSDs Raid 0 (2x120GB), 1TB Seagate storage HDD, 8GB Kingston Hyper X, 23" LG LED, etc, running ONLY 64-bit Linux. I don't like Microsoft AND Apple, too pricey and pushy.
User avatar
Level 3
Level 3
Posts: 164
Joined: Sun Jul 25, 2010 4:39 pm
Location: Ontario, Canada

Return to Tutorials / Howtos

Who is online

Users browsing this forum: No registered users and 17 guests