
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
INTRODUCTION
This Javascript applet allows for controlling and monitoring the power management mode and temperature of AMD/ATI graphics cards.
It only works with the free Xorg radeon driver and requires at least a 2.6.35 kernel.
It does NOT work with the proprietary fglrx driver.
INSTALLATION
Before installing/using the applet, some system configuration steps must be accomplished. As root (or with sudo), the following files must be made writable for all users. This will allow any user to change the power management settings of the card :
chmod a+w /sys/class/drm/card0/device/power_method
chmod a+w /sys/class/drm/card0/device/power_profile
Also as root, you must mount the debug file system. This will allow the applet to display frequencies and voltage information (if it doesn't work, you may need to make sure that normal users can navigate and read the debug file system) :
mount -t debugfs none /sys/kernel/debug
On some systems, the following permissions can be necessary :
chmod a+x /sys/kernel/debug
chmod a+x /sys/kernel/debug/dri
chmod a+x /sys/kernel/debug/dri/0
chmod a+r /sys/kernel/debug/dri/0/radeon_pm_info
To make the above configurations persistent, you can put those command lines in /etc/rc.local or, for OpenSUSE users, in /etc/init.d/boot.local
The following commands must be passed as a normal user (ie. not root).
If you installed a previous version, you must first close all instances of the applet, and uninstall it :
plasmapkg -r radeon-pm
You can now install the applet :
plasmapkg -t plasmoid -i radeon-pm.plasmoid
CONFIGURATION
The buttons allow you to select the power management mode for your card. Here are their meaning (from the Xorg wiki, http://wiki.x.org/wiki/RadeonFeature) :
- Dynamic : dynamically changes the clocks based on the number of pending fences, so performance is ramped up when running GPU intensive apps, and ramped down when the GPU is idle. The reclocking is attemped during vertical blanking periods, but due to the timing of the reclocking functions, doesn't not always complete in the blanking period, which can lead to flicker in the display. Due to this, dynpm only works when a single head is active.
- Low : forces the gpu to be in the low power state all the time. Note that low can cause display problems on some laptops; this is why auto does not use low when displays are active.
- Mid : forces the gpu to be in the mid power state all the time. The low power state is selected when the monitors are in the dpms off state.
- High : forces the gpu to be in the high power state all the time. The low power state is selected when the monitors are in the dpms off state.
- Automatic : selects between mid and high power states based on the whether the system is on battery power or not. The low power state are selected when the monitors are in the dpms off state.
- Default : uses the default clocks and does not change the power state. This is the default behavior.
In the applet settings dialog, you can set the following values :
- Radeon PM info path : path to the kernel debug file (named radeon_pm_info) which contains the power state informations (frequencies, voltage).
- Device directory : path to the device directory. This directory must contain the power_method and power_profile files. This directory should also contain a hwmon subdirectory for temperature monitoring.
- Temperature monitor path : path to the temperature monitor file. This file should be in a sub-subdirectory of the device directory (something like hwmon/hwmon0), and is usually called temp1_input (or something like that...).
- Show low power mode button : since this mode can cause display problems, use it at your own risk.
- Delay between updates : this sets the elapsed time (in seconds) between updates.
- Remember power mode : if checked, the last selected power management mode will be applied the next time the applet is loaded. This can be tricky for some setups (like mine) where the lowest power mode does not work well when the laptop is docked and hooked up to an external screen.
8 years ago
1.7
Corrected a bug with some non persistent configuration options
1.6
Made the script a bit more robust when dealing with incomplete radeon_pm_info data
1.5
Tried to consolidate some workarounds. If you don't have problems, there's no need to update.
1.4
worked around a problem with some settings being forgotten under KDE 4.6.x (if you don't have this problem, you may want to stick to the 1.3 version, which is also included in the download) and added X-Plasma-NotificationArea=true (the plasmoid can now be added to the notification area).
1.3
added actual low power mode (optional) and updated readme with power mode descriptions from Xorg
1.2
frequencies are now displayed in MHz (suggested by Fisiu. It does look much better indeed).
1.15
corrected a bug which prevented the applet to work for KDE 4.6+
1.1
added setting for temperature monitor path.
1.0
initial release
8 years ago
1.7
Corrected a bug with some non persistent configuration options
1.6
Made the script a bit more robust when dealing with incomplete radeon_pm_info data
1.5
Tried to consolidate some workarounds. If you don't have problems, there's no need to update.
1.4
worked around a problem with some settings being forgotten under KDE 4.6.x (if you don't have this problem, you may want to stick to the 1.3 version, which is also included in the download) and added X-Plasma-NotificationArea=true (the plasmoid can now be added to the notification area).
1.3
added actual low power mode (optional) and updated readme with power mode descriptions from Xorg
1.2
frequencies are now displayed in MHz (suggested by Fisiu. It does look much better indeed).
1.15
corrected a bug which prevented the applet to work for KDE 4.6+
1.1
added setting for temperature monitor path.
1.0
initial release
NatsuPower
7 years ago
chmod a+w /sys/class/drm/card0/device/power_method
chmod a+w /sys/class/drm/card0/device/power_profile
I tried with su as super user in Konsole and sudo it works after the two commands but they are reseted after every reboot.
Ok maybe this is a problem of openSUSE but what do you think?
Report
jemino
7 years ago
Did you put those two commands in /etc/rc.local (so that they're executed each time the machine boots) ?
Report
NatsuPower
7 years ago
OK in Chakra Linux /etc/rc.local do not exits but the widget works fine after every reboot.
Report
jemino
7 years ago
/etc/init.d/boot.local
Report
NatsuPower
7 years ago
I made it like this at /etc/init.d/boot.local
#! /bin/sh
#
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. All rights reserved.
#
# Author: Werner Fink, 1996
# Burchard Steinbild, 1996
#
# /etc/init.d/boot.local
#
# script with local commands to be executed from init on system startup
#
# Here you should add things, that should happen directly after booting
# before we're going to the first run level.
#
#Radeon pm
chmod a+w /sys/class/drm/card0/device/power_method
chmod a+w /sys/class/drm/card0/device/power_profile
chmod a+x /sys/kernel/debug
chmod a+x /sys/kernel/debug/dri
chmod a+x /sys/kernel/debug/dri/0
chmod a+r /sys/kernel/debug/dri/0/radeon_pm_info
now it works and pleas made an comment for openSUSE users in your main post.
Report
jemino
7 years ago
Report
obedlink
8 years ago
when using the mount command I get the following result.
obed @ kubuntu: ~ $ sudo mount-t debugfs none / sys / kernel / debug
[sudo] password for obed:
mount: none already mounted or / sys / kernel / debug busy
mount: according to mtab, none is already mounted on / sys / kernel / debug
obed @ kubuntu: ~ $
Report
jemino
8 years ago
sudo chmod -R o+r /sys/kernel/debug
Report
dinolib
8 years ago
Report
jemino
8 years ago
chmod a+x /sys/kernel/debug
chmod a+x /sys/kernel/debug/dri
chmod a+x /sys/kernel/debug/dri/0
chmod a+r /sys/kernel/debug/dri/0/radeon_pm_info
Report
dinolib
8 years ago
Report
ArLex
8 years ago
I've been using version 1.4 of this plasmoid for my Mobility Radeon HD 4200 on Fedora 15-17. I was able to change power mode, although there was no device info (as I understood, because of other output and less info available for Mobility cards) and it had visual bug with button size (for all KDE versions that I used - 4.7-4.9).
In v1.7 the buttons are now placed correctly and it shows the current engine clock. But when trying to change the power mode I get the following error:
Quote:Error in contents/code/main.js on line 41.
Error:
Function.prototype.disconnect:
failed to disconnect from
QTimer::timeout()
By clicking "OK" it shows, that the mode has changed, but sysfs shows that it has not.
I installed it manually as described, KDE 4.9.3, Fedora 17. Thanks in advance.
Report
jemino
8 years ago
Could you try the following :
- in kwrite, open ~/.kde/share/apps/plasma/plasmoids/radeon-pm/contents/code/main.js
- comment the following lines out (by putting // at the beginning of each of them) : 40, 41, 46, 47
- save, close editor, log out and back in
Report
ArLex
8 years ago
Another question regarding state info:
It seems, that my card doesn't have voltage and temperature sensors - "cat /sys/kernel/debug/dri/0/radeon_pm_info" gives the following output:
Quote:default engine clock: 500000 kHz
current engine clock: 193320 kHz
default memory clock: 533000 kHz
but widget shows only current engine clock. Or was it supposed to show current memory clock?
Thanks for your help.
Report
jemino
8 years ago
Regarding the memory clock, the script does look for the "current memory clock" line and does nothing if the line isn't there. If you want to display the memory frequency, you can edit the main.js file again, go to line 197 and replace "current m" by "default m".
Report
jaxxed
8 years ago
J, is there anything that needs to be done to keep it up to date?
Would it make sense to try to write some systemd/cpufreq interface instead of directly writing to the files (which I think that it does)
Report
jemino
8 years ago
I'm not sure about cpufreq (isn't it dedicated to cpu power management ?).
Systemd being an init replacement, I don't think it would be of use here (unless you want a daemon that scales the frequencies based on various conditions, but this is way beyond the scope of this simple applet).
About the "pseudo-files" this applet writes to, they are (but my knowledge might not be so up-to-date) the only userspace interface to access radeon power management. Even a power management daemon would need to use this interface (and thus write to the files).
Take care
JM
Report
snakebite
8 years ago
Report
Deathmachine
8 years ago
Report
msledziona
8 years ago
Report
mpxlbs
8 years ago
I'm using Kubuntu 12.04, and I love the work you did on Radeon PM! Now, it might be because of a never version of kubuntu has arrived, but Radeon PM doesn't seem to be able to remember the last power profile I used, after each reboot, so I have to manually select it again, even though in the settings, the box that asks me if it should remember it, is marked. Why would this happen? Also, any plans for a new version? Thanks!
Report
Archon9
9 years ago
Error in contents/code/main.js on line 202.
TypeError: Results of expression 'ioJob' [undefined] is not an object.
I'm on Linux Mint 10 with KDE 4.6.0
Report
jemino
9 years ago
Report
Archon9
9 years ago
Report
itslennie
9 years ago
Report