96 Commits

Author SHA1 Message Date
Ismael Arias
d2dba2fc31 Fixed the --version command when installed from source (#344)
The command only worked when running it inside the git repository.

Now, it works from everywhere, and the version is constructed using
the latest git tag and the SHA of the latest commit, which may help
with further debugging in future issues.
2022-01-08 15:23:58 +01:00
Ákos Várady
fc2d8e3645
Ability to reset scaling frequencies to default (#338)
* Ability to reset scaling frequencies to default

If one of the scaling frequencies option is missing, either because
it's commented out or auto-cpufreq.conf is not being used, the default
frequency limits will be set.
TODO: perform setting only once per battery state change

* Ability to reset scaling frequencies to default 2.

Additional changes to optimize auto-cpufreq speed, by conditionally
performing frequency scaling settings.
2021-12-30 13:29:14 +01:00
Ákos Várady
1aa1983ccf
Add min/max allowed frequencies option (#309) (#324)
* Add min/max allowed frequencies option (#309)

Setting the minimum/maximum allowed CPU frequencies is now possible
via 'scaling_min_freq' and 'scaling_max_freq' options in config
for both modes (charger and battery).
Values should be given in kHZ.

Example:
scaling_min_freq = 1800000
scaling_max_freq = 2000000

I also did autoformatting via 'black', using --line-length 100.
Code is now a bit tidier than before.

* Fixes for min/max allowed frequencies option

* Further modify min/max frequency option

* Fix temporary modification in min/max allowed frequency option

Co-authored-by: Akos Varady <akos.varady@ericsson.com>
2021-12-26 11:01:32 +01:00
bobslept
64e33827b8
Improve charging detection (#332) 2021-12-24 20:21:40 +01:00
tyleraharrison
78ddf145e7
Started the solution to Snap and PopOS not working (#329)
* Started the solution to Snap and PopOS not working

Needs Snap detection on line 102/103

This code does NOT function properly unless that detection added

Added ability for the program to resume if the PopOS fix works

* Implemented changes as suggested by bobslept
2021-12-23 19:22:46 +01:00
Ákos Várady
3121e2f454
Reformatted codebase (#325)
All python scripts are now reformatted with 'black' using line length
of 100.

Co-authored-by: Akos Varady <akos.varady@ericsson.com>
2021-12-22 08:28:08 +01:00
bobslept
6e3f45182b
Implement python virtual environment (#326)
* Implement python virtual environment

  * added venv instead of using system env pip
  * adjusted the unit file to startup the app from the venv
  * created a wrapper script to call the app from the venv
  * extended cleanup for venv and additional scripts
  * refactored the is_running() function to find the process now that it
    is called from a venv

* remove update_service_file since we changed the binary path to the venv location

* fix bug in argument handling; upgrade pip before installing python packages

* fix bug in syntax

* Renamed auto-cpufreq wrapper

* Change permissions to use --stats as user

* Changed init scripts to use wrapper

Co-authored-by: aroundthfur <velimir@foolcontrol.org>
2021-12-21 20:14:02 +01:00
bobslept
dd5d871769
Fix #321, skip hid devices with battery (#322) 2021-12-21 18:25:46 +01:00
tyleraharrison
7236e674f4
Fix for PopOS os_release problem (#311)
* Fix for PopOS os_release problem

Fixes issue #276

* Added Pop!_OS detection

* Removed redundant abort code in Pop!_OS detection

* Added exit case for pressing 'N' or not pressing anything

Also fixed weird whitespace issue with backslash

* Changed to "Operation aborted by user" for 'N'

* Update auto_cpufreq/core.py

Co-authored-by: bobslept <38557801+bobslept@users.noreply.github.com>

Co-authored-by: bobslept <38557801+bobslept@users.noreply.github.com>
2021-12-19 09:20:09 +01:00
bobslept
3994d4a7af
Change the way of checking the charging state (#308) 2021-12-16 08:04:24 +01:00
bobslept
c1b898906a
Add a warning when using TLP (#305)
* Add function to check if binary is present

* Rename gnome_power_stats to gnome_power_status

* Added warning when using TLP
2021-12-11 11:59:41 +01:00
Adnan Hodzic
db68390ec3 Automatically disable GNOME power profiles on install 2021-12-04 21:12:20 +01:00
Adnan Hodzic
fc5ac16fd6 Final auto-cpufreq & power_helper improvements 2021-12-04 18:32:50 +01:00
Adnan Hodzic
0aef161528 Rename gnome_power to power_helper & reference update 2021-12-04 15:40:03 +01:00
Adnan Hodzic
1d4f88d78d Revamp of gnome_detect & disable default enable functionality 2021-12-04 13:25:41 +01:00
Adnan Hodzic
d6bfdfc680 Revamp of bluetooth & gnome power profile control on Snap 2021-12-02 21:34:52 +01:00
Adnan Hodzic
167b761888 Complete power-profiles operations helper for non Snap install 2021-11-28 14:49:14 +01:00
Adnan Hodzic
677646abbd Add mechanism for power-profiles-daemon detection 2021-11-28 14:09:33 +01:00
Adnan Hodzic
1aed0f7477 Add option to un/mask power-profiles-daemon 2021-11-28 07:46:11 +01:00
Adnan Hodzic
ec4556c835 Automatically enable/disable GNOME power savings profiles 2021-11-28 07:46:11 +01:00
Jason Honea
01b7c0fe2e
Correcting charge status in multi-battery setup (#294) 2021-11-28 06:33:40 +01:00
AmitGolden
897664aa3d
Fix instances where charging is not recognized (#281) (#285)
* check if charging in laptop with battery

* using both battery and ac adapter to check if charging
also battery status unknown is now recognized as charging
2021-11-19 08:08:32 +01:00
AmitGolden
f2fb6aafb7
On laptops/notebooks, check if charging via BAT* status (#274) 2021-11-14 09:40:29 +01:00
Animesh Sahu
4fee7b680b
Turning Bluetooth off/on & Void Linux improvements (#269) 2021-11-04 08:32:50 +01:00
aroundthfur
37ae7b199a
daemon running msg was wrong (#262)
* daemon running msg was wrong (it was printing the install message). Fixed to a daemon running specific message.

* move footer after the daemon check func
2021-10-17 17:52:15 +02:00
Yustynn Panicker
fe88eaf02e
Remove redundant conditionals in set_performance (#253) 2021-10-17 16:35:55 +02:00
Federico Poli
18571e597c
Disable turbo when config is "never" (#255) 2021-10-17 16:29:16 +02:00
alexmak23
5d24f0e451
Add temperature readings in thinkpad (#252) 2021-10-10 08:20:33 +02:00
Martin Andersson
6cb2c00786
Add config file for preferred governor and turbo boost behaviour. (#250)
* Add config file for setting preferred governor and turbo boost settings.

* Add an example config file.

* Display notice when using settings from config file when starting

* Add section about configuring to README.md

* Add --config parameter to set path for configuration file to use
2021-10-10 08:11:45 +02:00
frankiexyz
ee88fcde68
- Run black to change the coding style in core.py (#188)
- Fix some PEP8 issue in core.py
- Change the default behaviour of set_performance to OFF

Co-authored-by: Frankie H <f@peering.sh>
2021-03-11 18:29:20 +01:00
Marco Vermeulen
50b1e48115
Only query pacman when on arch and not a snap install. (#173) 2021-02-07 19:26:34 +01:00
Mark Wagie
efd03a1d16
Remove pacman wildcard (#172)
```
❯ pacman -Qs auto-cpufreq
local/auto-cpufreq-git 1.6.0.r0.g0ce8311-1
    Automatic CPU speed & power optimizer
```

With wildcard:
```
auto-cpufreq version:
error: package 'auto-cpufreq*' was not found
```
```
❯ pacman -Qi auto-cpufreq* | grep Version
zsh: no matches found: auto-cpufreq*
```

Without wildcard:
```
auto-cpufreq version:
Version         : 1.6.0.r0.g0ce8311-1
```
```
❯ pacman -Qi auto-cpufreq | grep Version
Version         : 1.6.0.r0.g0ce8311-1
```

It turns out it only works with the wildcard in my `pkgbuilds` directory where `auto-cpufreq-git` lives. Weird.
2021-02-07 19:25:08 +01:00
Shrinivas Kumbhar
aae112d7d9
Use psutil in conjuction with dmidecode to determine ac_state (#168)
* use psutil to determine ac_state
2021-02-06 21:39:56 +01:00
Adnan Hodzic
82b41f4ce2 Improved auto-cpufreq version detection for aur package 2021-02-06 21:29:44 +01:00
Adnan Hodzic
9fcc99d5cd Add note/instruction on how quit live/monitor/stats 2021-02-06 20:35:40 +01:00
Adnan Hodzic
6bffee4535 Output auto-cpufreq version for snap/aur/auto-cpufreq-installer 2021-02-05 07:43:34 +01:00
Adnan Hodzic
d062ca940f Add execution timestamp for to --stats 2021-02-04 20:25:17 +01:00
Adnan Hodzic
8a62c02c08 Turn computer_type into a list 2021-02-04 16:40:19 +01:00
Adnan Hodzic
3985d3ef5a Hot-fix for laptops reporting wrong charing status (Close: #164) 2021-02-04 08:56:22 +01:00
Shrinivas Kumbhar
5d26803204
use dmidecode and dependancies update (#163) 2021-02-03 09:18:03 +01:00
Adnan Hodzic
bb63f7148a Improved missing log message 2021-02-02 22:10:42 +01:00
Marco Vermeulen
02d58f9f20
Improve domain language around logging and stats (#160)
* Ignore Pycharm descriptors from VCS.

* Rename all occurances of `log` to `stats`.

* Rename log file to stats and move to /var/run

* Bring back --log switch with deprecation message.
2021-02-02 21:40:55 +01:00
ThePoorPilot
fc56e2a1cb
Adjust CPU frequency scaling on desktop to run in "performance" governor #162
If it detects the device is a laptop, it should default to the regular method of determining ac_state
If the device returns any other output, it should default to ac_state=true

continued work originally started in #158
2021-02-02 21:21:51 +01:00
Adnan Hodzic
5e38ada748 Fix "Unable to remove via --remove option for Snap package" (Close #161) 2021-02-02 20:56:56 +01:00
Technical27
f3f652d69e
Improve logging (#148)
Now auto-cpufreq will write directly to the log file or stdout.
The file will automatically be cleared when on each refresh and on
startup.
2021-01-24 13:14:11 +01:00
Mark Wagie
a91d4ba36e
Improved Python file structure (rename source > auto_cpufreq) #153 2021-01-21 07:55:23 +01:00