Table of Contents
- Functionality
- How does PowerTools work?
- Why use PowerTools?
- How do I optimise my settings for a game?
- What is CPU/GPU frequency?
- What is PowerPlay?
- Why does PowerTools only let me select some values? Why is X the default?
- How do I reset to default settings?
- What does disabling SMT do?
- Why does disabling SMT speed up some games?
- How does the charge limit work?
- TLA (Three Letter Acronyms)
- Miscellaneous
- Can this damage my Steam Deck?
- Are there communities to discuss PowerTools?
- Can this overclock my Steam Deck?
- Does this work on SteamOS Beta versions?
- Do you collect any information?
- What is an alpha/beta/rc/release version?
- Does this work on <other handheld>?
- This is really great, how can I support you?
- What's an easter egg?
Functionality
How does PowerTools work?
Unicorn and fairy dust were initially the plan, but unfortunately none could be located and ground into suitably fine powder.
Instead, PowerTools interacts with the system in roughly the same way as outlined in here. PowerTools does not save any data by default; it reads and writes to the SteamOS system (mostly the Linux kernel). Since no data is saved, a reboot will reset all PowerTools settings back to default.
Why use PowerTools?
The settings made available through PowerTools allow you to tweak your Steam Deck for the best performance and/or battery life. PowerTools can be great for emulators which use too little performance, or for heavy games that use too much power.
How do I optimise my settings for a game?
A good first step is to turn on the performance overlay to see what resources are being used by the game. Then change the settings until the game is using the resources more effectively. This is mostly trial and error, but here are some tips:
- If only a few CPU threads are being used heavily at one time, try reducing the amount of CPUs available so the remaining threads can run at a higher frequency
- If the CPU is mostly idle but the GPU has high utilization, try reducing your graphics settings
- If you have higher-than-necessary FPS, try reducing TDP and frequencies to a point just before the stuttering starts
- If the CPU and GPU have reasonable utilization but you're experiencing stuttering, try reducing the CPU or GPU frequency to give the other one more power
What is CPU/GPU frequency?
The rate at which the processor does operations. A lower frequency means the processor will do less over the period of time. This is a balancing act between power efficiency (where a lower frequency is better) and performance (where higher frequency is better). That's why frequencies fluctuate depending on the processor load.
What is PowerPlay?
It's that thing in hockey where one team has a member sitting in a box because a millionaire couldn't follow the rules. Sounds funny until you realize that they probably made more money in that 2 minutes than you did all day.
Oh, you mean AMD PowerPlay! It's an AMD marketing term for their GPU (and APU) power management settings. PowerPlay is a Table (hence the initialism PPT) of power limits. Basically TDP.
Why does PowerTools only let me select some values? Why is X the default?
There's a few reasons for this, depending on the values in question, but it all stems from limits imposed by (or to protect) the hardware. Most limits can be justified by the specs of the Steam Deck or the allowed values for a specific kernel API.
How do I reset to default settings?
Restart your Steam Deck. Nothing in PowerTools is persistent, unless you enable persistence (in which case: turn off the toggle, then restart your Deck). Or just press the Default button*, but I'd imagine you would have found that already.
* the Default button does not always work perfectly because some settings cannot be set back to their original value. Blame hardware silliness for that.
What does disabling SMT do?
The SMT toggle in PowerTools doesn't technically disable SMT. Instead it disables every second CPU, since every group of two CPUs is one logical CPU core.
Why does disabling SMT speed up some games?
I don't really know. There is a bug before SteamOS 3.5 which causes cache issues when SMT was enabled, but there have been reports of some games still benefiting from SMT being disabled on SteamOS 3.5+ too. My theory, which is backed by exactly zero research and experiments, is that since SMT increases performance of a single core by less than 100% (usually it's closer to 30-50%), that 150% performance gets split between two threads, effectively reducing each thread's performance to 75% when both threads are under heavy load. It would then follow that disabling one of those threads would restore the remaining thread to 100% performance.
How does the charge limit work?
Badly. It roughly mimics the default behaviour of charging up to 100%, then doing power passthrough until 90%. The upper and lower limits are obviously different, but that 10% window is maintained. The PowerTools has an important limitation over the Steam Deck firmware version, though: it only works while the screen is on.
TLA (Three Letter Acronyms)
AMD
Advanced Micro Devices: the company that makes the processor in the Steam Deck
APU
"Accelerated" Processing Unit: the marketing term used by AMD for a CPU with an integrated GPU
CLK
Shorthand for "clock", which is usually shorthand for "clockspeed": not actually an acronym
CPU
Central Processing Unit: the main processor, the Steam Deck uses one with Zen2 architecture
FPS
Frames Per Second: the rate that images ("frames") are displayed on screen to create motion
GPU
Graphics Processing Unit: the graphics processor, the Steam Deck uses one with RDNA2 architecture
PPT
PowerPlay Table or Performance Power Tuning (depending on who you ask): the power settings for AMD GPUs and CPUs (respectively?)
QAM
Quick Access Menu: the Steam Deck menu that comes up when you press the ...
button
SMT
Simultaneous MultiThreading: The generic term for making one logical core act like more than one core, equivalent to Intel's "hyperthreading".
TDP
Thermal Design Power: technically the max sustained power usage of a computer chip, but is also colloquially used to mean power draw or limit.
USDPL
No, that's five letters
Miscellaneous
Can this damage my Steam Deck?
Generally, user software can't damage hardware unless there are already existing issues. Of course, always use responsibly; don't be surprised by a fresh hole in the wall when swinging a hammer at it.
Or, as a wise man once said: "With great power[tools] comes great responsibility".
Are there communities to discuss PowerTools?
I'd recommend the Steam Homebrew Discord guild or the Steam Deck lemmy community. I occasionally browse both. Please note that I can only fix bugs that are reported here.
Can this overclock my Steam Deck?
No, and please don't overclock your Steam Deck. The Steam Deck is designed to run safely with ~20W of sustained power, so giving it more heat and voltage to deal with is a surefire way to reduce the lifespan of the device. If you design a custom cooler or dock for safe overclocking and want to send one to NGnius, feel free to get in touch.
If you do overclock your Steam Deck and want PowerTools to detect the correct clockspeeds, check out settings customization and the amdgpu fix.
Does this work on SteamOS Beta versions?
Probably. It isn't tested on Beta because NGnius has finite time to work on things, but the differences are usually too minor to cause major issues with PowerTools. Using PowerTools on SteamOS Beta isn't officially supported, which means bugs probably won't get fixed until they make it to stable SteamOS.
Do you collect any information?
Not much. Uploading settings collects your Steam ID and nickname; see the privacy policy. The only analytics are the visits counter on the limits server. No user-identifying information is collected, and you can turn off the online portion of PowerTools to avoid adding to the counter.
What is an alpha/beta/rc/release version?
Alpha versions are very early builds with incomplete features and buggy changes. Beta versions are slightly more polished builds with mostly complete features but still a few bugs. RC (release candidate) versions are builds that are hopefully ready for full release, but haven't gone through the approval process. Release versions are the builds on the official Decky store which are feature-complete and hopefully don't have any major bugs. Release versions don't have any alpha/beta/rc in their version name.
Alpha, beta and rc versions are only on NGnius's custom Decky plugin store since they aren't for the faint of heart.
You can remember it by people who use similar terms. People who call themselves "alpha" are usually the least mentally stable, "beta" is used by slightly more mentally stable people, and normal people don't call themselves any Greek letter. Normal people also don't think that debunked wolf studies are a good way to organize human society, though the alpha and beta humans might do better in wolf society.
Does this work on <other handheld>?
Maybe. If it can run SteamOS 3, it can probably run Decky and PowerTools. Though I'm unable to test on <other handheld> because of this darn inconvenient thing called capitalism.
By the way, if you're the manufacturer of <other handheld> and you want PowerTools to support it, let me know.
This is really great, how can I support you?
I already make enough money, but if you want to help me buy new hardware to test on you can do so by contacting me. Alternately, donate to some FOSS foundation and/or support a project that's mission critical, like the KDE Foundation or core-js.
What's an easter egg?
In a computer program, it's hidden functionality that's difficult to enable and usually quite useless. Like Easter tradition, the hunt is part of the fun. You never know where the egg may be hidden... You might want a flashlight.