FAQ - NGnius/PowerTools GitHub Wiki

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?

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.

Why is X the default?

I don't know, ask Valve. Most of the defaults are pretty logical, so none of them should be too objectionable.

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. 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

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: the power settings for AMD GPUs

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".

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.

Does this work on SteamOS Beta versions?

Probably. It isn't tested on Beta because NGnius only has one Steam Deck, 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 analytics?

Not really. The only analytics are what GitHub collects (I wish I could turn those off but I can't, sorry) and 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, send the device to NGnius. Or, if not but you've got way more money than sense, buy an extra device to send to a random stranger on the internet NGnius. In case you're seriously considering this half joke, my contact info is also on this wiki.

Why am I stuck in an unhappy marriage?

Because your failure to communicate and/or get a divorce have left you trapped in a prison of your own creation.

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 on Liberapay. 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...