Thursday, June 28, 2012

Radeon open source driver power saving

Kernel Mode Settings (KMS) is available in the radeon open source driver since Ubuntu Karmic Koala 9.10. KMS allows automatic hardware settings detection and there are two power saving methods available in KMS: Dynpm and Profile.

!If you're using the proprietary ATI driver (fglrx), ignore this article!


The Dynpm method dynamically changes the GPU frequency on demand. So when an intensive task is being is executed the frequency is increased to provide more performance.

To enable the Dynpm method, open a terminal window and run:

sudo sh -c "echo dynpm > /sys/class/drm/card0/device/power_method"


With the Profile method the GPU frequency is adjusted according to profile settings. There are 5 power profiles:

  • default, uses default clocks/volts
  • low, forces GPU to lowest available frequency; may cause some issues on certain laptops and displays, as this is the mode used when the display switches to dpms off mode
  • mid, forces GPU to be in the "mid" power state all the time; safer to use than "low" for regular desktop usage
  • high, forces GPU to highest available frequency
  • auto, switches between high and mid power states depending on whether the system in on battery power or not

To enable the Profile method, open a terminal window and run:

sudo sh -c "echo profile > /sys/class/drm/card0/device/power_method"

Then choose one power profile, for example "mid":

sudo sh -c "echo mid > /sys/class/drm/card0/device/power_profile "

Check power saving current status

Power saving method:

sudo sh -c "cat /sys/class/drm/card0/device/power_method"

Power Profile:

sudo sh -c "cat /sys/class/drm/card0/device/power_profile"

ATI core and memory frequencies:

sudo sh -c "cat /sys/kernel/debug/dri/0/radeon_pm_info"


RadeonDriver at Ubuntu documentation
Ubuntu open source ATI radeon driver power usage tweaks
[How-To] Power saving with the Radeon driver
Radeon HD 6950 temperature is way too hot at ubuntu forums


  1. Is this power profile set permanently or is the setting lost after reboot?

    1. It's temporary. But you can add it to a startup script.

  2. Thanks !

    To see info, I had to mount debug with this command :

    mount -t debugfs none /sys/kernel/debug
    cat /sys/kernel/debug/dri/0/radeon_pm_info