1
Fork 0
mirror of https://github.com/RGBCube/superfreq synced 2025-07-27 17:07:44 +00:00

address review comments

This commit is contained in:
RGBCube 2025-06-14 22:35:00 +03:00
parent 496f5a7f35
commit 6ea92c1624
Signed by: RGBCube
SSH key fingerprint: SHA256:CzqbPcfwt+GxFYNnFVCqoN5Itn4YFrshg1TrnACpA5M
3 changed files with 39 additions and 27 deletions

View file

@ -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]]

View file

@ -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;
} }
} }