GithubHelp home page GithubHelp logo

wide888 / dpm-query Goto Github PK

View Code? Open in Web Editor NEW

This project forked from illwieckz/dpm-query

0.0 1.0 0.0 11 KB

DPM query tool and service to workaround bugs or save energy

License: ISC License

Shell 100.00%

dpm-query's Introduction

DPM query

About

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

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

More

If you are a GNOME Shell user, you can try the radeon-dpm-control extension by Julian, which is based on dpm-query.

Warning

No warranty is given, use this at your own risk.

Author

Thomas Debesse [email protected]

Copyright

These tool and service are distributed under the highly permissive and laconic ISC License.

dpm-query's People

Contributors

illwieckz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.