mirror of
https://github.com/RGBCube/superfreq
synced 2025-07-27 17:07:44 +00:00
address review comments
This commit is contained in:
parent
496f5a7f35
commit
6ea92c1624
3 changed files with 39 additions and 27 deletions
51
config.toml
51
config.toml
|
@ -5,28 +5,27 @@
|
||||||
|
|
||||||
# Emergency thermal protection (highest priority).
|
# Emergency thermal protection (highest priority).
|
||||||
[[rule]]
|
[[rule]]
|
||||||
|
if = { value = "$cpu-temperature", is-more-than = 85.0 }
|
||||||
|
priority = 100
|
||||||
|
|
||||||
cpu.energy-performance-preference = "power"
|
cpu.energy-performance-preference = "power"
|
||||||
cpu.frequency-mhz-maximum = 2000
|
cpu.frequency-mhz-maximum = 2000
|
||||||
cpu.governor = "powersave"
|
cpu.governor = "powersave"
|
||||||
cpu.turbo = false
|
cpu.turbo = false
|
||||||
if = { value = "$cpu-temperature", is-more-than = 85.0 }
|
|
||||||
priority = 100
|
|
||||||
|
|
||||||
# Critical battery preservation.
|
# Critical battery preservation.
|
||||||
[[rule]]
|
[[rule]]
|
||||||
|
if.all = [ "?discharging", { value = "%power-supply-charge", is-less-than = 0.3 } ]
|
||||||
|
priority = 90
|
||||||
|
|
||||||
cpu.energy-performance-preference = "power"
|
cpu.energy-performance-preference = "power"
|
||||||
cpu.frequency-mhz-maximum = 800 # More aggressive below critical threshold.
|
cpu.frequency-mhz-maximum = 800 # More aggressive below critical threshold.
|
||||||
cpu.governor = "powersave"
|
cpu.governor = "powersave"
|
||||||
cpu.turbo = false
|
cpu.turbo = false
|
||||||
if.all = [ "?discharging", { value = "%power-supply-charge", is-less-than = 0.3 } ]
|
|
||||||
power.platform-profile = "low-power"
|
power.platform-profile = "low-power"
|
||||||
priority = 90
|
|
||||||
|
|
||||||
# High performance mode for sustained high load.
|
# High performance mode for sustained high load.
|
||||||
[[rule]]
|
[[rule]]
|
||||||
cpu.energy-performance-preference = "performance"
|
|
||||||
cpu.governor = "performance"
|
|
||||||
cpu.turbo = true
|
|
||||||
if.all = [
|
if.all = [
|
||||||
{ value = "%cpu-usage", is-more-than = 0.8 },
|
{ value = "%cpu-usage", is-more-than = 0.8 },
|
||||||
{ value = "$cpu-idle-seconds", is-less-than = 30.0 },
|
{ value = "$cpu-idle-seconds", is-less-than = 30.0 },
|
||||||
|
@ -34,12 +33,12 @@ if.all = [
|
||||||
]
|
]
|
||||||
priority = 80
|
priority = 80
|
||||||
|
|
||||||
# Performance mode when not discharging.
|
|
||||||
[[rule]]
|
|
||||||
cpu.energy-performance-bias = "balance_performance"
|
|
||||||
cpu.energy-performance-preference = "performance"
|
cpu.energy-performance-preference = "performance"
|
||||||
cpu.governor = "performance"
|
cpu.governor = "performance"
|
||||||
cpu.turbo = true
|
cpu.turbo = true
|
||||||
|
|
||||||
|
# Performance mode when not discharging.
|
||||||
|
[[rule]]
|
||||||
if.all = [
|
if.all = [
|
||||||
{ not = "?discharging" },
|
{ not = "?discharging" },
|
||||||
{ value = "%cpu-usage", is-more-than = 0.1 },
|
{ value = "%cpu-usage", is-more-than = 0.1 },
|
||||||
|
@ -47,56 +46,66 @@ if.all = [
|
||||||
]
|
]
|
||||||
priority = 70
|
priority = 70
|
||||||
|
|
||||||
|
cpu.energy-performance-bias = "balance_performance"
|
||||||
|
cpu.energy-performance-preference = "performance"
|
||||||
|
cpu.governor = "performance"
|
||||||
|
cpu.turbo = true
|
||||||
|
|
||||||
# Moderate performance for medium load.
|
# Moderate performance for medium load.
|
||||||
[[rule]]
|
[[rule]]
|
||||||
cpu.energy-performance-preference = "balance_performance"
|
|
||||||
cpu.governor = "schedutil"
|
|
||||||
if.all = [
|
if.all = [
|
||||||
{ value = "%cpu-usage", is-more-than = 0.4 },
|
{ value = "%cpu-usage", is-more-than = 0.4 },
|
||||||
{ value = "%cpu-usage", is-less-than = 0.8 },
|
{ value = "%cpu-usage", is-less-than = 0.8 },
|
||||||
]
|
]
|
||||||
priority = 60
|
priority = 60
|
||||||
|
|
||||||
|
cpu.energy-performance-preference = "balance_performance"
|
||||||
|
cpu.governor = "schedutil"
|
||||||
|
|
||||||
# Power saving during low activity.
|
# Power saving during low activity.
|
||||||
[[rule]]
|
[[rule]]
|
||||||
cpu.energy-performance-preference = "power"
|
|
||||||
cpu.governor = "powersave"
|
|
||||||
cpu.turbo = false
|
|
||||||
if.all = [
|
if.all = [
|
||||||
{ value = "%cpu-usage", is-less-than = 0.2 },
|
{ value = "%cpu-usage", is-less-than = 0.2 },
|
||||||
{ value = "$cpu-idle-seconds", is-more-than = 60.0 },
|
{ value = "$cpu-idle-seconds", is-more-than = 60.0 },
|
||||||
]
|
]
|
||||||
priority = 50
|
priority = 50
|
||||||
|
|
||||||
|
cpu.energy-performance-preference = "power"
|
||||||
|
cpu.governor = "powersave"
|
||||||
|
cpu.turbo = false
|
||||||
|
|
||||||
# Extended idle power optimization.
|
# Extended idle power optimization.
|
||||||
[[rule]]
|
[[rule]]
|
||||||
|
if = { value = "$cpu-idle-seconds", is-more-than = 300.0 }
|
||||||
|
priority = 40
|
||||||
|
|
||||||
cpu.energy-performance-preference = "power"
|
cpu.energy-performance-preference = "power"
|
||||||
cpu.frequency-mhz-maximum = 1600
|
cpu.frequency-mhz-maximum = 1600
|
||||||
cpu.governor = "powersave"
|
cpu.governor = "powersave"
|
||||||
cpu.turbo = false
|
cpu.turbo = false
|
||||||
if = { value = "$cpu-idle-seconds", is-more-than = 300.0 }
|
|
||||||
priority = 40
|
|
||||||
|
|
||||||
# Battery conservation when discharging.
|
# Battery conservation when discharging.
|
||||||
[[rule]]
|
[[rule]]
|
||||||
|
if.all = [ "?discharging", { value = "%power-supply-charge", is-less-than = 0.5 } ]
|
||||||
|
priority = 30
|
||||||
|
|
||||||
cpu.energy-performance-preference = "power"
|
cpu.energy-performance-preference = "power"
|
||||||
cpu.frequency-mhz-maximum = 2000
|
cpu.frequency-mhz-maximum = 2000
|
||||||
cpu.governor = "powersave"
|
cpu.governor = "powersave"
|
||||||
cpu.turbo = false
|
cpu.turbo = false
|
||||||
if.all = [ "?discharging", { value = "%power-supply-charge", is-less-than = 0.5 } ]
|
|
||||||
power.platform-profile = "low-power"
|
power.platform-profile = "low-power"
|
||||||
priority = 30
|
|
||||||
|
|
||||||
# General battery mode.
|
# General battery mode.
|
||||||
[[rule]]
|
[[rule]]
|
||||||
|
if = "?discharging"
|
||||||
|
priority = 20
|
||||||
|
|
||||||
cpu.energy-performance-bias = "balance_power"
|
cpu.energy-performance-bias = "balance_power"
|
||||||
cpu.energy-performance-preference = "power"
|
cpu.energy-performance-preference = "power"
|
||||||
cpu.frequency-mhz-maximum = 1800
|
cpu.frequency-mhz-maximum = 1800
|
||||||
cpu.frequency-mhz-minimum = 200
|
cpu.frequency-mhz-minimum = 200
|
||||||
cpu.governor = "powersave"
|
cpu.governor = "powersave"
|
||||||
cpu.turbo = false
|
cpu.turbo = false
|
||||||
if = "?discharging"
|
|
||||||
priority = 20
|
|
||||||
|
|
||||||
# Balanced performance for general use. Default fallback rule.
|
# Balanced performance for general use. Default fallback rule.
|
||||||
[[rule]]
|
[[rule]]
|
||||||
|
|
|
@ -227,10 +227,13 @@ impl PowerSupply {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Check for model name that indicates a peripheral
|
// Check for model name that indicates a peripheral
|
||||||
if let Some(model) = fs::read(self.path.join("model_name"))
|
if let Some(model_name) = fs::read(self.path.join("model_name"))
|
||||||
.with_context(|| format!("failed to read the model name of {self}"))?
|
.with_context(|| format!("failed to read the model name of {self}"))?
|
||||||
{
|
{
|
||||||
if model.contains("bluetooth") || model.contains("wireless") {
|
let model_name_lower = model_name.to_lowercase();
|
||||||
|
if model_name_lower.contains("bluetooth")
|
||||||
|
|| model_name_lower.contains("wireless")
|
||||||
|
{
|
||||||
break 'is_from_peripheral true;
|
break 'is_from_peripheral true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue