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

docs: mention new configuration options; document dynamic turbo mode

This commit is contained in:
NotAShelf 2025-05-17 11:41:42 +03:00
parent 9935ae9fe3
commit 7a708c60d7
No known key found for this signature in database
GPG key ID: 29D95B64378DB4BF

View file

@ -31,6 +31,8 @@ but most common usecases are already implemented.
and turbo boost
- **Intelligent Power Management**: Different profiles for AC and battery
operation
- **Dynamic Turbo Boost Control**: Automatically enables/disables turbo based on
CPU load and temperature
- **Fine-tuned Controls**: Adjust energy performance preferences, biases, and
frequency limits
- **Per-core Control**: Apply settings globally or to specific CPU cores
@ -150,6 +152,10 @@ variable.
governor = "performance"
# Turbo boost setting: "always", "auto", or "never"
turbo = "auto"
# Enable or disable automatic turbo management (when turbo = "auto")
enable_auto_turbo = true
# Custom thresholds for auto turbo management
turbo_auto_settings = { load_threshold_high = 70.0, load_threshold_low = 30.0, temp_threshold_high = 75.0 }
# Energy Performance Preference
epp = "performance"
# Energy Performance Bias (0-15 scale or named value)
@ -166,6 +172,9 @@ max_freq_mhz = 3500
[battery]
governor = "powersave"
turbo = "auto"
# More conservative auto turbo settings on battery
enable_auto_turbo = true
turbo_auto_settings = { load_threshold_high = 80.0, load_threshold_low = 40.0, temp_threshold_high = 70.0 }
epp = "power"
epb = "balance_power"
platform_profile = "low-power"
@ -209,6 +218,27 @@ Those are the more advanced features of Superfreq that some users might be more
inclined to use than others. If you have a use-case that is not covered, please
create an issue.
### Dynamic Turbo Boost Management
When using `turbo = "auto"` with `enable_auto_turbo = true`, Superfreq
dynamically controls CPU turbo boost based on:
- **CPU Load Thresholds**: Enables turbo when load exceeds `load_threshold_high`
(default 70%), disables when below `load_threshold_low` (default 30%)
- **Temperature Protection**: Automatically disables turbo when CPU temperature
exceeds `temp_threshold_high` (default 75°C)
- **Hysteresis Control**: Prevents rapid toggling by maintaining previous state
when load is between thresholds
- **Profile-Specific Settings**: Configure different thresholds for battery vs.
AC power
This feature optimizes performance and power consumption by providing maximum
performance for demanding tasks while conserving energy during light workloads.
> [!TIP]
> You can disable this logic with `enable_auto_turbo = false` to let the system
> handle turbo boost natively when `turbo = "auto"`.
### Adaptive Polling
Superfreq includes a "sophisticated" (euphemism for complicated) adaptive
@ -275,7 +305,8 @@ the codebase as they stand.
### Setup
You will need Cargo and Rust installed on your system. Rust 1.80 or later is required.
You will need Cargo and Rust installed on your system. Rust 1.80 or later is
required.
A `.envrc` is provided, and it's usage is encouraged for Nix users.
Alternatively, you may use Nix for a reproducible developer environment