This project provides a tool to set DPM profiles for your Radeon GPU and a systemd service. The service will be started before GDM (usefull if you need to change some values at computer startup because default settings are unsafe).
By default the dpm-query
tool sets all DPM enabled cards to level auto
and state balanced
(system default but sometime unsafe), and the dpm-set
service sets all DPM enabled cards to level auto
and state performance
, which is both safe and the most performant energy saving profile. The service also allows members of group video
to set DPM profiles.
The tool is installed in /usr/bin
prefix and the service in /lib/systemd/system/
directory.
You can edit /etc/dpm-query/dpm.cfg
and /etc/dpm-query/service.cfg
configuration files to change default DPM profiles or enable the user or the group you prefer.
This tool and this service were written to workaround a Radeon driver bug triggered by the default balanced
state, that's why the service does not use the default state to prevent GPU lockups. You can use the service for this purpose if you need it, or to set a DPM profile you want to have at startup just because you like it.
Use this tool and this service at your own risk.
How to install/uninstall the dpm-query
tool and service:
# clone the repository
git clone https://github.com/illwieckz/dpm-query.git
# walk in source tree
cd dpm-query
# install tool only
./configure
sudo make install
# install tool and service
./configure --enable-service --enable-service-start
sudo make install
# uninstall
sudo make uninstall
People may create a dpkg package this way (given fakeroot
and checkinstall
is already installed:
./configure --enable-service
printf 'n\n\n\n' \
| fakeroot checkinstall --fstrans \
--pkgname='dpm-query' \
--pkgversion='0~git' \
--pkglicense='ISC' \
--pkgarch='all' \
--deldesc='yes'
How to use the dpm-query
tool:
# set high level and performance state profile on all DPM enabled cards
dpm-query set all high performance
# check if you can set DPM profiles on selected DPM cards
dpm-query test 0,1,2
# set default on configured DPM enabled cards
dpm-query set default default default
# another way to do it
dpm-query set
# get current level and state profile for configured DPM enabled cards
dpm-query get
# read more help
dpm-query help
To set default profile to low/battery
(most energy-saving level and state), modify the /etc/dpm-query/dpm.cfg
file this way:
dpm_level='low'
dpm_state='battery'
To allow illwieckz
user only to set DPM profiles, modify the /etc/dpm-query/service.cfg
file this way:
dpm_user='illwieckz'
dpm_group='root'
dpm_group_perm='no'
Then restart the service:
systemctl restart dpm-query.service
If you are a GNOME Shell user, you can try the radeon-dpm-control
extension by Julian, which is based on dpm-query
.
No warranty is given, use this at your own risk.
Thomas Debesse dev@illwieckz.net
These tool and service are distributed under the highly permissive and laconic ISC License.