cpupower-gui
--------------------
This program is designed to allow you to change the frequency limits of your cpu and its governor. The application is similar in functionality to `cpupower`.
[](https://GitHub.com/vagnum08/cpupower-gui/releases/)
[](https://repology.org/project/cpupower-gui/versions)
[](https://github.com/vagnum08/cpupower-gui/blob/master/COPYING)
[](https://github.com/vagnum08/cpupower-gui/archive/master.zip)
[](https://GitHub.com/vagnum08/cpupower-gui/releases/)
# Screenshots
If Intel P-state driver is used and the energy preferences are available a drop-down will be available.
<img src="screenshots/desktop.png" alt="Desktop window" width="500"/>
`cpupower-gui` is also mobile friendly and will adapt the interface based on the window size.
Below is an example from [pinephone](https://www.pine64.org/pinephone/) with phosh running on [mobian](https://mobian-project.org/).
<img src="screenshots/mobile.png" alt="mobile view" width="844"/>
# Table of Contents
1. [Packages](#packages)
2. [Usage](#usage)
- [Graphical](#graphical)
- [Console](#command-Line)
3. [Configuration](#system-configuration)
4. [Manual Installation](#manual-installation)
# Packages
Cpupower-gui is available on the official repositories for a few distributions.
[](https://repology.org/metapackage/cpupower-gui/versions)
## Repositories:
### Arch Linux and derivatives
Packages exist in AUR as [`cpupower-gui`](https://aur.archlinux.org/packages/cpupower-gui/) ([`cpupower-gui-git`](https://aur.archlinux.org/packages/cpupower-gui-git/)), built from this repo.
### blackPanther OS
To install `cpupower-gui` run `updating repos` to update the repositories and install by running `installing cpupower-gui`.
### Debian/Ubuntu and derivatives
You can install `cpupower-gui` from the software manager or from the terminal by running:
```bash
sudo apt install cpupower-gui
```
However, the version on Debian/Ubuntu repositories is way out of date.
You can get the debian package of the latest version from the github releases page.
### Fedora/OpenSUSE
You can install `cpupower-gui` by adding the repository from [openSUSE Build Service](https://software.opensuse.org//download.html?project=multimedia%3Aproaudio&package=cpupower-gui).
For example, in Fedora 38 run the following as root:
```bash
dnf config-manager --add-repo https://download.opensuse.org/repositories/multimedia:proaudio/Fedora_38/multimedia:proaudio.repo
dnf install cpupower-gui
```
For OpenSUSE Tumbleweed:
```bash
zypper addrepo https://download.opensuse.org/repositories/multimedia:proaudio/openSUSE_Tumbleweed/multimedia:proaudio.repo
zypper refresh
zypper install cpupower-gui
```
Note: The package repository is located at https://build.opensuse.org/package/show/multimedia:proaudio/cpupower-gui and the binaries for Fedora and Suse are built from the latest git revision of `cpupower-gui`.
### OpenMandriva
You can install `cpupower-gui` from the official repository.
```bash
dnf install cpupower-gui
```
# Usage
## Graphical
To change the frequency settings, select the CPU from the drop-down menu, adjust the sliders and click `Apply`.
Additionally, the cpu governor can be changed by selecting a governor from the drop-down menu.
Last, to apply the same settings to all CPUs, toggle the `All CPUs` switch (square icon on the top left).
There are two governor profiles available, `Performance` and `Balanced`.
The performance profile sets the governor for all CPUs to `performance`.
Similarly, the balanced profile set the governor to either `powersave` (if available) or to a scalling governor such as `ondemand` or `schedutil`.
These profiles can be selected either from the desktop icon or the tray icon actions.
There is an option to enable or disable a specific cpu.
This can be controlled via the the `Online` checkbox next to the `CPU` drop-down menu.
Initially, the checkbox displays the state of the cpu, i.e. if it is online or offline.
Note: If this checkbox is greyed-out, it means that this cpu is not allowed to go offline.
## Command-line
The governor profiles can be used from the command line.
The CPU settings can be applied from the command line using the appropriate subcommands.
These commands are: `config`, `frequency`, `energy` (system dependent), `profile`, `online/offline`.
Sorter aliases are indicated in square brackets in the help menu.
```bash
$ cpupower-gui -h
usage: cpupower-gui [-h] [--version] [-b] [-p] [--gapplication-service]
{[co]nfig, [freq]uency, [ene]rgy, [pr]ofile, [off]line,
[on]line} ...
cpupower-gui - Set the scaling frequencies and governor of a CPU
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
-b, --balanced Change governor to balanced
-p, --performance Change governor to performance
--gapplication-service
Start gui from gapplication
subcommands:
Configuration commands
{[co]nfig, [freq]uency, [ene]rgy, [pr]ofile, [off]line, [on]line}
Change the settings from the command line
```
For example to switch all governors to performance run `cpupower-gui -p`.
Alternatively, the application actions can be executed via `gapplication`.
```bash
# Switch to balanced profile
gapplication action org.rnd2.cpupower_gui Balanced
# Switch to performance profile
gapplication action org.rnd2.cpupower_gui Performance
```
The `config` subcommand apply the default configuration as defined in the configuration files.
```bash
$ cpupower-gui co -h
usage: cpupower-gui config [-h]
positional arguments:
apply Apply cpupower configuration
optional arguments:
-h, --help show this help message and exit
$ cpupower-gui config
Applying configuration...
Setting CPU: 0
Minimum Frequency: 400.0 MHz, Maximum Frequency: 2300.0 MHz
Governor: Powersave, Online: True
Setting CPU: 1
Minimum Frequency: 400.0 MHz, Maximum Frequency: 2300.0 MHz
Governor: Powersave, Online: True
Setting CPU: 2
Minimum Frequency: 400.0 MHz, Maximum Frequency: 2300.0 MHz
Governor: Powersave, Online: True
Setting CPU: 3
Minimum Frequency: 400.0 MHz, Maximum Frequency: 2300.0 MHz
Governor: Powersave, Online: True
```
The `frequency` subcommand can be used to query or set the minimum and maximum frequencies of one or more CPUs.
```
$ cpupower-gui freq -h
usage: cpupower-gui frequency [-h] [--max MAX] [--min MIN] [LIST OF CPUS]
positional arguments:
LIST OF CPUS set CPUs frequency
optional arguments:
-h, --help show this help message and exit
--max MAX maximum frequency
--min MIN minimum frequency
$ cpupower-gui freq
CPU0:
Freqs (MHz): (400.0, 2300.0), Limits: (400.0, 2300.0)
CPU1:
Freqs (MHz): (400.0, 2300.0), Limits: (400.0, 2300.0)
CPU2:
Freqs (MHz): (400.0, 2300.0), Limits: (400.0, 2300.0)
CPU3:
Freqs (MHz): (400.0, 2300.0), Limits: (400.0, 2300.0)
$ cpupower-gui freq --min 600 --max 1200 1-3
Setting CPU1 frequency...
OK
OK
CPU1:
Freqs (MHz): (600.0, 1200.0), Limits: (400.0, 2300.0)
Setting CPU2 frequency...
OK
OK
CPU2:
Freqs (MHz): (600.0, 1200.0), Limits: (400.0, 2300.0)
Setting CPU3 frequency...
OK
OK
CPU3:
Freqs (MHz): (400.0, 2300.0), Limits: (400.0, 2300.0)
$ cpupower-gui freq --max 12000 1
Setting CPU1 frequency...
Frequency out of range: 400.0 < freq < 2300.0
CPU1:
Freqs (MHz): (600.0, 1200.0), Limits: (400.0, 2300.0)
```
The `profile` s