How to make use of Graphics Chips Power Management features
ATI Radeon Mobility chips
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
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 .
Problem with suspend-to-disk
Upon resume from suspend-to-disk, the setting of DynamicClocks is forgotten and the GPU will consume more power until the next X server startup. You can manually enable DynamicClocks again by starting a blank second X server (e.g., by running
# X :1) and then exiting it via .
If you're using the hibernate script that's part of Software Suspend 2, setting UseDummyXServer to yes in hibernate.conf automatically starts a second X server, hence enabling DynamicClocks again. (Remember to disable UseDummyXServer if you switch to the fglrx driver, otherwise your computer will hang upon resume.)
Note: When using the Synaptics TouchPad driver for X with the SHMConfig-Option set to true in xorg.conf, starting a second X server breaks the Shared Memory and the touchpad can't be configured with
synclient any longer. Starting the dummy X server with a different xorg.conf file is a solution to this, a patch can be found in the suspend2 bugzilla.
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 list available modes do:
# aticonfig --list-powerstates
1: 105/122 MHz [low voltage]
2: 209/182 MHz [low voltage]
3: 297/230 MHz [default state]
To changing the power mode on the fly:
# aticonfig --set-powerstate=2 --effective=now
With newer driver versions (8.26 and later), atieventsd should dynamically change the power state and clock, depending on thermal conditions and AC plug.
Limitations (as of fglrx 8.19.10):
- You can't set the power state in /etc/X11/xorg.conf .
- You can't activate power saving when using dual-head mode (e.g., LCD+CRT).
Other graphics chips
No instructions are presently known for other chips.