aarron-lee / SimpleDeckyTDP

Decky TDP plugin for alternative PC handhelds
Other
45 stars 8 forks source link

SDTDP per-game AC power profiles inconsistent with power state #30

Closed Invid72 closed 6 months ago

Invid72 commented 6 months ago

SimpleDeckyTDP plugin version 0.2.7 Device: Legion Go OS: Bazzite, current: Unsure of version number SDTDP Install method: Quick install script Decky Loader version: 2.11.1 Stable channel

Plugged in to power and the "AC" indicator appears at the top of plugin as expected

After 30 seconds the plugin reverts to the unplugged TDP setting (AC marker is gone) and back again after another 30 seconds (AC marker returns). Charging marker in Mangohud was on the entire time. No hub used...connected direct to charger.

GAME set to 15W on battery and 30W on AC. SDTDP alternates between 15W and 30W.

Observed this happening over several minutes and the pattern repeats. The Legion Go remained untouched and plugged in the entire time.

Unplugged functionity works as expected

Remedies attempted: 1) Toggled AC profile support off and on and rebooted 2) Reinstalled plugin 3) Deleted JSON settings file and rebooted

Expected behaviour: SDTDP follows charging state (AC = ON) of Legion Go

Edited to clarify and add more detail. Let me know if I can provide anything else.

aarron-lee commented 6 months ago

So SimpleDeckyTDP uses Steam's built-in AC Power event listener, do you happen to see Steam's Battery indicator switching between charging/battery when you see the bug?

If the Steam Battery indicator is misbehaving, then this is a steam bug. SimpleDeckyTDP simply sets an AC profile as active when Steam says there is connected AC power.

Invid72 commented 6 months ago

No change in the charging indicator the entire time. Not in the Mangohud display nor in the charging indicator top right.

aarron-lee commented 6 months ago

No change in the charging indicator the entire time. Not in the Mangohud display nor in the charging indicator top right.

Hrm, okay then I'll try to replicate + investigate. I've only seen the issue when the Steam Indicator was oddly behaving.

The code logic is in the plugin is extremely simple, it literally just sets the AC profile when Steam says true, turns off the profile when Steam says false.

Which is why I suspect it's a steam bug

Invid72 commented 6 months ago

Cool. Thanks.

And thanks for the work you're doing to support this project. It's awesome.

Invid72 commented 6 months ago

Updated to 0.2.8 and the AC behaviour is still the same. Alternating between AC and battery settings every 30 seconds.

aarron-lee commented 6 months ago

Updated to 0.2.8 and the AC behaviour is still the same. Alternating between AC and battery settings every 30 seconds.

Not a surprise, the 0.2.8 release was a minor release with a bugfix for the ROG Ally. It didn't do anything related to the AC power profiles.

I still haven't been able to replicate the behavior you're seeing, I only see it when the actual Steam battery indicator is also bugging out.

The AC status in the plugin always changes in-sync with the battery indicator, indicating that it's indeed a steam bug.

Invid72 commented 6 months ago

Hmm. Not sure where to go now to resolve this. I don't want to rebase to an older version.

aarron-lee commented 6 months ago

Hmm. Not sure where to go now to resolve this. I don't want to rebase to an older version.

tbh I don't think rebasing would help. This is likely a Steam issue, not an OS issue.

Invid72 commented 6 months ago

As an update. I'm not sure when or how it got fixed as I don't see anything relevant in Valve's client update notes but SDTDP is now working correctly with the AC profiles. Ran a 3D application for 15 minutes with the sidebar opened and it didn't switch once.

Thanks for looking into it.

aarron-lee commented 6 months ago

As an update. I'm not sure when or how it got fixed as I don't see anything relevant in Valve's client update notes but SDTDP is now working correctly with the AC profiles.

Nice! keep me updated, I'll leave the issue open for a bit just in case you see the issue again. Otherwise, I'll close it later.