{"id":17807373,"url":"https://github.com/thealexdev23/power-options","last_synced_at":"2025-04-12T22:34:39.226Z","repository":{"id":249876992,"uuid":"827900306","full_name":"TheAlexDev23/power-options","owner":"TheAlexDev23","description":"Most feature-complete Linux GUI power management solution.","archived":false,"fork":false,"pushed_at":"2025-01-25T16:51:36.000Z","size":5596,"stargazers_count":282,"open_issues_count":3,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-04T02:09:16.758Z","etag":null,"topics":["gtk","linux","powersave","powersaving","webview"],"latest_commit_sha":null,"homepage":"https://thealexdev23.github.io/power-options/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheAlexDev23.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}},"created_at":"2024-07-12T16:13:39.000Z","updated_at":"2025-04-03T05:58:21.000Z","dependencies_parsed_at":"2024-07-23T23:23:55.410Z","dependency_job_id":"b15a3ae5-b3f6-4df8-860c-2afb8eb534a9","html_url":"https://github.com/TheAlexDev23/power-options","commit_stats":{"total_commits":230,"total_committers":2,"mean_commits":115.0,"dds":"0.034782608695652195","last_synced_commit":"8889b4b3c87594f41d5a3a2d325e8cda27880f59"},"previous_names":["thealexdev23/power-options"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlexDev23%2Fpower-options","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlexDev23%2Fpower-options/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlexDev23%2Fpower-options/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheAlexDev23%2Fpower-options/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheAlexDev23","download_url":"https://codeload.github.com/TheAlexDev23/power-options/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248642308,"owners_count":21138350,"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","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":["gtk","linux","powersave","powersaving","webview"],"created_at":"2024-10-27T14:04:03.935Z","updated_at":"2025-04-12T22:34:39.193Z","avatar_url":"https://github.com/TheAlexDev23.png","language":"Rust","readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"icon.png\" width=120\u003e\n    \u003ch1\u003e\n        Power Options\n    \u003c/h1\u003e\n    \u003ca href=\"https://discord.gg/KyZt97MvdU\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge\u0026logo=discord\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://www.paypal.com/paypalme/AlexanderKarpukhin2\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/PayPal-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\nAll-In-One blazingly fast Linux GUI Application for simple and advanced power\nmanagement on any device.\n\nPower Options can be a drop in replacement for any power-saving application,\nincluding TLP, auto-cpufreq, cpupower-gui, etc. Power Options covers all of the\nmost common power saving settings and adds additional ones not present in any other application.\n\nUpon install, Power Options will analyze the system and intelligently generate a wide range\nof profiles based on the findings. These profile are greatly optimized and shouldn't\nrequire intervention, unless the user wants more control.\n\nMost applications only allow two profiles: Battery Profile and AC profile. This\nis suboptimal for ocasions where one might want greater control. This is what\nled to the creation of the profile system that this program uses:\n- The user can have as many profiles as they please\n- The user chooses which profiles will be selected for Battery and AC.\n- The user can temporarily override the profile selection to another one until\n  they remove that override.\n- The user may set a persistent override that will be kept across reboots.\n\n## Available Frontends/Interfaces\n\nOne can simply install the daemon and edit the configuration files manually\nas those are written in TOML. But the biggest strength of this program\nare the GUI interfaces it provides, as almost any other power saving tool does not\nhave one and resorts to configuration files.\n\n### Native GTK frontend\n\nSimple, lightweight and native with a simple interface. Recommended for most\nusers.\n\n![gtk-slideshow](static/gtk-slideshow.gif)\n\n### WebKit frontend\n\nMore advanced options and greater control. Not as lightweight. Recommended for\nadvanced users and users who are looking to use power-options in tandem with\nanother power management solution.\n\n![webview-slideshow](static/webview-slideshow.gif)\n\n## Features\n\nPower options was made based on a recollection of all the tips and\nrecommendations from the biggest linux wikis and guides as well as other power\nsaving applications. Some examples include:\n- https://wiki.archlinux.org/title/Power_management\n- https://wiki.gentoo.org/wiki/Power_management/Guide\n- https://en.wikipedia.org/wiki/Power_management\n- https://github.com/supplantr/ftw\n- https://github.com/linrunner/TLP\n- https://github.com/AdnanHodzic/auto-cpufreq\n- https://github.com/vagnum08/cpupower-gui\n\nPower Option includes the following features:\n- More profile types than alternatives\n- Can smartly generate profiles by analyzing the user's system.\n- System Sleep Options (suspend, screen turn off)\n- CPU Options\n- Individual CPU Core Options. Most power saving tools lack this option and was\n  one of the main motivations for this project.\n- Screen Options\n- Options for disabling radio components (e.g Bluetooth, WiFi, NFC)\n- Network Options. Allows WAY greater control than alternative applications, but\n  does require network driver reload. Limited to Intel network cards that use\n  iwlwifi.\n- ASPM Options\n- PCI Options\n- USB Options\n- SATA Options\n- Kernel Options\n- Firmware settings\n- Audio Options\n- GPU Options\n- Intel Running Average Power Limit (RAPL) settings\n\n## Installation\n\n\n### Arch Linux\n\nThere are 6 AUR packages for power-options.\n\n- GTK: `power-options-gtk` (stable) and `power-options-gtk-git` (bleeding edge)\n- Webview: `power-options-webview` (stable) and `power-options-webview-git` (bleeding edge)\n- System Tray: `power-options-tray` (stable) and `power-options-tray-git` (bleeding edge)\n- Just the daemon: `power-options-daemon` (stable) and `power-options-daemon-git` (bleeding edge)\n\n\n### Fedora\n\nThe COPR GTK package is maintained by [@lpuv](https://github.com/lpuv)\n\n```bash\nsudo dnf copr enable leo/power-options \nsudo dnf install power-options\n```\n\n### Other distros / from source\n\n- GTK: \n\nTo build, requires dev libraries `libgtk4-dev` `libadwaita-1-dev` (or the equivalent in\nyour distro)\n```bash\ngit clone https://github.com/TheAlexDev23/power-options/ --depth=1\ncd power-options/scripts\nchmod +x *.sh\n# Run as local user, will require sudo password\n./install-gtk.sh\n# If installing for the first time\n./setup.sh\n# If updating\n./update.sh\n```\n\n- Webview: \n\nTo build, requires dev libraries `libsoup-3.0-dev`, `libwebkit2gtk-4.1-dev` and\n`libxdo-dev` (or the equivalent in your distro)\n```bash\n# dioxus-cli is required\ncargo install dioxus-cli\ngit clone https://github.com/TheAlexDev23/power-options/ --depth=1\ncd power-options/scripts\nchmod +x *.sh\n# Run as local user, will require sudo password\n./install-webview.sh\n# If installing for the first time\n./setup.sh\n# If updating\n./update.sh\n```\n\n- The system tray icon:\n\n```bash\ngit clone https://github.com/TheAlexDev23/power-options/ --depth=1\ncd power-options/scripts\nchmod +x *.sh\n# Run as local user, will require sudo password\n./install-tray.sh\n# If installing for the first time\n./setup.sh\n# If updating\n./update.sh\n```\n\n- Just the daemon:\n\n```bash\ngit clone https://github.com/TheAlexDev23/power-options/ --depth=1\ncd power-options/scripts\nchmod +x *.sh\n# Run as local user, will require sudo password\n./install-daemon.sh\n# If installing for the first time\n./setup.sh\n# If updating\n./update.sh\n```\n\n## Dependencies\n\nFor *build* dependendencies, refer to the installation guide above.\n\nMandatory:\n- lspci\n- lsusb\n- acpi\n\nOptional:\n- iwlwifi compatible network card for network configuration\n- Intel sound card for audio configuration\n- Intel/AMD GPU for GPU configuration\n- xrandr: resolution/refresh rate control\n- brightnessctl: brightness control\n- ifconfig: ethernet blocking\n- xset: screen turn off timeout\n- xautolock: system suspend timeout\n\nWebview frontend:\n- webkit2gtk\n- dioxus-cli\n\nGTK frontend:\n- yad\n- libadwaita\n\n## Updating \n\nIf you've installed using the AUR, your package manager should handle the\nupdates.\n\nIf you've installed using install scripts, simply pull the latest changes and\nre-run the install scripts again and `./update.sh`. **Important, do not run\n`./uninstall.sh`, `./setup.sh` or `power-daemon-mgr setup` if you\nwant to keep your profiles**\n\n## Limitations\n- Network configuration only works on Intel cards and cards that use iwlwifi\n- Resolution and refresh rate control only works on X11 (other options should\n  work though).\n- Audio configuration only works on Intel cards and cards that use `snd_hda_intel`\n  or `snd_ac97_codec`\n- GPU configuration only works on Intel and AMD cards or cards that use `i915`,\n  `amdgpu` or `radeon` drivers/modules.\n- Settings for resolution and refresh rate control are only available on the\n  webview frontend.\n\n## Contributing\n\nOne of the easiest ways to help, is by opening issues when you encounter errors.\nThis lets the developers know what to fix, and allows future users with the same\nissue find a fix for their problem.\n\nLinux is a large ecosystem, there are alternatives for almost everything. And\nwhile power-options was built to be used with the most popular Linux software,\nyou can still help by porting power-options to other alternatives that you use\nby opening PRS. Examples could include, porting power-options away from systemd, \nadding some X exclusive features to wayland, etc. \n\nThe `dev` branch will almost always have some experimental features that still\nremain to be merged into the `main` branch. If your hardware supports those\nfeatures, the developers will be really greatful if you could test them in your\nsystem and inform of potential issues. Using the power-options Discord server is \nrecommended for those use cases.\n\n## Acknowledgements\n- Arch Linux Wiki (https://wiki.archlinux.org)\n- TLP (https://github.com/linrunner/TLP)\n- Open Source Figma Icon set (https://www.figma.com/community/file/1250041133606945841/8-000-free-icons-open-source-icon-set)\n","funding_links":["https://www.paypal.com/paypalme/AlexanderKarpukhin2"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealexdev23%2Fpower-options","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthealexdev23%2Fpower-options","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthealexdev23%2Fpower-options/lists"}