NVidia Powermizer - how to tweak ??

I have a Dell XPS laptop with a NVIDIA GeForce Go 7900 GTX.
It has 3 levels of performance.
Level 0 = 100,100
Level 1 = 200,300
Level 2 = 500,600

These are Core and RAM speeds respectively.

The issue is that 3D is enable but when I’m logged in to a desktop, KDE3 or 4, doesn’t matter it always goes to full power, being performance level 2 (500,600Mhz). Even when I’m not using 3D at all.

If I’m working in Vista on the same machine it’s always running at 100,100 and goes to 500,600 only when needed (gaming or other 3D stuff).

Why can’t linux work the right way from the start ??

I tried all the options I could find on the internet, for example NVIDIA™ driver for X.org: performance and power saving configuration hints and no option at all makes a single change to the clock frequencies.

Result, KDE or Gnome just drains my batteries and generates excessive heat from the videocard while it is not even needed.

I’m on opensuse 11.1 with Nvidia drivers 180.29.

Any idea what else I can do ??

OK, I found the correct combination of all the parameters en had to copy that option line into three locations in my xorg.conf file (because I have three Device sections).

Now I’m able to set any level I want and the laptops runs cool and quiet.

I’ll see if I can change the speed dynamically with NVClock because I cannot change the speeds without modifying the xorg file and reloading the nvidia kernel modules.

What option did you had in your xorg.conf file ?

This is how my xorg file looks like for the device part


Section "Device"
    Identifier     "Device[0]"
    Driver         "nvidia"
    Option	   "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"
    VendorName     "NVIDIA"
    BoardName      "GeForce Go 7900 GTX"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Option	   "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce Go 7900 GTX"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    Option	   "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x2222; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce Go 7900 GTX"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

The lines with the RegistryDwords are the lines for the PowerMizer.
PowerMizerEnable=0x1 = to switch it on or off (using hex codes)
PerfLevelSrc=0x2222 = is the performance strategy where 22 is the code for fixed frequency and 33 for adaptive frequency, defined for battery and AC use.
PowerMizerDefault=0x3 = is the code to enable a performance level for battery use from 1 to 3, being from high (1) to low (3) performance.
PowerMizerDefault=0x3 = same as above but for AC power.

The only issue is that you cannot change these values on the fly because there is no tool.
So you have to play with different xorg files and shellscript that bring your system to runlevel 3, rename some xorg files to the one you want, unload and reload the kernel module and switch the system back to runlevel 5.
With a script this only takes about 5 seconds.

As long as it works I’ll take that for granted :smiley:

At least 3D is still working fine but a bit less performant, but who needs 600Mhz for wobbly windows and a desktop cube :slight_smile: