You are not logged in.

#1 2013-05-20 14:51:00

Lockheed
Member
Registered: 2010-03-16
Posts: 1,521

Tweaking power management in Nvidia drivers

I am trying to tweak my onboard Nvidia Quadro card so that it runs as cool as possible. Here is my /etc/X11/xorg.conf :

Section "ServerLayout"
    Identifier     "Xorg Configured"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Evdev Mouse" "CorePointer"
    Option         "Xinerama" "0"
    Option         "BlankTime" "0"
    Option         "StandbyTime" "0"
    Option         "SuspendTime" "0"
    Option         "OffTime" "0"
    Option         "DontZap" "false"
EndSection

Section "Files"
    ModulePath      "/usr/lib/xorg/modules"
    FontPath        "/usr/share/fonts/misc/"
    FontPath        "/usr/share/fonts/TTF/"
    FontPath        "/usr/share/fonts/OTF/"
    FontPath        "/usr/share/fonts/Type1/"
    FontPath        "/usr/share/fonts/100dpi/"
    FontPath        "/usr/share/fonts/75dpi/"
EndSection

Section "Module"
    Load           "dri2"
    Load           "dbe"
    Load           "glx"
    Load           "record"
    Load           "extmod"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "InputDevice"
    Identifier     "Evdev Mouse"
    Driver         "evdev"
    Option         "Name" "Logitech USB Receiver"
    Option         "CorePointer"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "IBM"
    HorizSync       53.4 - 64.1
    VertRefresh     40.0 - 60.0
    Option "DPMS" "1"
EndSection

Section "Device"
    Identifier     "Card0"
    Driver         "nvidia"
#    Option         "NoLogo"
    Option         "NvAGP" "1"
# AC settings:
#   Option         "RegistryDwords" "PowerMizerLevelAC=0x3"
# Battery settings:
#	Option			"RegistryDwords" "PowerMizerLevel=0x3"
# 	batt=max power saving, AC=max power saving
	Option		"RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3333"
#	Option 			"RegistryDwords" "PerfLevelSrc=0x3333"
    Option         "OnDemandVBlankInterrupts" "1"
    Option         "Coolbits" "1"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro NVS 140M"
EndSection

Section "Screen"

#    Option         "TwinView" "1"
#    Option         "TwinViewXineramaInfoOrder" "CRT-0"
#    Option         "metamodes" "DFP: nvidia-auto-select +0+0, CRT: 1200x768 +1680+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "NoLogo"
    Option         "RegistryDwords" "PowerMizerLevelAC=0x3"
	Option			"RegistryDwords" "PowerMizerLevel=0x3"
   	Option		"RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3333"
    Option         "Coolbits" "1"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

(Note: I had to put all the nvidia-related settings (like NoLogo and RegistryDwords) in Section "Screen", because while in Section "Device", they were being ignored.)

There are three performance levels:
nvlalala.png
So right now the card stays always at 0 level of performance.

This is good for temperature, but not that good for occasional performance need. Is it possible to have it changed so that it occasionally goes up to level 1, but not as high as 2?

Offline

#2 2013-05-20 16:18:29

neodreams
Member
Registered: 2006-03-20
Posts: 87

Re: Tweaking power management in Nvidia drivers

Like this:

nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1 > /dev/null

you can also add bash aliases like i did,

alias nvidia+='nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1 > /dev/null'

for maximum performance and:

alias nvidia-='nvidia-settings -a [gpu:0]/GPUPowerMizerMode=0 > /dev/null'

for adaptive.

Last edited by neodreams (2013-05-20 16:24:29)

Offline

#3 2013-05-20 16:39:57

Lockheed
Member
Registered: 2010-03-16
Posts: 1,521

Re: Tweaking power management in Nvidia drivers

Yes, but isn't the adaptive 0-1-2 and not just 0-1?

Offline

#4 2013-05-20 21:14:31

Thorsten Reinbold
Member
From: Germany
Registered: 2011-12-06
Posts: 353

Re: Tweaking power management in Nvidia drivers

Lockheed wrote:

Yes, but isn't the adaptive 0-1-2 and not just 0-1?

I think so. It seems to be a bit weird, the settings on my /etc/X11/xorg.conf.d/20-nividia.conf are beeing ignored. I tried out your hint with the "screen" Section, but that don't seem to work, too. I ask myself why, because that would be the first choice. As far as I can see, there is no option to have different settings for AC/Battery with nvidia-setting CLI.

Last edited by Thorsten Reinbold (2013-05-20 21:16:22)

Offline

#5 2013-05-20 22:39:01

Lockheed
Member
Registered: 2010-03-16
Posts: 1,521

Re: Tweaking power management in Nvidia drivers

Right, I think I got it, at least partially:

Section "Screen"

#    Option         "TwinView" "1"
#    Option         "TwinViewXineramaInfoOrder" "CRT-0"
#    Option         "metamodes" "DFP: nvidia-auto-select +0+0, CRT: 1200x768 +1680+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "NoLogo"
    Option         "RegistryDwords" "PowerMizerLevelAC=0x2"
	Option			"RegistryDwords" "PowerMizerLevel=0x3"
   	Option		"RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3333"
    Option         "Coolbits" "1"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Good: with this setup, I never saw PowerMizer going over level 1. It hang around 1 and 0, never reaching 2.
Bad: even though I think there is a setting in there to always stay at level 0 when on battery, it seems to be ignored.

Offline

Board footer

Powered by FluxBB