Framework Control (Linux/Windows) - A tool for: Fan Control (Curve), Sensors, Power Control, Battery Information

Hello! I’m not a programmer or anything so a lot of this is new to me, but I’m using your amazing app to try to get my laptop 16 to perform best with my games.

One issue with the new update is that the lock for unlocking higher limits for TDP resets to locked every time the app is closed.

I’m also taking this opportunity to learn more about how this laptop works and what this app can do for me. Could someone explain in layman’s terms what the following settings do and any recommendations for someone trying to max performance with their gaming:

Hysteresis

Rate Limit Per Step

TDP Limit

Rate Limit (C) (Advanced)

State of Charge

Thanks in advance for any help and insight anyone can provide!

1 Like

Some of these I’m not sure about. But here’s my assumptions:

Hysteresis is the lag time for the fan curve to adjust to the temperature sensor readings. The higher this number, the longer the fans will wait before responding to the temp change. Increasing this will avoid lots of fan ramp adjustment, since the temps will naturally bounce around a bit (make the fans adjust smoother). Too long and you may feel the fans don’t react soon enough however.

Rate limit per step is I assume how far the fans can increase in % each step or “tick” of the program timer. Lower will mean little steps, higher values will have bigger jumps.

The TDP limit is how much power the CPU/GPU can draw. I believe it’s actually a combined number (i.e. 120W is shared between CPU and GPU) If you set this lower, you can power limit the laptop if you wish.

The last two are from the most recent update, related to the battery charge controls, I haven’t played with these yet.

2 Likes

Well said. One important thing with hysteresis is that it only affects fans ramping down. Fans will always immediately respond to temp increase but if you have hysteresis set, they will not step down until the temp difference is more than the hysteresis.

Thank you for the kind words!

I’m not sure if it’s same as the winring one but my app is flagged under a different category. Likely because it executes ryzenadj so Windows decided to flag it as an accomplice maybe?

The battery rate limit slows down the charging rate. This is good for your battery. The state of charge value tells the laptop to only apply the rate limit after that charge state.

Example, if you want the laptop to charge to 70% with normal speed but after that charge at 0.10 speed. You can set the SoC value to 70 and the rate limit to 0.1

As batteries get close to full charge, it’s more difficult to find slots for the elections to slot in, like a crowded parking lot. It is harmful to try and charge at let’s say 1.0C at 90% charge. But the battery controller is smart enough to not let that happen even if you try to change the setting.

To keep the nerdy details to a minimum, most people will leave it disabled and not mess with it. People who want control over their charging speed will be able to change it.

Example use case: You’re actively using your laptop and it’s getting hot, you have a high power charger which is charging the battery faster than required causing it to heat up more, you don’t mind waiting a bit longer to charge or don’t plan to take your laptop out so you slow down the charge rate and let your battery chill.

Heat is another factor that degrades lithium ion batteries…

+1.

Really like the look of this.

3 Likes

So I finally got around to updating this tonight.. Folks weren’t lying, windows freaked out tripping as a Trojan attack :rofl: but I wasn’t worried with your notices and I’ve been using this program since launch. Hasn’t caused any issues and I trust your work. First time it has caused me problems in all It’s lifespan on my laptop. It was as simple as restoring the “threat” and it worked. Everything is working as it should. Nice job with the update :+1:

1 Like

Yeah, I knew this was coming. I think I was the first person to encounter it because during development, I usually build the exe all the time, and one time, I was minding my own business trying to create the executable, my build kept failing. I later learned that Windows decided to flag the exe. Right then and there, I knew it was a matter of time until you guys also got the TROJAN CoBalTSTrIke.UMMMMTB ALERT FIRE IN THE HOLE :fire::joy::water_pistol:

It’s funny that Windows Defender doesn’t even check existing software lol. Doesn’t give me a lot of confidence. I think the app got flagged around the time when I initially posted about it, and you’re only getting the alert now because you tried to install the update. Technically, it should have let you know immediately after it got flagged on Windows servers as a threat…

I just applied to two open source project signing foundations that help out small projects like this. If they accept my application, we might be able to get it signed and fix the anti-virus flagging.

3 Likes

Well I’m hoping my last post didn’t prompt you to feel you needed to do that. I was more so just sharing for anyone else who stumbles upon this later that the flagging is completely false and safe to use :sweat_smile: but I do hope they go through for you (the applications that is), that would be awesome.

1 Like

I’m getting the same Windows Defender warnings :sweat_smile:

How much it cost to get such signature. I think that a lot of us who are using your app would collect funds to cover cost of singing this app

2 Likes

Hey, just to share that I’ve reverted to v0.4.1 for now as the battery controls for v0.4.2 had some weird behaviours for my FW16.

OS: Win 11
Setup: AMD Ryzen 7 7840HS w/ RX 7700S
BIOS: 04.02
Driver Bundle: v3.01
Power Profile: Balanced
Charger: Official Framework 180w

Pointers:

  1. The software’s battery limit overwrote my BIOS battery charge limit, and let my battery charge over 75%.

  2. I realised this around 96% battery charge, and ticked the Battery limit & set it to 75%.

  3. There’s a huge wattage loss indicated (~70-80w), and my battery depleted to 75% very quickly despite being plugged in and not running or doing anything on the laptop.

  4. When it reached 75%, the previous “sweet spot” TDP limit I had set is 85w for gaming, without having any battery drain was no longer effective. I had to drop to TDP limit 60w for there not to be any battery drain while running intensive games.

That’s all! No biggie since the older versions are still found on Github. Hope this helps when you have time and feel like looking into it!

1 Like

Yes! I’ve had battery drain issues as well. I’ll test tonight if removing RyzenAdj from the app solves the problem, so we can pinpoint the issue.

Also, what does the “xx/yyy W” icon mean in the TDP section? Available power used?

1 Like

I realised this behavior during testing. I don’t think there’s much I can do to change that on my side.

It only happens in that specific case where you have your battery charged more than the limit. The controller tries to get to the target as quickly as possible so it changes the TDP and cut’s out charging. Once the target is reached it should probably eventually go back to normal.

Mmh. Yesterday, playing BF6 on my 240W charger, TDP limit to 145W, battery at 95%, charge limit to 95%. After a few hours I found the laptop at 36%. It never happened on the previous versions of the app. Will do some more rigorous testing.

1 Like

It’s the values that are returned from the EC. I tried to put them in a way that makes sense. They are still a bit mistereous to me as well but you got the right idea. It does indeed show the registered power and the active power of the charger. I thought they would be usefull to keep an eye out for any abnormalities.

Application version: 0.4.2
OS: Windows 11
Setup: Laptop 13 (AMD Ryzen 7 7840U)
BIOS: 03.16
Driver Bundle: v2.06
Power Profile: Power Saver on battery, Balanced on charger
Charger: Satechi 100w PD+PPS

I have installed the update, but the battery charge limit set in UEFI/BIOS seems to be ignored (that’s what I figured out from the GUI) and never restored back to UEFI controlled state (that’s what I figured after further testing).
My battery charge limit in UEFI is set to 80%. After turning Max Charge Limit on and off in the app (the setting was totally on for like a minute, never actually used it, just played with it, turned on and off), my device charged from 30% to 100% and then from 60% to 100%, ignoring the limit.

Now I restored the UEFI setting back to 100%. Will set back to 80% and test further, after that I would like to submit an issue on GitHub.

Can you please tell more about interoperability with that UEFI setting?

P. S. Yeah, I totally stole @Satou_Kanechi markdown form.

2 Likes

Looking back at the code, looks like I made it so disabling the limit just sets it to 100% in the background. That’s likely why it overwrites the UEFI limit. I will push a fix soon for that, disabling will stop touching the battery limit so after restart the UEFI limit should stay. Also going to fix the “unlock high TDP” not sticking when the app is closed and reopened

4 Likes

Hey everyone, the new minor patch is live with the updates mentioned in my previous comment. Enjoy.

2 Likes