Update 'Customization'
parent
a9fa89bc6d
commit
e89eb1d79e
1 changed files with 76 additions and 76 deletions
152
Customization.md
152
Customization.md
|
@ -1,77 +1,77 @@
|
||||||
As of v1.1.0, PowerTools supports customizing values for most functionality. This can be useful for advanced uses like overclocking or untested hardware. Please remember that the [terms of the license](https://github.com/NGnius/PowerTools/blob/main/LICENSE) place all responsibility on the user to use these features responsibly.
|
As of v1.1.0, PowerTools supports customizing values for most functionality. This can be useful for advanced uses like overclocking or untested hardware. Please remember that the [terms of the license](https://github.com/NGnius/PowerTools/blob/main/LICENSE) place all responsibility on the user to use these features responsibly.
|
||||||
|
|
||||||
NOTE: Advanced features are meant to be used by advanced users. Advanced users are expected to be able to figure this out without NGnius.
|
NOTE: Advanced features are meant to be used by advanced users. Advanced users are expected to be able to figure this out without NGnius.
|
||||||
|
|
||||||
# Steam Deck
|
# Steam Deck
|
||||||
|
|
||||||
The Steam Deck driver has an optional advanced mode which is activated when a valid `pt_oc.json` JSON file is present in the `~/.config/powertools` folder. No values are optional. Any file error will be logged to `/tmp/powertools.log` (release builds) and the default config will be used instead. This file roughly reflects the design of PowerTools internal Steam Deck drivers.
|
The Steam Deck driver has an optional advanced mode which is activated when a valid `pt_oc.json` JSON file is present in the `~/.config/powertools` folder. No values are optional. Any file error will be logged to `/tmp/powertools.log` (release builds) and the default config will be used instead. This file roughly reflects the design of PowerTools internal Steam Deck drivers, so it may change with any update ([major, minor, and even patch](https://semver.org/) updates).
|
||||||
|
|
||||||
The structure and default values are defined in [oc_limits.rs](https://github.com/NGnius/PowerTools/blob/main/backend/src/settings/steam_deck/oc_limits.rs). If you do not understand the [JSON sample](https://github.com/NGnius/PowerTools/blob/main/pt_oc.json) as well as the [Rust declaration](https://github.com/NGnius/PowerTools/blob/main/backend/src/settings/steam_deck/oc_limits.rs) you should not use this feature.
|
The structure and default values are defined in [oc_limits.rs](https://github.com/NGnius/PowerTools/blob/main/backend/src/settings/steam_deck/oc_limits.rs). If you do not understand the [JSON sample](https://github.com/NGnius/PowerTools/blob/main/pt_oc.json) as well as the [Rust declaration](https://github.com/NGnius/PowerTools/blob/main/backend/src/settings/steam_deck/oc_limits.rs) you should not use this feature.
|
||||||
|
|
||||||
NOTE: since some kernel interfaces only accept the default Steam Deck ranges, changing certain ranges is only a placebo in the UI. The log is your friend to find out when this is happening.
|
NOTE: since some kernel interfaces only accept the default Steam Deck ranges, changing certain ranges is only a placebo in the UI. The log is your friend to find out when this is happening.
|
||||||
|
|
||||||
## battery
|
## battery
|
||||||
|
|
||||||
The top-level `battery` object contains the custom configuration for the battery part of the Steam Deck driver. Presently, this only contains 1 field.
|
The top-level `battery` object contains the custom configuration for the battery part of the Steam Deck driver. Presently, this only contains 1 field.
|
||||||
|
|
||||||
### charge_rate
|
### charge_rate
|
||||||
|
|
||||||
Bounds for the battery inrush current, in milliamps. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
Bounds for the battery inrush current, in milliamps. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
||||||
|
|
||||||
## cpus
|
## cpus
|
||||||
|
|
||||||
### cpus
|
### cpus
|
||||||
|
|
||||||
A list of CPU objects corresponding to each hardware CPU thread in the same order as the Linux kernel. Extra CPUs in this list will be ignored, missing CPUs in this list will not be possible to change through PowerTools.
|
A list of CPU objects corresponding to each hardware CPU thread in the same order as the Linux kernel. Extra CPUs in this list will be ignored, missing CPUs in this list will not be possible to change through PowerTools.
|
||||||
|
|
||||||
#### clock_min
|
#### clock_min
|
||||||
|
|
||||||
Bounds for the CPU minimum frequency, in MHz. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
Bounds for the CPU minimum frequency, in MHz. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
||||||
|
|
||||||
#### clock_max
|
#### clock_max
|
||||||
|
|
||||||
Bounds for the CPU maximum frequency, in MHz. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
Bounds for the CPU maximum frequency, in MHz. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
||||||
|
|
||||||
#### clock_step
|
#### clock_step
|
||||||
|
|
||||||
CPU frequency slider quanta. This is a `u64`.
|
CPU frequency slider quanta. This is a `u64`.
|
||||||
|
|
||||||
### global_governors
|
### global_governors
|
||||||
|
|
||||||
A boolean (`true` or `false`) to enable or disable the UI element which sets the governors of all CPUs at once.
|
A boolean (`true` or `false`) to enable or disable the UI element which sets the governors of all CPUs at once.
|
||||||
|
|
||||||
## gpu
|
## gpu
|
||||||
|
|
||||||
### fast_ppt
|
### fast_ppt
|
||||||
|
|
||||||
Bounds for the GPU fast PPT value, in W/`ppt_divisor`. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
Bounds for the GPU fast PPT value, in W/`ppt_divisor`. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
||||||
|
|
||||||
### slow_ppt
|
### slow_ppt
|
||||||
|
|
||||||
Bounds for the GPU slow PPT value, in W/`ppt_divisor`. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
Bounds for the GPU slow PPT value, in W/`ppt_divisor`. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
||||||
|
|
||||||
### ppt_divisor
|
### ppt_divisor
|
||||||
|
|
||||||
Divisor for the PPT values. This is a `u64`.
|
Divisor for the PPT values. This is a `u64`.
|
||||||
|
|
||||||
### ppt_step
|
### ppt_step
|
||||||
|
|
||||||
GPU PPT slider quanta. This is a `u64`.
|
GPU PPT slider quanta. This is a `u64`.
|
||||||
|
|
||||||
### clock_min
|
### clock_min
|
||||||
|
|
||||||
Bounds for the GPU minimum frequency, in MHz. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
Bounds for the GPU minimum frequency, in MHz. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
||||||
|
|
||||||
### clock_max
|
### clock_max
|
||||||
|
|
||||||
Bounds for the GPU maximum frequency, in MHz. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
Bounds for the GPU maximum frequency, in MHz. The limits are expressed in the format `{"min": u64, "max": u64}`.
|
||||||
|
|
||||||
### clock_step
|
### clock_step
|
||||||
|
|
||||||
GPU frequency slider quanta. This is a `u64`.
|
GPU frequency slider quanta. This is a `u64`.
|
||||||
|
|
||||||
# Other AMD APUs
|
# Other AMD APUs
|
||||||
|
|
||||||
The generic driver is part of a more sophisticated system to automatically detect which driver and which config need to be loaded for the system that PowerTools is running on. This information is cached in `limits_cache.json` in the `~/.config/powertools` folder. Loading behaviour is similar to `pt_oc.json` except `limits_cache.json` will also be updated by PowerTools daily by downloading the latest version from the URL in the file.
|
The generic driver is part of a more sophisticated system to automatically detect which driver and which config need to be loaded for the system that PowerTools is running on. This information is cached in `limits_cache.json` in the `~/.config/powertools` folder. Loading behaviour is similar to `pt_oc.json` except `limits_cache.json` will also be updated by PowerTools daily by downloading the latest version from the URL in the file.
|
||||||
|
|
||||||
The structure and default values are defined in the [limits_core crate](https://github.com/NGnius/PowerTools/tree/main/backend/limits_core/src/json). The automatic detection and configuration of the generic AMD drivers are handled by [auto_detect.rs](https://github.com/NGnius/PowerTools/blob/main/backend/src/settings/detect/auto_detect.rs). That should be used as the ultimate source of truth, since this documentation cannot communicate that functionality as exhaustively or effectively.
|
The structure and default values are defined in the [limits_core crate](https://github.com/NGnius/PowerTools/tree/main/backend/limits_core/src/json). The automatic detection and configuration of the generic AMD drivers are handled by [auto_detect.rs](https://github.com/NGnius/PowerTools/blob/main/backend/src/settings/detect/auto_detect.rs). That should be used as the ultimate source of truth, since this documentation cannot communicate that functionality as exhaustively or effectively.
|
Loading…
Reference in a new issue