How to make use of Graphics Chips Power Management features
Contents
Power Saving With A Framebuffer Console
In order to use the dynamic GPU clock-scaling similar to what X.org has, you need to use the radeonfb kernel module. You'll need to enable the CONFIG_FB_RADEON in your kernel configuration. If setup correctly you should see something like the following in your kernel log:
radeonfb: Dynamic Clock Power Management enabled
Using the X.org Radeon driver
Activation
The xorg X server has support for a power saving feature from ATI called PowerPlay. Xorg calls this feature DynamicClocks. It can be enabled in the server by adding Option "DynamicClocks" "on" in the Device section in /etc/X11/xorg.conf
Section "Device" Identifier "Videocard0" Driver "radeon" VendorName "IBM Thinkpad" BoardName "ATI Radeon Mobility M9" Option "DynamicClocks" "on" EndSection
With this option enabled, the X11 server should print (/var/log/Xorg.0.log):
(**) RADEON(0): Option "DynamicClocks" "on" (II) RADEON(0): Dynamic Clock Scaling Enabled
You do not need to do anything else, it dynamically manages the power consumption itself.
Problem with vbetool
When vbetool is used to restore the display state (as done by some suspend/resume scripts), the setting of DynamicClocks is forgotten and the GPU will consume more power until the next X server startup. You can manually enable DynamicTools again by starting a blank second X server (e.g., by running # X :1
) and then exiting it via CtrlAltBackspace.
Debian Notes
If your Debian doesn't have Xorg, yet, see Installing a non-intrusive X.org server on Debian.
Sarge backports are available from here or here.
You can also add the following line to your repository list:
deb http://people.debian.org/~nobse/xorg-x11/ sarge main
Using the ATI proprietary driver
Versions 8.19.10 and higher of the ATI fglrx driver support "PowerPlay", which "allows for the user to switch between power consumption modes".
To listing available modes:
# aticonfig --list-powerstates core/mem [flags] --------------- 1: 101/122 MHz [default state] 2: 105/122 MHz [low voltage] 3: 209/182 MHz [low voltage]
These are the results on a T43 with an ATI Mobility Radeon X300 chip. Mode 2 is slow but power-conserving, mode 3 is fast but power-consuming and mode 1 is silly -- it's as slow as mode 2 and as power-consuming as mode 3.
To changing the power mode on the fly:
aticonfig --set-powerstate=2 --effective=now
To changing the default power mode persistently in /etc/X11/xorg.conf, set
Option "PowerState" "2"
in the Device section, or run
aticonfig --set-powerstate=2 --effective=startup
(the latter seems to be broken on fglrx 8.19.10).