Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not an issue, Question about the Lenovo Custom TDP Toggle #25

Open
WetBrix opened this issue Feb 10, 2024 · 6 comments
Open

Not an issue, Question about the Lenovo Custom TDP Toggle #25

WetBrix opened this issue Feb 10, 2024 · 6 comments

Comments

@WetBrix
Copy link

WetBrix commented Feb 10, 2024

Curious about the function of the LeGo custom TDP toggle. What’s the benefit of having it on vs off? With it enabled, does adjusting the TDP within the plugin mimic the custom TDP adjustment in LegionSpace QAM (with the firmware level fan adjustment)? (Sorry fairly new to Linux, using the Bazzite distro)

@aarron-lee
Copy link
Owner

aarron-lee commented Feb 10, 2024

With it enabled, does adjusting the TDP within the plugin mimic the custom TDP adjustment in LegionSpace QAM?

Not quite. So the Lenovo bios actually exposes a way to set the FAST, SLOW, and STAPM limits for the AMD APU. These are the values you'd want to change for what end users basically call "TDP control".

The Lenovo bios has all the required functionality, but LegionSpace itself was bugged and was only setting the STAPM limit. This is why Custom TDP was "broken" in LegionSpace. While LegionSpace set the correct STAPM, it failed to adjust FAST and SLOW limits. That, and the STT mode in the bios automatically adjusts STAPM to always eventually equal the FAST limit.

The Lenovo Custom TDP toggle in the SimpleDeckyTDP plugin enables setting all three values via the WMI methods that the LGO bios exposes, so it fixes Custom TDP control in both STT and STAMP modes.

However, there's currently a new major bug where after you enable a custom fan curve, the Lenovo bios effectively stops respecting any custom TDP values you send it. It will acknowledge the commands, and even seemingly run successfully, but the underlying power consumption doesn't change.

Currently there's a workaround in place that always uses ryzenadj, even with Lenovo Custom TDP enabled. ryzenadj lets you manipulate + view these same values, and is what's used by most 3rd party tools like Handheld Companion, etc.

@aarron-lee
Copy link
Owner

aarron-lee commented Feb 10, 2024

However, there's currently a new major bug where after you enable a custom fan curve, the Lenovo bios effectively stops respecting any custom TDP values you send it. It will acknowledge the commands, and even seemingly run successfully, but the underlying power consumption doesn't change.

Note that this bug is a problem at the bios level, it affects both Windows and Linux. I talked to some beta testers for the LGO, and they've relayed the message to Lenovo about the bug. So ideally, they'll issue a bios with a bugfix for this issue.

@aarron-lee
Copy link
Owner

aarron-lee commented Feb 12, 2024

good news, the latest beta bios from Lenovo seems to fix the bug

https://www.reddit.com/r/LegionGo/comments/1ap6ub2/beta_bios_291_for_custom_tdp/

@WetBrix
Copy link
Author

WetBrix commented Feb 12, 2024

good news, the latest beta bios from Lenovo seems to fix the bug

https://www.reddit.com/r/LegionGo/comments/1ap6ub2/beta_bios_291_for_custom_tdp/

Sweet! Looking forward to the Public release. Also did I read that correctly that the custom TDP toggle works in both STT and STAMP mode? The LGO Bazzite guide I followed specifically switches the bios to stamp mode from STT ‘for compatibility’ though I’ve seen Lgo’s like this Nobara build using STT mode features seemingly without issue (CPU boost + ‘old’ SMT in image)
Am I cool to switch it back? (Hope this isn’t beyond the scope of this thread)

And I’m sure you’re already aware, but thanks for your work in helping to achieve full Bazzite support for the LGO 🙏

@aarron-lee
Copy link
Owner

Also did I read that correctly that the custom TDP toggle works in both STT and STAMP mode?

correct, it wasn't known at the time that the Lenovo custom TDP methods worked on STT. You should be able to safely use STT with the custom TDP toggle in the plugin.

@aarron-lee
Copy link
Owner

oh, one thing to clarify. the Custom TDP toggle in SimpleDeckyTDP will work with STT mode.

LegionSpace, on Windows, has not yet been updated to properly set Custom TDP, so it will NOT work with STT mode.

If you're dual booting Linux + Windows at all, you'll want STAMP mode for Windows compatibility, or alternatively wait for LegionSpace to get updated to properly set TDPs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants