{"id":13617437,"url":"https://github.com/deinstapel/cpupower","last_synced_at":"2025-10-14T22:23:01.218Z","repository":{"id":39223312,"uuid":"30696289","full_name":"deinstapel/cpupower","owner":"deinstapel","description":"Manage the frequency scaling driver of your CPU (Intel Core and AMD Ryzen processors supported)","archived":false,"fork":false,"pushed_at":"2024-09-03T21:01:19.000Z","size":937,"stargazers_count":538,"open_issues_count":56,"forks_count":73,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-14T06:39:28.264Z","etag":null,"topics":["amd-ryzen","cpu-frequency-scaling","cpufreq","gnome","gnome-extension","gnome-shell","gnome-shell-extension","intel-pstate","intel-pstate-driver"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deinstapel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-02-12T09:54:01.000Z","updated_at":"2025-03-03T05:58:25.000Z","dependencies_parsed_at":"2023-02-08T08:15:59.020Z","dependency_job_id":"cc2dd6a1-aac5-4af3-8726-136b0b394c8e","html_url":"https://github.com/deinstapel/cpupower","commit_stats":null,"previous_names":["martin31821/cpupower"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/deinstapel/cpupower","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinstapel%2Fcpupower","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinstapel%2Fcpupower/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinstapel%2Fcpupower/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinstapel%2Fcpupower/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deinstapel","download_url":"https://codeload.github.com/deinstapel/cpupower/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deinstapel%2Fcpupower/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279021779,"owners_count":26087055,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amd-ryzen","cpu-frequency-scaling","cpufreq","gnome","gnome-extension","gnome-shell","gnome-shell-extension","intel-pstate","intel-pstate-driver"],"created_at":"2024-08-01T20:01:41.690Z","updated_at":"2025-10-14T22:23:01.187Z","avatar_url":"https://github.com/deinstapel.png","language":"JavaScript","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"\u003ch1 align=\"center\"\u003eCPU Power Manager for Gnome Shell\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Screenshot\" width=\"331\" src=\"./img/header.png\"/\u003e\n  \u003c!--\u003ca href=\"https://extensions.gnome.org/extension/945/cpu-power-manager/\"\u003e\n    \u003cimg alt=\"Get it on GNOME Extensions\" width=\"228\" src=\"https://raw.githubusercontent.com/andyholmes/gnome-shell-extensions-badge/master/get-it-on-ego.svg?sanitize=true\"/\u003e\n  \u003c/a\u003e--\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://github.com/deinstapel/cpupower/actions?query=workflow%3A%22latest%20build%22\"\u003e\n    \u003cimg src=\"https://github.com/deinstapel/cpupower/workflows/latest%20build/badge.svg\" alt=\"latest build\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/deinstapel/cpupower/actions?query=workflow%3A%22release%20build%22\"\u003e\n    \u003cimg src=\"https://github.com/deinstapel/cpupower/workflows/release%20build/badge.svg\" alt=\"release build\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/deinstapel/cpupower/releases\"\u003e\n    \u003cimg alt=\"Lastest release\" src=\"https://img.shields.io/github/v/release/deinstapel/cpupower?label=latest%20release\u0026sort=semver\"\u003e\n  \u003c/a\u003e\n  \u003cimg alt=\"Gnome 42\" src=\"https://img.shields.io/badge/gnome-42-blue?logo=gnome\u0026logoColor=white\"\u003e\n  \u003ca href=\"https://github.com/deinstapel/cpupower/blob/master/LICENSE\"\u003e\n    \u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/deinstapel/cpupower.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca title=\"Crowdin\" target=\"_blank\" href=\"https://crowdin.com/project/cpupower\"\u003e\n    \u003cimg src=\"https://badges.crowdin.net/cpupower/localized.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"http://makeapullrequest.com\"\u003e\n    \u003cimg alt=\"PRs Welcome\" src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" target=\"_blank\" /\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ci\u003eGnome-Shell Extension for controlling the frequency setting of your CPU\u003c/i\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e •\n  \u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e •\n  \u003ca href=\"#translating\"\u003eTranslating\u003c/a\u003e •\n  \u003ca href=\"#packaging\"\u003ePackaging\u003c/a\u003e •\n  \u003ca href=\"#developing\"\u003eDeveloping\u003c/a\u003e\n\u003c/p\u003e\n\n## Prerequisites\n\nYou need to have a CPU which is supported by the **cpufreq** or **intel_pstate** CPU frequency scaling driver of the Linux kernel. This applies for most modern CPU's. Furthermore, the following software needs to be installed to use this extension:\n\n- Gnome (since it's an extension)\n- Policykit (ships default with gnome)\n- For Intel Core CPU's `intel_pstate` needs to be enabled in the Linux kernel (should be the default in almost all Distros)\n- For AMD Ryzen CPU's no further requirements are needed\n- A POSIX compatible shell\n\n## Installation\n\nInstalling this extension can either be done via distribution packages provided by us (recommended) or via the Gnome extensions website (often outdated). Have a look at the options below to find the correct installation method for your system.\n\n\u003e Info: The `$` at the beginning of a line means that this line should be run as the user who is using the extension (most likely you). If you don't know what that means, just open up a terminal and use it as is. Commands are run as your user by default.\n\u003e So for the line `$ echo Hello world` you would type `echo Hello world` into your terminal and hit enter.\n\n\u003e Info: The `#` at the beginning of a line means that this line must be run with `root` privileges (the name of the administrator account on Linux systems).\n\u003e So for the line `# dnf update` you would then e.g. run `sudo dnf update` in your terminal if your system uses `sudo`. Your system is most likely using `sudo` and if not you would know it.\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eclick to expand\u003c/code\u003e \u003ch3\u003eAny newer Ubuntu release or Ubuntu based distribution. \u003ci\u003eIf unsure do this!\u003c/i\u003e\u003c/h3\u003e\u003c/summary\u003e\n\nTo install the extension on any newer Ubuntu based system (e.g. PopOS) run the below commands.\n\n\u003e WARNING: This will **not** work for ElementaryOS, Linux Mint, and any other Ubuntu which is not using the GNOME desktop environment. Running the below commands will likely break your system otherwise!\n\n\u003e Info: It is safe to install this extension if only a single package is installed by the below `apt-get install` command. If more packages are to be installed, please stop doing so and if unsure [create an issue](https://github.com/deinstapel/cpupower/issues/new/choose) asking for help!\n\n```\n$ sudo add-apt-repository ppa:fin1ger/cpupower\n$ sudo apt-get update\n$ sudo apt-get install gnome-shell-extension-cpupower\n```\n\nNow log out and back in again. Yes, this is really necessary thanks to Gnome. After logging back in, enable the extension with:\n\n```\n$ gnome-extensions enable cpupower@mko-sl.de\n```\n\nThe extension should now be enabled and ready to use!\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eclick to expand\u003c/code\u003e \u003ch3\u003eUbuntu 18.04 (Bionic Beaver)\u003c/h3\u003e\u003c/summary\u003e\n\nTo install this extension on Ubuntu Bionic Beaver please run the following commands:\n\n```\n$ sudo add-apt-repository ppa:fin1ger/cpupower\n$ sudo apt-get update\n$ sudo apt-get install gnome-shell-extension-cpupower\n```\n\nNow log out and back in again. Yes, this is really necessary thanks to Gnome. After logging back in, enable the extension with:\n\n```\n$ gnome-shell-extension-tool -e cpupower@mko-sl.de\n```\n\nThe extension should now be enabled and ready to use!\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eclick to expand\u003c/code\u003e \u003ch3\u003eDebian or debian based distributions\u003c/h3\u003e\u003c/summary\u003e\n\nTo install the extension on any newer Debian based system run the below commands.\n\n\u003e WARNING: This will **not** work when using any desktop environment other than GNOME. Running the below commands while using other desktop environments will likely break your system!\n\n\u003e Info: It is safe to install this extension if only a single package is installed by the below `apt-get install` command. If more packages are to be installed, please stop doing so and if unsure [create an issue](https://github.com/deinstapel/cpupower/issues/new/choose) asking for help!\n\n```\n# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D76A018A2B4E77F5\n# add-apt-repository 'deb http://ppa.launchpad.net/fin1ger/cpupower/ubuntu hirsute main'\n# apt-get update\n# apt-get install gnome-shell-extension-cpupower\n```\n\n\u003e Note: Debian is not using `sudo` by default. If you do not have `sudo`, get a `root` shell by typing `su` in a terminal and entering your superuser password.\n\nNow log out and back in again. Yes, this is really necessary thanks to Gnome. After logging back in, enable the extension with:\n\n```\n$ gnome-extensions enable cpupower@mko-sl.de\n```\n\nThe extension should now be enabled and ready to use!\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eclick to expand\u003c/code\u003e \u003ch3\u003eFedora / CentOS / Mageia / OpenMandriva\u003c/h3\u003e\u003c/summary\u003e\n\nTo install this extension on most RPM based Linux distributions run the below commands.\n\n\u003e WARNING: This will **not** work when using any desktop environment other than GNOME. Running the below commands while using other desktop environments will likely break your system!\n\n\u003e Info: It is safe to install this extension if only a single package is installed by the below `dnf install` command. If more packages are to be installed, please stop doing so and if unsure [create an issue](https://github.com/deinstapel/cpupower/issues/new/choose) asking for help!\n\n```\n# dnf copr enable fin-ger/cpupower\n# dnf install gnome-shell-extension-cpupower\n```\n\n\u003e You need to have the package `dnf-plugins-core` installed. If the above commands are failing try installing them with `dnf install dnf-plugins-core` and rerun the above commands.\n\n\u003e Caution: Due to a name change required by the Fedora admins of my Fedora account, the name of the copr also changed. `fin_ger/cpupower` has changed to `fin-ger/cpupower`.\n\nNow log out and back in again. Yes, this is really necessary thanks to Gnome. After logging back in, enable the extension with:\n\n```\n$ gnome-extensions enable cpupower@mko-sl.de\n```\n\nThe extension should now be enabled and ready to use!\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eclick to expand\u003c/code\u003e \u003ch3\u003eOpenSUSE\u003c/h3\u003e\u003c/summary\u003e\n\nDownload the [appropriate `.repo` file for your OpenSUSE release](https://copr.fedorainfracloud.org/coprs/fin-ger/cpupower/) (most likely the latest version) and save it to `/etc/zypp/repos.d/`. Now run the following commands:\n\n```\n# zypper install gnome-shell-extension-cpupower\n```\n\nNow log out and back in again. Yes, this is really necessary thanks to Gnome. After logging back in, enable the extension with:\n\n```\n$ gnome-extensions enable cpupower@mko-sl.de\n```\n\nThe extension should now be enabled and ready to use!\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eclick to expand\u003c/code\u003e \u003ch3\u003eInstall via the Gnome extension website (probably outdated)\u003c/h3\u003e\u003c/summary\u003e\n\nOpen the [`cpupower` Gnome extensions website](https://extensions.gnome.org/extension/945/cpu-power-manager/) in your default webbrowser. Click on the blue slider to install the extension.\n\nAfter installation, click on the CPU icon in the top bar of your Gnome shell and follow the instructions. You need to enter your root password to install a policy kit rule. This rule is used to set the clock frequency of your CPU.\n\nYou are now ready to use this extension!\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ccode\u003eclick to expand\u003c/code\u003e \u003ch3\u003eYour distribution is not listed?\u003c/h3\u003e\u003c/summary\u003e\n\nFear not! We have other options for installing this extension. Although, you will not receive automatic updates which might be dangerous if we encounter security issues in the extension and you miss the fix for that issue. If you regularly check for updates yourself you can of course still use this extension without any risk.\n\nIf your distribution is capable of installing `DEB` or `RPM` packages, have a look at the [releases page](https://github.com/deinstapel/cpupower/releases) of this repository for downloadable pre-built packages.\n\nAnother option is to install the extension zip file manually. To do so, download the latest `zip` from the [release page](https://github.com/deinstapel/cpupower/releases). Now run the following commands:\n\n```\n$ gnome-extensions install /path/to/cpupower.zip\n```\n\nNow log out and back in again. Yes, this is really necessary thanks to Gnome. After logging back in, enable the extension with:\n\n```\n$ gnome-extensions enable cpupower@mko-sl.de\n```\n\nAfter enabling, click on the CPU icon in the top bar of your Gnome shell and follow the instructions. You need to enter your root password to install a policy kit rule. This rule is used to set the clock frequency of your CPU.\n\nYou are now ready to use this extension!\n\n\u003c/details\u003e\n\n---\n\nYou are a developer or sysadmin and are looking for ways to install this extension directly from the git repository? Read on! The section below will explain in detail how to do so.\n\n### Additional for prerequisites for Installation via Makefile\n\nIn order to use the Makefile you need the following packages:\n\n - make\n - gettext\n - glib2 tools\n - zip and unzip\n - tar\n\n### Installing for another (admin) user\n\nImpersonate the (admin) user, clone the git repository, and run the following command:\n\n\u003e Note: Cloning and installing the extension while impersonating the other user, enables this user\n\u003e       to install updates for this extension from extensions.gnome.org.\n\n```shell\n$ sudo -u username bash\n$ cd /tmp\n$ git clone https://github.com/deinstapel/cpupower.git\n$ cd cpupower\n$ make install PREFIX=/home/username/.local\n```\n\nRestart the gnome-shell (log out and back in) to make the extension available.\n\nThe user can enable the extension in his settings and install the polkit rule and `cpufreqctl` tool by using the included installation guide.\n\n#### Uninstalling\n\nThe user can uninstall the tools in the settings of this extension. The extension itself can be removed from withing the extension settings or with this command:\n\n```shell\n$ make uninstall PREFIX=/home/username/.local\n```\n\n### Installing for another (non-admin) user\n\nImpersonate the (non-admin) user, clone the git repository, and run the following command:\n\n\u003e Note: Cloning and installing the extension while impersonating the other user, enables this user\n\u003e       to install updates for this extension from extensions.gnome.org. However, the tool **must**\n\u003e       be updated and installed by an administrator. The extension may stop working after the user\n\u003e       installed an update and may need updating of the tool by an administrator.\n\n```shell\n$ sudo -u username bash\n$ cd /tmp\n$ git clone https://github.com/deinstapel/cpupower.git\n$ cd cpupower\n$ make install PREFIX=/home/username/.local\n```\n\nAnd with an admin user run the following commands:\n\n```shell\n$ sudo make install-tool TOOL_SUFFIX=username\n```\n\n\u003e Note: Also, use this command to update the tool for another user in an outdated installation.\n\n\u003e Note: Using another PREFIX than `/usr` in this setup might include security risks and may not work.\n\nRestart the gnome-shell (log out and back in) to make the extension available.\n\nThe extension will work out-of-the-box for this user only!\n\n#### Uninstalling\n\n```shell\n$ sudo make uninstall PREFIX=/home/username/.local\n$ sudo make uninstall-tool TOOL_SUFFIX=username\n```\n\n### Installing for all users\n\nClone the git repository and run the following command:\n\n```shell\n$ sudo make install install-tool\n```\n\nThis will install the extensions, polkit rule, and the tool for all users on the system.\n\n#### Uninstalling\n\nRun the following command to uninstall:\n\n```shell\n$ sudo make uninstall uninstall-tool\n```\n\n## Translating\n\n`cpupower` now uses [crowdin](https://crowdin.com/project/cpupower) for translation. You are free to choose from manually translating this extension with tools like [`Poedit`](https://poedit.net/) or using the online service of crowdin.\n\n### Translating with crowdin\n\nFirst visit the [project page](https://crowdin.com/project/cpupower) of `cpupower` on crowdin and select the language you would like to translate to. Now, click on `Translate All` and you're good to go.\n\n### Manual translation method\n\nIn order to translate this extension with [`Poedit`](https://poedit.net/) you first need to install it. You may use your distributions package manager for installation.\n\nWhen finished, [fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) this project and clone like described in the linked guide.\n\n#### Creating a new translation\n\nOpen Poedit and select `File` / `New From POT/PO File...` and select `cpupower/locale/template.pot`. Select the language you want to translate to. Now start translating.\n\n#### Edit or update an existing translation\n\nOpen Poedit and select `Open`. Navigate to the `cpupower/locale` folder and select the language file (`.po`) you want to edit/update. Now select `Catalog` / `Update from POT File...` and select `cpupower/locale/template.pot`. Now, you can start updating the translation.\n\n#### Saving your work\n\nWhen finished save the file into the `locale` folder and [push](https://help.github.com/en/github/managing-files-in-a-repository/adding-a-file-to-a-repository-using-the-command-line) your changes to your fork. Now, you can create a [pull request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) to make your translation available in the main cpupower installation.\n\n## Packaging\n\nYou are a package maintainer and looking into packaging this extension? Great! Below is a short summary of how to properly install this extension (run as `root`):\n\n```shell\n# make install install-tool PREFIX=/usr\n```\n\nThis will install a polkit rule to `/usr/share/polkit-1/actions/mko.cpupower.setcpufreq.policy` and an executable bash script to `/usr/bin/cpufreqctl`. The extension is installed to `/usr/share/gnome-shell/extensions/cpupower@mko-sl.de`. It still includes the `scripts` folder, the policykit rule template in `data/mko.cpupower.policy.in`, a useless copy of the tool in the `tool` folder, and the `Makefile`. These are included in the distribution of the extension to enable user installation if the extension got installed over the GNOME extensions website. If you do not want to distribute those files in your package, you can safely remove them.\n\n\u003e If you find any issues in packaging this extension, please don't hesitate to report them!\n\n## Developing\n\n### Option 1\n\nClone the repository and run:\n\n```shell\n$ make install PREFIX=/home/username/.local\n```\n\nand reload the extension by restarting your gnome-shell.\n\n### Option 2\n\nClone the respository to `~/.local/share/gnome-shell/extensions/cpupower@mko-sl.de` and reload the extension by restarting your gnome-shell.\n\nYou can now enable the extension in your extension settings.\n\n### Viewing log output\n\n```shell\n$ journalctl /usr/bin/gnome-shell -f\n```\n\n### Creating a new release\n\nOnly core contributors to this project can make a new release. To create one, run:\n\n```shell\n$ make release\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeinstapel%2Fcpupower","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeinstapel%2Fcpupower","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeinstapel%2Fcpupower/lists"}