You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`turbo = "always"`|**Always enabled**<br>Turbo is always active regardless of CPU load or temperature |**Always enabled**<br>Turbo is always active regardless of CPU load or temperature |
262
+
|`turbo = "never"`|**Always disabled**<br>Turbo is always disabled regardless of CPU load or temperature |**Always disabled**<br>Turbo is always disabled regardless of CPU load or temperature |
263
+
|`turbo = "auto"`|**Dynamically managed**<br>Superfreq enables/disables turbo based on CPU load and temperature thresholds |**System default**<br>Turbo is reset to system's default enabled state and is managed by the hardware/kernel |
264
+
265
+
> [!NOTE]
266
+
> When `turbo = "auto"` and `enable_auto_turbo = false`, Superfreq ensures that
267
+
> any previous turbo state restrictions are removed, allowing the
268
+
> hardware/kernel to manage turbo behavior according to its default algorithms.
269
+
212
270
### Adaptive Polling
213
271
214
272
Superfreq includes a "sophisticated" (euphemism for complicated) adaptive
@@ -268,14 +326,16 @@ While reporting issues, please attach the results from `superfreq debug`.
268
326
Contributions to Superfreq are always welcome! Whether it's bug reports, feature
269
327
requests, or code contributions, please feel free to contribute.
270
328
271
-
If you are looking to reimplement features from auto_cpufreq, please consider
272
-
opening an issue first and let us know what you have in mind. Certain features
273
-
(such as the system tray) are deliberately ignored, and might not be desired in
274
-
the codebase as they stand.
329
+
> [!NOTE]
330
+
> If you are looking to reimplement features from auto-cpufreq, please consider
331
+
> opening an issue first and let us know what you have in mind. Certain features
332
+
> (such as the system tray) are deliberately ignored, and might not be desired
333
+
> in the codebase as they stand. Please discuss those features with us first :)
275
334
276
335
### Setup
277
336
278
-
You will need Cargo and Rust installed on your system. Rust 1.80 or later is required.
337
+
You will need Cargo and Rust installed on your system. Rust 1.85 or later is
338
+
required.
279
339
280
340
A `.envrc` is provided, and it's usage is encouraged for Nix users.
281
341
Alternatively, you may use Nix for a reproducible developer environment
@@ -285,9 +345,9 @@ nix develop
285
345
```
286
346
287
347
Non-Nix users may get the appropriate Cargo and Rust versions from their package
288
-
manager.
348
+
manager, or using something like Rustup.
289
349
290
-
### Formatting
350
+
### Formatting & Lints
291
351
292
352
Please make sure to run _at least_`cargo fmt` inside the repository to make
293
353
sure all of your code is properly formatted. For Nix code, please use Alejandra.
TurboSetting::Always => "0",// no_turbo = 0 means turbo is enabled
218
219
TurboSetting::Never => "1",// no_turbo = 1 means turbo is disabled
219
-
TurboSetting::Auto => returnErr(ControlError::InvalidValueError("Turbo Auto cannot be directly set via intel_pstate/no_turbo or cpufreq/boost. System default.".to_string())),
220
+
// Auto mode is handled at the engine level, not directly at the sysfs level
221
+
TurboSetting::Auto => {
222
+
debug!("Turbo Auto mode is managed by engine logic based on system conditions");
223
+
returnOk(());
224
+
}
220
225
};
221
226
let value_boost = match setting {
222
227
TurboSetting::Always => "1",// boost = 1 means turbo is enabled
223
228
TurboSetting::Never => "0",// boost = 0 means turbo is disabled
224
-
TurboSetting::Auto => returnErr(ControlError::InvalidValueError("Turbo Auto cannot be directly set via intel_pstate/no_turbo or cpufreq/boost. System default.".to_string())),
229
+
TurboSetting::Auto => {
230
+
debug!("Turbo Auto mode is managed by engine logic based on system conditions");
0 commit comments