• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Throttlestop bug with 12900HX CPU - CPU limited to 35W

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
I am using TS with my Lenovo Legion 7i (Gen 7) laptop.
Ocassionally TS bugs out and prevents CPU from going above 35-37W (which is about 2Ghz vs 4.4Ghz when at full power). Laptop is plugged in, set in performance mode and temps are low. I've attached a screenshot of settings and the offending ini file. The ONLY way to fix this is to nuke the .ini, reboot the laptop, and then I get full power back. Any ideas on cause? I attached the ini as a txt file below

TPL settings have not been touched
1689101214833.png

1689101222071.png

1689101249576.png
 

Attachments

  • ThrottleStop.txt
    5.6 KB · Views: 71

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
Your screenshot shows that you have Windows 11 VBS enabled. Try following the guide in my signature to disable VBS including core isolation memory integrity. ThrottleStop does not work correctly if anything VBS related is left enabled. Post a screenshot of the Windows Features window if you are not sure. ThrottleStop and things like WSL2 are not compatible in Windows 11.

Your screenshot also shows that Power Limit 4 is set way too low. Set this to 0 or set this to the max. Remember to delete the ThrottleStop.INI file after you disable VBS and have rebooted.
 

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
Your screenshot shows that you have Windows 11 VBS enabled. Try following the guide in my signature to disable VBS including core isolation memory integrity. ThrottleStop does not work correctly if anything VBS related is left enabled. Post a screenshot of the Windows Features window if you are not sure. ThrottleStop and things like WSL2 are not compatible in Windows 11.

Your screenshot also shows that Power Limit 4 is set way too low. Set this to 0 or set this to the max. Remember to delete the ThrottleStop.INI file after you disable VBS and have rebooted.

Thanks for the prompt reply, VBS has now been disabled. I have rebooted and seems the issue is fixed; will report back if I run into it again.

Out of curiosity, with VBS enabled, does undervolting have no effect?

CPU core UV should match P cache AND E cache, correct?

Also noticed another issue. Tried completely fresh ini with nothing changed. If I go to FIVR->CPU P Cache and simply click "Unlock adjustable voltage", I get BSOD as soon as I click apply.
 
Last edited:

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
with VBS enabled, does undervolting have no effect?
That is correct. ThrottleStop needs direct access to the voltage control register. That is not possible when VBS is enabled.

CPU core UV should match P cache AND E cache, correct?
That is not correct. You can set these three voltages to anything you like. There is no requirement that they all have to be equal. Most users only undervolt the P core and the P cache and they leave the E cache at an offset of 0 mV. Some users get better results by setting the P core to a bigger number compared to the P cache. Do some Cinebench testing to see what works best for your laptop.

I get BSOD as soon as I click apply.
Try significantly reducing the Cache Ratio Max value in the FIVR window before pressing Apply. ThrottleStop tries to set the Cache speed to its default value. Different manufacturers use different methods to limit the cache speed well below the default value. 12th Gen CPUs are not stable if the cache speed is set too high.

If the cache multiplier is set too high and there is not enough voltage, your computer will crash. Many computers with 12th Gen CPUs limit the cache speed so it is equal to the base frequency of the P cores.

I would try starting with the P Cache Max set to about 36. See if doing that fixes the BSOD problem.
 

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
I would try starting with the P Cache Max set to about 36. See if doing that fixes the BSOD problem.

This fixed the BSOD! Any harm to leaving it to 36? Or should I experiment higher/lower values? Thanks for your help!

Is it even worth trying to tune the cache UV? In the past I only bothered with the core but not sure with 12th gen if there is significant gains to be had
 

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
tune the cache UV?
I have not done any hands on testing of a 12900HX processor. I usually start with the P core and P cache offset undervolt set equally. Those are the two important ones. On some CPUs, you can undervolt by only adjusting the P core voltage. My desktop 10850K works like that. I have no idea what other CPUs work the same as that.

Any harm to leaving it to 36?
There is no harm in lowering the clock speed of the cache. The only harm is lost performance. When you have some time to kill, try setting the cache speed higher. Some benchmarks are not very sensitive to the cache speed. I like to use Cinebench to test different settings but I am not sure if that is a good cache test for a 12900HX CPU. A slower cache can improve stability but you might lose some performance.
 

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
Thank you for all your help; look forward to spending some time tuning the CPU. I wonder if its worth undervolting the iGPU as well, hmmm... I'll do some testing

Your screenshot also shows that Power Limit 4 is set way too low. Set this to 0 or set this to the max. Remember to delete the ThrottleStop.INI file after you disable VBS and have rebooted.
I also saw you mentioned PL4 was too low (I realize now its different since I changed many settings) but how can I adjust PL4? It looks to be a read only value.
 
Last edited:

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
Weird, I installed WSL2 and am using it with VBS disabled and throttlestop seemingly working fine. I thought TS and WSL2 were not compatible on Win11?

ThrottleStop and things like WSL2 are not compatible in Windows 11.
Weird, I installed WSL2 and am using it with VBS disabled and throttlestop seemingly working fine. I thought TS and WSL2 were not compatible on Win11? How could you tell in my original screenshot VBS was enabled?
 

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
Post a screenshot of the FIVR window when you are using WSL2. ThrottleStop might still be working but it will not be working correctly. It will not be applying any of your requested voltages to the CPU.
 

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
Post a screenshot of the FIVR window when you are using WSL2. ThrottleStop might still be working but it will not be working correctly. It will not be applying any of your requested voltages to the CPU.
Ah, ok. So I requested -100mV but the offset shows effectively nothing meaning it is not working? I'm surprised VBS is still disabled; I thought maybe wsl --install woud auto-toggle VBS back on. I'm going to downgrade WSL from 2 to 1 and see if that does the trick


1689618386854.png
 

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
Definitely not working. A bunch of screwy numbers in the Voltage column of the monitoring table is another sign that ThrottleStop has no direct access the the CPU voltage control register.

1689619038255.png


The VCCIN slider being unlocked is another sign.

1689619094955.png


Remember to delete the ThrottleStop.INI file after VBS and WSL2 are disabled.
 

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
Definitely not working. A bunch of screwy numbers in the Voltage column of the monitoring table is another sign that ThrottleStop has no direct access the the CPU voltage control register.

View attachment 305199

The VCCIN slider being unlocked is another sign.

View attachment 305201

Remember to delete the ThrottleStop.INI file after VBS and WSL2 are disabled.
I was able to get it working; VBS is now off. In addition to disabling memory integrity in core isolation, I also had to turn off Virtual Machine Platform in Windows features.
I am however re-using the ini file I was prior to me starting the WSL addition. Any harm in that? It looks to be working correctly. I don't think the ini would be corrupted in any way.
1689620393760.png
 
Last edited:

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
I don't think the ini would be corrupted in any way.
Other users have reported that the INI file does get corrupted when you run ThrottleStop with VBS or Virtual Machine Platform enabled.

Your P Cache shows that no undervolt is being applied. That is the usual problem. Deleting the INI file should solve that.
 

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
Other users have reported that the INI file does get corrupted when you run ThrottleStop with VBS or Virtual Machine Platform enabled.

Your P Cache shows that no undervolt is being applied. That is the usual problem. Deleting the INI file should solve that.
Actually, I have no UV on the cache's. I have had issues with cache UV getting BSOD so I kinda gave up on it for now. May come back to it later.

Alright, fresh ini it is then. Better to be safe
 
Last edited:

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
I have no UV on the cache
That is a good idea The 12th Gen cache do not like to be overclocked and need all the voltage they can get.

Better to be safe
I agree. Deleting the INI file is safe and easy to do. I have never done any testing to try to find out what might possibly get corrupted.
 

Seb97

New Member
Joined
Jul 11, 2023
Messages
9 (0.02/day)
That is a good idea The 12th Gen cache do not like to be overclocked and need all the voltage they can get.


I agree. Deleting the INI file is safe and easy to do. I have never done any testing to try to find out what might possibly get corrupted.
What are your thoughts on checking on sleep defaults for cache ratio and voltage? Perhaps that will solve my stability issues. With cache UV, I get BSOD when waking from sleep, reboot or power on. It seems to be fine under load/for desktop use. I am somewhat surprised that those are not checked on by default; to my understanding instability is often on light load or waking from sleep scenarios.
 

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
What are your thoughts on checking on sleep defaults for cache ratio and voltage?
It never hurts to try. I have not updated these features for 12th or 13th Gen CPUs. They probably still work OK.

I get BSOD when waking from sleep
The 12th Gen cache is much more sensitive compared to 13th Gen CPUs. It is what it is. Maybe you could try to overvolt the cache. Not sure if that would work or not.

I am somewhat surprised that those are not checked on by default
It is up to individual users to decide what options they want to select or not select. I used to get a lot of negative feedback whenever I tried to force any good ideas onto user's computers. When you first start ThrottleStop, if no previous INI configuration file is found, ThrottleStop will set as many things as possible to whatever settings the BIOS set the CPU to. From that initial baseline, users can adjust whatever they want from there.

If you have any light load stability issues, your undervolt is too aggressive. Any BSOD is the CPU telling you that it needs more voltage. The ThrottleStop mV Boost @ 800 MHz feature in the FIVR window might be useful to help with any light load low voltage issues when you are undervolting a little too much.
 
Joined
Feb 18, 2005
Messages
5,562 (0.78/day)
Location
Ikenai borderline!
System Name Firelance.
Processor Threadripper 3960X
Motherboard ROG Strix TRX40-E Gaming
Cooling IceGem 360 + 6x Arctic Cooling P12
Memory 8x 16GB Patriot Viper DDR4-3200 CL16
Video Card(s) MSI GeForce RTX 4060 Ti Ventus 2X OC
Storage 2TB WD SN850X (boot), 4TB Crucial P3 (data)
Display(s) 3x AOC Q32E2N (32" 2560x1440 75Hz)
Case Enthoo Pro II Server Edition (Closed Panel) + 6 fans
Power Supply Fractal Design Ion+ 2 Platinum 760W
Mouse Logitech G602
Keyboard Logitech G613
Software Windows 10 Professional x64
@unclewebb considering how often the VBS issue comes up, would it be worthwhile to add VBS detection into ThrottleStop? So you can pop up a dialog saying "this program will not work properly unless you disable VBS" and then close the program, thus preventing these threads?
 

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
7,617 (1.29/day)
would it be worthwhile to add VBS detection into ThrottleStop?
That is a good idea and I have definitely thought about doing this.

One problem is that half of ThrottleStop still works correctly when VBS is enabled. Many people use ThrottleStop to control the turbo power limits or the Speed Shift settings which still seem to work correctly even when VBS is enabled. I have never done any Windows 11 testing so I am not 100% sure what works and what does not work. This might depend on the CPU being used. Some users install Windows 11 on older unsupported hardware that I do not have access to.

I did add some useful information to the ReadMe file and included a website link which shows how to disable VBS. The same link is in my signature.

Windows 11 Virtualization Based Security needs to be disabled so ThrottleStop has direct access to the CPU.

No one likes reading manuals so I gave up writing them. I might get around to creating a sticky in the ThrottleStop sub forum that once again explains this stuff but guess what? The people that need this information the most will not bother to read it.

Believe it or not, it is less frustrating for me to answer the same questions every day. I like interacting with users. It keeps me busy.
 
Joined
May 23, 2023
Messages
34 (0.08/day)
System Name Gaming Workstation | Lenovo Legion 7i Pro Gen8
Processor Intel Core i9-13900K | i9-13900HX
Motherboard ASUS ROG Strix Z690-E | Lenovo HM770
Cooling Arctic Liquid Freezer II 280
Memory 64GB (2x32GB) G.Skill Ripjaws S5 DDR5 5600 CL28 | 32GB (2x16GB) DDR5 5600 CL46
Video Card(s) NVIDIA GeForce RTX 4090 (MSI Gaming Trio) | RTX 4090 Laptop GPU
Storage 1 TB Samsung 970 Pro + 2x 2 TB 980 Pro + 3 TB SATA SSDs | 1TB 980 PRO OEM + 2TB 980 PRO
Display(s) Alienware AW3423DW 3440x1440 175 Hz | Lenovo 16" 2560x1600 240 Hz
Case Corsair 5000D Airflow | Lenovo Legion 7i Pro Chassis
Power Supply EVGA T2 1600W | Lenovo 330W GaN Charger
Mouse Logitech Pro X Superlight
Keyboard CMStorm QuickFire Mechanical
VR HMD Oculus Quest 2 (Virtual Desktop)
@unclewebb - Just had an idea to prevent all the tech support calls about VBS/VM-P/UnderVolt Protection -

If we detect that ThrottleStop does not have access to the voltage regulator interfaces (presumbly TS already has this logic built in to show the banner at the top), show a button the user can click on - "Unlock Undervolting" - and upon clicking button, show a dialog with the following kind of logic,

Java:
var errorsToShow = "ThrottleStop cannot access hardware interfaces to undervolt the CPU due to the following reasons,"
   
if (virtualizationBasedSecurityEnabled) {
    errorsToShow += "Virtualization-based Security is enabled. Please disable Memory integrity in Windows Security Settings. (/)"
}

if (virtualMachinePlatformEnabled) {
    errorsToShow += "Virtual Machine Platform feature is enabled. Please disable it in Windows Features...(/)"
}

if (hyperVEnabled) {
    errorsToShow += "Hyper-V is enabled. Please disable Hyper-V in Windows Features. (/)"
}

if (undervoltProtectionBIOSEnabled) {
    errorsToShow += "UnderVolt Protection is enabled in the BIOS. Please find a way to disable it in your BIOS...(/)"
}

Perhaps it would be helpful to also show buttons to direct users to the FAQ for more details on each item...

Yes, I know it's not proper Java, it's more of a mash of Kotlin and pseudo-code. :D
 

vassilev

New Member
Joined
Mar 15, 2024
Messages
7 (0.05/day)
What are your thoughts on checking on sleep defaults for cache ratio and voltage? Perhaps that will solve my stability issues. With cache UV, I get BSOD when waking from sleep, reboot or power on. It seems to be fine under load/for desktop use. I am somewhat surprised that those are not checked on by default; to my understanding instability is often on light load or waking from sleep scenarios.

This is a bit of an old topic but I currently have the exact same issue with my Legion 7 with i9-12900HX. Undervolt is stable under load or idle, but it crashes from sleep and reboot. And in my case this only happens when the E cores are enabled. If I'm running only the P cores, everything is fine.
 

vassilev

New Member
Joined
Mar 15, 2024
Messages
7 (0.05/day)
Lowering the voltage of E-type cores, there is no benefit.
I'm not trying to lower the E-cache voltage, just the CPU core and P cache. However, in order to be able to unlock the adjustable voltage for the P cache on the i9-12900HX, the max cache ratio should be changed within TS. Just doing that, even without undervolting, causes instability going to/waking from sleep and when restarting, for me and also OP.
 
Joined
Dec 18, 2023
Messages
169 (0.75/day)
I'm afraid that there is no solution to this problem and a compromise will be needed, namely the suspension of the use of sleep mode.
Quite a few people are reporting similar problems on 13th and 14th generation CPUs.
 
Top