For me the two “awakers” are MSI Afterburner and Framework Control Center. Disabling those puts my GPU to rest, and I can stream music from the browser while programming consuming -12/-15W.
This sounds less than ideal. I’m afraid I may not be able to do much from my side. I can add a button or something that pauses the querying temps for all sensors but there’s no way to request temps but exclude the GPU. Given that this only happens on the new GPU I’d say this is likely a firmware or driver bug on a deeper level.
And if we pause the temp querying, some parts of the app like the fan curve tool will stop working. So it may be a wasted effort to tackle this problem here. The best solution until the driver is fixed would be to pause the service when not needed.
Asking the temp should not trigger GPU to wake up, there may be an issue created for this already in the system repo
Some UI turn-off-everything Killswitch could be useful IMHO.
When my laptop is unplugged, EVERYTHING goes into energy saving. I don’t really need fan control or temp reading, I need less W on the battery. Killing the service manually is a pain, if you could let us disable dGPU&temp pinging on a plugged in / manual switch basis would be an AMAZING workaround. At least it would fill my use case 100%: plugged in means power, heat, fans; unplugged means let’s browse/code using the least amount of battery possible.
Amazing job on the software btw, you’re a legend.
@Kemal_Ozturk
What exactly triggers the GPU to wake up?
What information do you need from the GPU even if the GPU is not being used by anything else?
I am asking, because the EC detects GPU temperatures. Maybe you could read those temperatures instead of direct from the GPU, and use those to run the fan control?
In linux, if you do “sensors” you get this. I mean use those temp readings from the EC.
I don’t have a GPU, so the GPU ones are zero. But they should read something if you have a GPU. I don’t know what method to tell if the GPU is being used or not without waking up the GPU. Maybe someone else knows that answer.
cros_ec-isa-000c
Adapter: ISA adapter
fan1: 0 RPM
fan2: 0 RPM
ambient_f75303@4d: +41.9°C (high = +86.8°C, crit = +86.8°C)
(emerg = +104.8°C)
charger_f75303@4d: +42.9°C (high = +86.8°C, crit = +86.8°C)
(emerg = +104.8°C)
apu_f75303@4d: +40.9°C (high = +86.8°C, crit = +86.8°C)
(emerg = +104.8°C)
cpu@4c: +38.9°C (high = +104.8°C, crit = +104.8°C)
(emerg = +124.8°C)
gpu_amb_f75303@4d: -0.1°C (high = -273.1°C, crit = -273.1°C)
(emerg = -273.1°C)
gpu_vr_f75303@4d: -0.1°C (high = +70.8°C, crit = +89.8°C)
(emerg = +104.8°C)
gpu_vram_f75303@4d: -0.1°C (high = -273.1°C, crit = -273.1°C)
(emerg = -273.1°C)
gpu_temp@40: FAULT (high = +86.8°C, crit = +96.8°C)
(emerg = +99.8°C)
I’m already using the EC framework_tool to read sensors. As far as I know, there’s no option to omit the GPU metrics from it. The wake-up is likely a bug in the framework-system repo or the EC level.
I apologize to everyone who’s having issues with this. I don’t have the new GPU to be able to reproduce this issue and attempt to fix it. I’m having my own issues with trying to use the old GPU with the new AI 300 chip. My system keeps crashing.
It is possible to disable fan control and sensors when on battery, but that’s a bulldozer kind of fix, which I’m not willing to spend time on at the moment.
I’d be curious if anyone can try to query the sensors with the service disabled and see if that still wakes up the GPU. If it does, there’s not much we can do here. If it doesn’t, I’d be interested in debugging what particular call in the service would be waking up the GPU
What driver is being used for the EC?
I have a FW13 12gen and the only driver for the EC that I could find is unsigned. This is an issue for me because I have software I use regularly that requires secure boot to be enabled.
I have a problem,I have a problem, when I go to install the drivers for the TDP it gives me that error. I have disabled the Windows firewall but it still gives the same error
Failed to install, check your antivirus settings!
Hello there !
Thanks for the tool, it’s working perfectly but i have noticed that it spams the service install every 2 seconds, I traced it back to the file FrameworkControlService.exe that install and uninstall the service WinRing0_1_2_0 (file : C:\Program Files\FrameworkControl\ryzenadj\WinRing0x64.sys), any idea on how to stop it from spamming the install/uninstall event in event viewer ?
Unfortunately, looking at the GitHub - FrameworkComputer/framework-system: Rust libraries and tools to interact with the Framework Computer systems · GitHub . They don’t seem to have added support for FW13 on some CPU configs on Windows yet.
You don’t need to disable the entire Firewall. Just add an exception for the framework control folder in program files and try clicking the install button again.
This is the default install location: C:\Program Files\FrameworkControl
Hmm, you’re likely looping and trying to install over and over again and the anti-virus is removing over and over again.
Try disabling the power controls by clicking the little trashcan button and see if the loop ends. If it does, we know that it’s the AV fighting with the app not allowing the WinRing to exist.
Until I can find a better solution for TDP control on Windows your only options are to add exceptions to AV settings or not use the TDP control.
Have you considered using the new version of Universal x86 Tuning Utility instead of RyzenADJ? Currently still in Beta but it uses PawnIO, which is a signed driver, instead of WinRing0.
I know other apps have switched to using PawnIO. FanControl uses it now via LibreHardwareMonitor.
It would be awesome if this is doable and works. I keep fighting with my anti-virus and haven’t been able to use th power controls.
I don’t mind experimenting with PawnIO. I was taking a break from this project and focusing on my car. Now I’m slowly coming back.
Still trying to get the NixOS PR merged. If there are any NixOS nixpgks reviewers with write access here, I’d appreciate the help. https://github.com/NixOS/nixpkgs/pull/499988
Just thought I’d mention it. Thank you for creating such a useful tool.
No pressure from me. I’ll still keep using it even if it doesn’t get added. You’ve done an amazing job and I know there’s a bunch of us that are thankful for this project.
So I tried running this software on both my 11th Gen i7 and 11th Gen i5 systems, and I’ve noticed that absolutely none of the functionality seems to work.
I’m assuming the software is mainly intended for newer motherboards or platforms? Otherwise, I’m not really sure what’s wrong on my end. Both systems are running Windows 11 Pro with all the proper drivers installed, so I can’t figure out why it isn’t working.
this apps using framework tool provided by manufacturer. it does nto support 11th, 12th and 13th gen. see one of the comments posted above Framework Control (Linux/Windows) - A tool for: Fan Control (Curve), Sensors, Power Control, Battery Information - #370 by Kemal_Ozturk
Yes, I see that now. I didn’t thoroughly check the GitHub page for model-specific Framework laptop support. I just assumed it would work out of the box.
I’ve also noticed that the Intel 11th Gen through 13th Gen mainboards seem to be fairly locked down. I’ve been looking for tools that can control things like fan speed and other hardware settings, but I haven’t had any luck so far.
I’d say create an issue in Issues · FrameworkComputer/framework-system · GitHub requesting support for laptop 13 intel chips. Or maybe even bug @Daniel_Schaefer here in this thread ![]()
He responded to my request back in the day for Laptop 16 so give it a shot.

