Skip to content

Commit

Permalink
fixed merge conflict
Browse files Browse the repository at this point in the history
  • Loading branch information
PurpleWazard committed Aug 4, 2024
2 parents 27f0690 + d4ec215 commit 80bb137
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 2 deletions.
2 changes: 2 additions & 0 deletions 
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* codedocs
master
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ Example of `auto-cpufreq --stats` CLI output
- [Battery charging thresholds](#battery-charging-thresholds)
- [Supported Devices](#supported-devices)
- [Battery config](#battery-config)
- [Ignoring power supplies](#Ignoring-power-supplies)
- [Troubleshooting](#troubleshooting)
- [AUR](#aur)
- [Discussion](#discussion)
Expand Down Expand Up @@ -525,6 +526,26 @@ this works only with `lenovo_laptop` kernel module compatable laptops.

add `ideapad_laptop_conservation_mode = true` to your `auto-cpufreq.conf` file

### Ignoring power supplies

you may have a controler or headphones and when ever they may be on battery they might cause auto-cpufreq
to limit preformence to ignore them add to you config file the name of the power supply, under `[power_supply_ignore_list]`

the name of the power supply can be found with `ls /sys/class/power_supply/`

```
[power_supply_ignore_list]
name1 = this
name2 = is
name3 = an
name4 = example
# like this
xboxctrl = {the xbox controler power supply name}
```

## Troubleshooting

**Q:** If after installing auto-cpufreq you're (still) experiencing:
Expand Down
11 changes: 11 additions & 0 deletions auto-cpufreq.conf-example
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,17 @@ energy_performance_preference = performance
# turbo boost setting. possible values: always, auto, never
turbo = auto


# this is for ignoring controlers and other connected devices battery from effecting
# laptop preformence
# [power_supply_ignore_list]

# name1 = this
# name2 = is
# name3 = an
# name4 = example


# settings for when using battery power
[battery]
# see available governors by running: cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Expand Down
21 changes: 19 additions & 2 deletions auto_cpufreq/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@
SCRIPTS_DIR = Path("/usr/local/share/auto-cpufreq/scripts/")
CPUS = os.cpu_count()

# ignore these devices under /sys/class/power_supply/
POWER_SUPPLY_IGNORELIST = ["hidpp_battery"]


# Note:
# "load1m" & "cpuload" can't be global vars and to in order to show correct data must be
Expand Down Expand Up @@ -220,12 +219,30 @@ def set_turbo(value:bool):
print("Setting turbo boost:", "on" if value else "off")
turbo(value)


# ignore these devices under /sys/class/power_supply/
def get_power_supply_ignore_list():

conf = config.get_config()

list = []

if conf.has_section("power_supply_ignore_list"):
for i in conf["power_supply_ignore_list"]:
list.append(conf["power_supply_ignore_list"][i])

# these are hard coded power supplies that will always be ignored
list.append("hidpp_battery")
return list


def charging():
"""
get charge state: is battery charging or discharging
"""
# sort it so AC is 'always' first
power_supplies = sorted(os.listdir(Path(POWER_SUPPLY_DIR)))
POWER_SUPPLY_IGNORELIST = get_power_supply_ignore_list()

# check if we found power supplies. on a desktop these are not found and we assume we are on a powercable.
if len(power_supplies) == 0: return True # nothing found, so nothing to check
Expand Down

0 comments on commit 80bb137

Please sign in to comment.