Commit Graph

128 Commits

Author SHA1 Message Date
Tobias 98569ad71a
SunkenHero Code optimization & addition of battery percentage (#432)
* Added fan speed display

* optimizations in temperatures

* Simplified charging function and added percentage display

* change print battery status

* Fixed charging not returning boolean

* battery_percentage returns now rounded value insead of 10 decimals

* changed charging function back

* changed charging back and some display changes

* little fix at display battery percentage

* battery percentage not showing %
2022-09-10 14:02:17 +02:00
hingen 620433d78d
Replaced obsolete "egrep" calls with "grep -E" (#435) 2022-09-10 08:37:19 +02:00
SunkenHero 1a35c3ca01
Added fan speed display (#431) 2022-09-08 07:46:34 +02:00
Martin Andersson 7573df7bb2
Omit the --all flag from calling nproc to get actual number of cores instead of threads. (#423) 2022-08-22 16:42:09 +02:00
Martin Andersson dad1c819fd
Don't overwrite /usr/bin/cpufreqctl.auto-cpufreq excessively. (#420)
Looks like the behavior of constantly overwriting it was not intended,
but introduced inadvertently in a91d4ba36e
2022-08-15 12:32:54 +02:00
Martin Andersson f67e909b59
Catch exception in call to psutil .cmdline() (#413)
There's a race condition where processes might disappear while filtering. The uncaught exception causes a crash.
2022-08-10 14:23:58 +02:00
Adnan Hodzic 7b81b4aa30 Merge branch '1.9.5' 2022-08-09 20:26:19 +02:00
Adnan Hodzic 559350f3ef Add --install_performance option to help menu 2022-08-02 09:27:57 +02:00
Ishaan Bhimwal 29d5d87ded
fix multiple typos as reported by typos (#410) 2022-07-31 08:14:27 +02:00
tacheometry 812e97d8d9
Fix daemon typo (#409) 2022-07-28 09:35:52 +02:00
Adnan Hodzic d9295f4cf2 Revamped how log file is emptied 2022-06-05 20:10:33 +02:00
Adnan Hodzic c8f9095067 Real time auto-cpufreq refresh 2022-06-05 17:44:33 +02:00
Jeroenvb fbd4863213
Fixed where average all core temp is displayed with too many decimals. (#392)
* Fixed where average all core temp is displayed with too many decimals.

* Made both total system load, and avg temp 2 decimals in cleaner .format form.
2022-05-23 05:37:49 +02:00
Adnan Hodzic 58167e8cd8 1.9.3 release 2022-03-10 07:04:42 +01:00
Adnan Hodzic a84b7a2900 Improve detection if Snap is installed 2022-03-10 07:04:42 +01:00
Adnan Hodzic f65dba3625 Improved power_helper snap package detection 2022-02-20 07:59:59 +01:00
Adnan Hodzic a15e594fba Add check for performance governor in available governors 2022-02-19 15:22:43 +01:00
Adnan Hodzic 8ff85e9371 Revamped performance mode install on non Snap env 2022-02-19 14:49:34 +01:00
Adnan Hodzic ad7f350c89 Update README with Configuring auto-cpufreq section 2022-02-07 21:31:14 +01:00
Adnan Hodzic c892ac0cf0 Refactorng in case power profile daemon already disabled 2022-02-07 20:30:35 +01:00
Adnan Hodzic f909f11361 Add default gnome_power_svc_disable func 2022-02-07 18:40:14 +01:00
Adnan Hodzic 9875178435 Improvements regarding GNOME power profiles 2022-02-06 22:46:22 +01:00
Adnan Hodzic 0558c7cf37 Extend gnome_power_profiles to use profiles 2022-02-06 16:54:56 +01:00
Adnan Hodzic 8fb5469ace v1.9.1 release & Github issue template update 2022-01-09 14:03:35 +01:00
Ismael Arias 5e503f89c2
Fixed the --version command when installed from source (#347)
* 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.

* Improving version output.

Renaming version_config to setuptools_git_versioning to be compliant with new plugin version.

Formatted the version when a git hash is present for a better readability.

The version is set in the setup.py file. This will be used for the tar.gz releases.
Snap version is also retrieved from setup.py too, so we avoid code repetition.
2022-01-09 13:49:41 +01:00
Adnan Hodzic 3a4beb34c5 Revert "Fixed the --version command when installed from source (#344)"
This reverts commit d2dba2fc31.
2022-01-08 18:58:12 +01:00
Adnan Hodzic 000ccf04fb Remove workaround to get distro package version 2022-01-08 15:55:56 +01:00
Adnan Hodzic 5b1f2a227f Snap v1.9.1 and minor snap output improvement 2022-01-08 15:43:43 +01:00
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
bobslept 1673583304
Stop power-profiles-daemon in live mode (#350)
* Stop power-profiles-daemon on live mode

* switch to gnome_power_detect_install
2022-01-08 13:05:50 +01:00
bobslept 73d3c26882
Set Balanced mode on power-profiles-daemon (#349) 2022-01-07 21:26:39 +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 ef8b61c6c8 Improve GNOME power profiles detection for non systemd inits 2021-12-07 08:28:58 +01:00
Adnan Hodzic 4c5681b2d8 Improve defensive detection in case of other init systems 2021-12-05 10:51:04 +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