NGnius / PowerTools

Moved to
https://git.ngni.us/NG-SD-Plugins/PowerTools
GNU General Public License v3.0
413 stars 29 forks source link

Setting custom CPU frequencies via pt_oc.json results in PowerTools reverting to default profile #80

Closed torporsche closed 1 year ago

torporsche commented 1 year ago

Please confirm

Expected Behaviour

I have enabled manual max CPU limits using Smokeless UMAF and increased the max CPU speed to 3800 MHz. When raising CPU clock bounds in PowerTools, the Deck should boost to near this level. In my case, I have the Max set to 3800 MHz via pt_oc.json.

Actual Behaviour

When using the pt_oc.json configuration and setting the upper bound in PowerTools to beyond 3500 MHz, the Deck's CPU does not boost beyond 3500 MHz (it will boost beyond for a few seconds initially but settles back to a max of 3500 MHz).

Steps To Reproduce

  1. Create and use pt_oc.json with a max CPU frequency above 3500 MHz
  2. Enable performance overlay to observe frequencies
  3. Enable CPU Frequency limits in PowerTools
  4. Set the max CPU frequency above 3500 MHz
  5. Play a CPU intensive game

Anything else?

I do not know if you must enable manual CPU limits via Smokeless UMAF in order for overclocking to work via PowerTools.

If I do not use the pt_oc.json file, the Deck will boost to the CPU frequency specified in the bios set via Smokeless UMAF. However if the Deck goes into sleep mode, it will only boost to the default max of 3500 MHz upon resuming.

So I do know the Deck's CPU is capable of being overclocked but doing it via pt_oc.json is causing an error.

powertools.log

Version

Not listed

Platform

Steam Deck

OS

SteamOS 3 (Stable)

NGnius commented 1 year ago

This is expected behaviour: the kernel only accepts values reported by the CPU, and since nobody has changed what values the kernel reads (either through the kernel or through the bios) it's only accepting the stock settings.

Hence the note:

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.