# throttlestop dead on windows 11



## henry432 (Jul 3, 2021)

I installed the windows 11 insider preview, loaded up all the programs and games, but as i noticed it seems changing offset voltage no longer does anything and also some of readings are wrong (turbo ratio and memory freq) as seen here





is there a workaround or microsoft added some stuff to prevent undervolting?

also i think on windows 10 vccin was grayed out but now it isnt?? (not sure about that)


----------



## unclewebb (Jul 3, 2021)

Your picture shows that Windows 11 is preventing ThrottleStop from reading information from and writing information to the CPU voltage control register. This one register has some other information like the memory speed and default turbo ratios.

Some developer versions of Windows 10 also had this same problem. In that situation, disabling the Windows Subsystem for Linux (WSL2) solved the problem.

If this does not work in Windows 11, you will have to see if there are any BIOS options that let you disable virtualization. Che0063 on the Notebook Review forum figured this out. ThrottleStop is working correctly for him in Windows 11. He has full access to CPU voltage control. Everything is working the same as Windows 10. 






						TechnologyGuide
					

Thank you for visiting the TechnologyGuide network. Unfortunately, these forums are no longer active. We extend a heartfelt thank you to the entire community for their steadfast support—it is really you, our readers, that drove




					forum.notebookreview.com
				









Some Alienware owners cannot disable VM in the BIOS so they will not have CPU voltage control in Windows 11. I have no idea if the retail version of Windows 11 will continue to block the voltage control register or not. If they do, there is nothing that I can about that. The million people a year that download ThrottleStop is a drop in the bucket compared to the Windows 11 user base. Provide some feedback to Microsoft. If voltage control is important to you, you might be forced to continue using Windows 10.


----------



## henry432 (Jul 3, 2021)

unclewebb said:


> Your picture shows that Windows 11 is preventing ThrottleStop from reading information from and writing information to the CPU voltage control register. This one register has some other information like the memory speed and default turbo ratios.
> 
> Some developer versions of Windows 10 also had this same problem. In that situation, disabling the Windows Subsystem for Linux (WSL2) solved the problem.
> 
> ...


damn that kinda sucks. i use wsl2 i cant just disable it.


----------



## unclewebb (Jul 3, 2021)

henry432 said:


> wsl2


Does ThrottleStop CPU voltage control work correctly when WSL2 is enabled in Windows 10? It never used to in the Insider Preview versions but Microsoft might have fixed that in the retail release.

It seems like Windows 11 has created a new problem. If enough people complain to Microsoft, maybe they will change their mind and unlock and allow access to the register that controls the voltages.


----------



## Mescalamba (Jul 3, 2021)

Well, for me, it doesnt work even in Win 10, but I have odd version and old HW.


----------



## henry432 (Jul 3, 2021)

unclewebb said:


> Does ThrottleStop CPU voltage control work correctly when WSL2 is enabled in Windows 10? It never used to in the Insider Preview versions but Microsoft might have fixed that in the retail release.
> 
> It seems like Windows 11 has created a new problem. If enough people complain to Microsoft, maybe they will change their mind and unlock and allow access to the register that controls the voltages.


yep it did


----------



## Locksley (Jul 7, 2021)

unclewebb said:


> Your picture shows that Windows 11 is preventing ThrottleStop from reading information from and writing information to the CPU voltage control register. This one register has some other information like the memory speed and default turbo ratios.
> 
> Some developer versions of Windows 10 also had this same problem. In that situation, disabling the Windows Subsystem for Linux (WSL2) solved the problem.
> 
> ...



Disabling VM in bios worked partly for me. I am now able to write to cpu core and to Intel GPU but cache is still not updating. Run on an xps 15 9560 with i7-7700HQ


----------



## unclewebb (Jul 7, 2021)

@Locksley - It looks like it should work. Did you delete the ThrottleStop.INI configuration file? When you click on the FIVR Control - CPU Cache radio button, what happens when you make a voltage adjustment? When using ThrottleStop you have to adjust the core and cache offset voltages separately.


----------



## Locksley (Jul 7, 2021)

@unclewebb OMG that was it, just removing the ThrottleStop.INI file. Thank you so much!


----------



## validate (Oct 6, 2021)

The main thing is, Virtualization-Based Security on Windows 11 has more features + protections than Windows 10. It also blocks reading-writing 0x150 Model Specific Register (MSR). If you manage to disable VBS on Windows 11, you will regain control of this MSR. Or maybe there should be implemented an exclusion feature for specific executables from Microsoft (or it is there but I do not know). Not all MSRs are protected as far as I know.

Note: If you enable Virtual Machine Platform, Hyper-V, etc., you cannot disable VBS, also on Windows 10.


----------



## Finesto (Oct 7, 2021)

I didn't change anything though it seems to be working for me on windows11, thats odd.





One question though, I seems to be that I can't change performance through windows anymore (in the taskbar).
Now I have to manually change speedshift through throttlestop, is there a different way through windows where I can change that? Preferably easily managed, through windows power plan it seems a waste of time.

Edit: 



Interesting; Windows "best performance" now uses less performance than the windows 10 (Which was 0 EPP, now it is 84). Is there a reason for that?
I know it's not within OP's question, but I figure it's easier to use it on a relevant thread.


----------



## validate (Oct 7, 2021)

Finesto said:


> I didn't change anything though it seems to be working for me on windows11, thats odd.
> 
> View attachment 219880
> 
> ...


Balanced profile with High Performance preset also gives 84 on Windows 10. I think that VBS is somehow disabled if I say something for your UV status. You can check from “System Info” for VBS.


----------



## unclewebb (Oct 7, 2021)

Finesto said:


> it seems to be working for me on windows11


Did you do a new install or an upgrade? In Windows features, some users need to disable Hyper-V, Virtual Machine Platform, Windows Hypervisor Platform and Windows Sandbox. You might have to disable VMX in the BIOS too. Different computers have different stuff enabled by default. If you turn enough of these features off, ThrottleStop will work just fine in Windows 11. If you have problems, I would delete the ThrottleStop.INI configuration file after making any changes to Windows. 

I look at the default Turbo Ratio Limits to determine if ThrottleStop is working correctly. If the default values are not being reported correctly, that means ThrottleStop is being blocked from accessing your CPU registers.

ThrottleStop is blocked.





ThrottleStop is OK





Moving the Windows 10 power slider to Best Performance in the System Tray used to set EPP to 84 for most computers. It is possible that your computer used to set EPP to 0 but default seemed to be 84.

Open a command window and type in,

powercfg -qh >C:\power.txt

This will create a file called power.txt which will show all of the settings in your current power plan. These settings control what EPP value Windows uses.


```
Power Setting GUID: 36687f9e-e3a5-4dbf-b1dc-15eb381c6863  (Processor energy performance preference policy)
      GUID Alias: PERFEPP
      Minimum Possible Setting: 0x00000000
      Maximum Possible Setting: 0x00000064
      Possible Settings increment: 0x00000001
      Possible Settings units: %
    Current AC Power Setting Index: 0x00000021
    Current DC Power Setting Index: 0x00000032

    Power Setting GUID: 36687f9e-e3a5-4dbf-b1dc-15eb381c6864  (Processor energy performance preference policy for Processor Power Efficiency Class 1)
      GUID Alias: PERFEPP1
      Minimum Possible Setting: 0x00000000
      Maximum Possible Setting: 0x00000064
      Possible Settings increment: 0x00000001
      Possible Settings units: %
    Current AC Power Setting Index: 0x00000021
    Current DC Power Setting Index: 0x00000032
```

If use see a current setting of 0x00000021 that is equivalent to 33 decimal.
33 X 255 / 100 = 84

That is where the EPP 84 value comes from. These commands let me adjust the default EPP on my Windows 10 desktop computer. Not sure if you will also have to adjust PERFEPP1 on a laptop.

powercfg /setacvalueindex SCHEME_CURRENT SUB_PROCESSOR PERFEPP 0
powercfg /setdcvalueindex SCHEME_CURRENT SUB_PROCESSOR PERFEPP 0

After you make a change you will need to use this command for it to update.

powercfg /s SCHEME_CURRENT

Make sure that Speed Shift EPP is not checked in ThrottleStop so ThrottleStop and Windows are not fighting against each other over control of the EPP value going to the CPU. You can monitor what EPP value the CPU is using by looking at the EPP value in the FIVR monitoring table.


----------



## od1n0 (Oct 7, 2021)

you should adjust  to 0% PowePlan  Latency sensitivity hint processor performance (subgroup 54533251-82be-4824-96c1-47b60b740d00 setting ID 619b7505-003b-4e82-b7a6-4dd29c300971)  because with speedshift enabled windows switch epp to 0 when sensitivity is 99% based on workload and return to default epp value when worload go down. With 0% windows don't change epp value if you want a stable epp value <> 0 of course.


----------



## validate (Oct 11, 2021)

Looks like Hypervisor (VBS) intentionally blocks accessing 0x150 MSR and other MSRs such as 1AE, 638, and 64C.

Did not read much, but it may work for that case: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/tlfs/hypercall-interface


----------



## Cie (Oct 12, 2021)

Hi, hello.

I upgraded from W10 to W11 a week ago and ThrottleStop was working fine as intended, showing my voltage offsets as should be.
Today, I turned on *Core Isolation *after watching JarrodsTech video on the topic, he said that this was disabled by default on W10 laptops, and I thought it might be worth turning it on for the additional security.

After restarting, my undervolt got disabled and it looked like this:





I turned off Core Isolation and it fixed it, it now looks like this:





Just a heads up that if you're having issues with your undervolt, turning this specific setting off _might_ help.


----------



## UnderVolterFan (Oct 12, 2021)

I'm actually falling back to Win10 until TPU fixes this issue.  I tried disabling Core-Isolation (hint it was already disabled), and I tried disabling Virtualization in BIOS but it started asking for Bitlocker keys I wasn't in the mood to look up.

I'll just wait for a proper fix, or stay on Win10 forever.

Win11 is shaping up to be a Windows Vista, Windows 8.1, Windows ME, all over again. 

Microsoft cannot break their tradition of a good OS followed by a Turd.  It is inevitable.


----------



## unclewebb (Oct 12, 2021)

UnderVolterFan said:


> until TPU fixes this issue


What is TechPowerUp supposed to do to fix this issue?

Core isolation - Memory integrity is a safety feature that blocks direct access to various CPU registers including the CPU voltage control register. Only Microsoft can change this and they do not plan to do that. Windows 11 is all about improved security to keep the corporate customers happy. These security improvements reduce performance and they break software that needs direct access to the CPU registers. You cannot write software to fix what Microsoft has deliberately broken.

Windows 11 also reduces FPS. Why would any gamer want that?

If being in control of your computer is important to you then you will need to disable Memory Integrity, Virtual Machine Platform and anything else that prevents you from using programs like ThrottleStop.


----------



## validate (Oct 12, 2021)

I think I find a workaround for that: https://github.com/psyq321/PowerMonkey
It seems that it sets voltages before booting. Did not try, though.

Note: If this is considered a promotion, please simply delete this comment, or warn me then I will delete it as soon as possible. I recently found this tool.


----------



## unclewebb (Oct 13, 2021)

@validate - PowerMonkey looks like it could solve a lot of problems for some new Windows 11 users. Some users cannot disable the Virtual Machine Platform and really need to be able to run apps like WSL2. If PowerMonkey can reliably apply offset voltages before hypervisor locks things down, this could save the day for many users. 

After you check out PowerMonkey for a few days, maybe start a new thread in the ThrottleStop forum so users will have a better chance of finding this info and this new program.


----------



## validate (Oct 13, 2021)

@unclewebb Thank you for the response! One caveat: The values are not persistent after S3 sleeping. Hope that it works otherwise.


----------



## UnderVolterFan (Oct 13, 2021)

@unclewebb While I will concede you are the expert on this topic, historically speaking when Microsoft changes their security model or adds yet another layer between hardware access, there is usually some workaround (a call to the Hypervisor itself?) to allow direct control.

Fingers crossed anyway.


----------



## validate (Oct 13, 2021)

Well, I did manage to compile EFI with https://github.com/psyq321/PowerMonkey#building---edk2-route, but cannot figure out how can we use that with Secure Boot at the moment. Anyway, that's the file with just -90mV on CPU core and cache. I will continue the investigation later. As a warning, compiling with Visual Studio was problematic. I'm sharing the file, but please take your own risk; and, please consider compile yourself first. I also haven't tried the EFI, at least for now.





						V1 - Google Drive
					






					drive.google.com
				




@unclewebb Good news, it works with Overclocking Lock disabled.  But interestingly, even Overclocking Lock is disabled, I cannot reach anything on Throttlestop as it says Locked, but the options including freq per core were there before, but I can clearly see that VID is indeed lower (respects -90mV offset), the fan runs less and the temperatures are dropped significantly. But, I have to disable secure boot. Doesn't work without Overclocking Lock disabled.


----------



## Emanuele-1998 (Oct 13, 2021)

Why Hyper-V disabling Undervolt? Fix this solution as an official


----------



## od1n0 (Oct 13, 2021)

Emanuele-1998 said:


> Why Hyper-V disabling Undervolt? Fix this solution as an official


because microsoft change access to msr register in windows 11 under hypervisor for security reason probably.


----------



## validate (Oct 13, 2021)

New update: I used https://github.com/Mattiwatti/EfiGuard's Loader (modified a little bit for compatibility with PowerMonkey) with PowerMonkey (used -90 CPU Cache + CPU Core + -40 GT Uncore and GT Unslice), and it works without Secure Boot + S3 sleep.

Used https://github.com/Mattiwatti/EfiGuard/issues/2#issuecomment-478998015 to add UEFI entry for Loader.
Files: https://drive.google.com/drive/folders/1EdZvptKrud9tCpU2L58V9NgugjTR41zz?usp=sharing


----------



## Emanuele-1998 (Oct 13, 2021)

od1n0 said:


> because microsoft change access to msr register in windows 11 under hypervisor for security reason probably.


Strange, it doesn't make sense even if I was right


----------



## validate (Oct 13, 2021)

Emanuele-1998 said:


> Strange, it doesn't make sense even if I was right


I think that's the reason: https://plundervolt.com/


----------



## od1n0 (Oct 13, 2021)

validate said:


> I think that's the reason: https://plundervolt.com/


yes it is same reason because dell locked fivr register by default under bios setting.



Emanuele-1998 said:


> Strange, it doesn't make sense even if I was right


----------



## jhigh2000 (Oct 16, 2021)

validate said:


> New update: I used https://github.com/Mattiwatti/EfiGuard's Loader (modified a little bit for compatibility with PowerMonkey) with PowerMonkey (used -90 CPU Cache + CPU Core + -40 GT Uncore and GT Unslice), and it works without Secure Boot + S3 sleep.
> 
> Used https://github.com/Mattiwatti/EfiGuard/issues/2#issuecomment-478998015 to add UEFI entry for Loader.
> Files: https://drive.google.com/drive/folders/1EdZvptKrud9tCpU2L58V9NgugjTR41zz?usp=sharing


Thank you for experimenting with PowerMonkey. Would you be willing to build another version of PowerMonkey.efi with **only**  -90 CPU Core and -90 CPU Cache?

*Edit: I see from your earlier post that was your V1 version with just Core/Cache?*


----------



## validate (Oct 17, 2021)

jhigh2000 said:


> Thank you for experimenting with PowerMonkey. Would you be willing to build another version of PowerMonkey.efi with **only**  -90 CPU Core and -90 CPU Cache?
> 
> *Edit: I see from your earlier post that was your V1 version with just Core/Cache?*


First version is -90 CPU and Cache exactly. Also I’ll make a new thread about introducing the tool, Just use that PowerMonkey efi with newly introduced Loader efi.


----------



## jhigh2000 (Oct 17, 2021)

validate said:


> First version is -90 CPU and Cache exactly. Also I’ll make a new thread about introducing the tool, Just use that PowerMonkey efi with newly introduced Loader efi.


Which CPU(s) have you had luck with so far? My Core i9-9980HK is stable with pre-Windows11 ThrottleStop undervolt at -125 cpu/cache, but loading loading -90 PowerMonkey.efi from an EFI shell freezes at the programming screen.


----------



## validate (Oct 17, 2021)

jhigh2000 said:


> Which CPU(s) have you had luck with so far? My Core i9-9980HK is stable with pre-Windows11 ThrottleStop undervolt at -125 cpu/cache, but loading loading -90 PowerMonkey.efi from an EFI shell freezes at the programming screen.


I’m using i5 8265U, and I was using -95 CPU Core-Cache and -45 GPU and GPU Unslice before. Is shell freezes even if you press ESC?

Also you make sure that you set Loader.efi as an entry point, not PowerMonkey.efi. Loader.efi finds PowerMonkey.efi automatically, as it is hardcoded by me in the efi file directly. Put these efi files to (your EFI disk letter):/EFI/BOOT/, and set Loader.efi as a first bootable point from UEFI Shell. Loader also finds your Windows Boot Manager and boots into it.


----------



## jhigh2000 (Oct 17, 2021)

validate said:


> I’m using i5 8265U, and I was using -95 CPU Core-Cache and -45 GPU and GPU Unslice before. Is shell freezes even if you press ESC?
> 
> Also you make sure that you set Loader.efi as an entry point, not PowerMonkey.efi. Loader.efi finds PowerMonkey.efi automatically, as it is hardcoded by me in the efi file directly. Put these efi files to (your EFI disk letter):/EFI/BOOT/, and set Loader.efi as a first bootable point from UEFI Shell. Loader also finds your Windows Boot Manager and boots into it.


No, I can ESC out of it during the 3 second window. PowerMonkey freezes on programming the voltage offsets.

Edit: Tried with Loader.efi as the entry point. Same result. PowerMonkey freezes on on programming.  Sorry for the blurry photo.


----------



## validate (Oct 17, 2021)

jhigh2000 said:


> No, I can ESC out of it during the 3 second window. PowerMonkey freezes on programming the voltage offsets.


Actually, I don’t know why it causes, but I will create a file with -5 mV for CPU + cache only, just for you to test. In addition, I’ll create a new thread for the tool, and compiling processes, maybe a little helper script for compile quickly, etc.



jhigh2000 said:


> No, I can ESC out of it during the 3 second window. PowerMonkey freezes on programming the voltage offsets.
> 
> Edit: Tried with Loader.efi as the entry point. Same result. PowerMonkey freezes on on programming.  Sorry for the blurry photo.
> 
> View attachment 221206


How many boot entries you have? If there were PowerMonkey.efi and Loader.efi separate, delete PowerMonkey one.


----------



## jhigh2000 (Oct 17, 2021)

validate said:


> Actually, I don’t know why it causes, but I will create a file with -5 mV for CPU + cache only, just for you to test. In addition, I’ll create a new thread for the tool, and compiling processes, maybe a little helper script for compile quickly, etc.
> 
> 
> How many boot entries you have? If there were PowerMonkey.efi and Loader.efi separate, delete PowerMonkey one.


Thank you - that will be a good test. I have just the single Loader.efi entry.


----------



## validate (Oct 17, 2021)

5VCORECACHE - Google Drive
					






					drive.google.com
				




@jhigh2000  Could you try that please? It has just -5mV on core and cache.


----------



## jhigh2000 (Oct 17, 2021)

validate said:


> 5VCORECACHE - Google Drive
> 
> 
> 
> ...



Thank you for making the custom file. Unfortunately PowerMonkey still locks hard during programming.


----------



## Terse (Oct 17, 2021)

I've upgraded, downgraded, and upgraded over the past couple of days. I found that WSL caused throttlestop to become haywire, something to do with virtualization, I'm on the beta channel and I can still undervolt.


----------



## validate (Oct 17, 2021)

jhigh2000 said:


> Thank you for making the custom file. Unfortunately PowerMonkey still locks hard during programming.


Oh, then it is not something about the value. Is PowerMonkey still freezing while booting via external USB without any external custom entry? PowerMonkey just basically writes proper values to given MSRs.


----------



## od1n0 (Oct 17, 2021)

Terse said:


> I've upgraded, downgraded, and upgraded over the past couple of days. I found that WSL caused throttlestop to become haywire, something to do with virtualization, I'm on the beta channel and I can still undervolt.


bvs (base virtual support) in release version (build 10.0.22000) denied access to msr registry to undervolt cpu. with hypervisor disabled undervolt work.


----------



## jhigh2000 (Oct 17, 2021)

validate said:


> Is PowerMonkey still freezing while booting via external USB without any external custom entry?


Yes, exactly. I tried that scenario. Freezing as soon as programming starts.


----------



## validate (Oct 17, 2021)

jhigh2000 said:


> Yes, exactly. I tried that scenario. Freezing as soon as programming starts.


Got it. Then, please create an issue on PowerMonkey repo about the indicent if you can. I’m sure that the configuration is not flawed, as it works flawlessly for me. Maybe there is something that should be implemented for your specific CPU, I don’t know.



Terse said:


> I've upgraded, downgraded, and upgraded over the past couple of days. I found that WSL caused throttlestop to become haywire, something to do with virtualization, I'm on the beta channel and I can still undervolt.


Actually, when you activate WSL2, Virtual Machine Platform should be activated. This feature enables VBS and VBS blocks accessing specific MSRs via software. You cannot disable VBS even if you specifically declare with Group Policy. VBS is the blocker.


----------



## jhigh2000 (Oct 17, 2021)

validate said:


> Got it. Then, please create an issue on PowerMonkey repo about the indicent if you can. I’m sure that the configuration is not flawed, as it works flawlessly for me. Maybe there is something that should be implemented for your specific CPU, I don’t know.


Issue created. Please let me know if there is any additional information that you think would be useful to provide.


----------



## validate (Oct 18, 2021)

jhigh2000 said:


> Issue created. Please let me know if there is any additional information that you think would be useful to provide.


Checked. It's perfectly fine at the moment. Hope it's gonna be solved as soon as possible.





@unclewebb Interestingly ThrottleStop says "Locked" even Overclocking Lock is disabled when using PowerMonkey. They are unlocked but cannot be accessed as expected without PowerMonkey (they are all VBS enabled). Reporting for your info.


----------



## Lemon7Prime (Oct 22, 2021)

validate said:


> New update: I used https://github.com/Mattiwatti/EfiGuard's Loader (modified a little bit for compatibility with PowerMonkey) with PowerMonkey (used -90 CPU Cache + CPU Core + -40 GT Uncore and GT Unslice), and it works without Secure Boot + S3 sleep.
> 
> Used https://github.com/Mattiwatti/EfiGuard/issues/2#issuecomment-478998015 to add UEFI entry for Loader.
> Files: https://drive.google.com/drive/folders/1EdZvptKrud9tCpU2L58V9NgugjTR41zz?usp=sharing


Many thanks for your post, this method work correctly on my laptop when i use the wsl_andriod.


----------



## validate (Oct 22, 2021)

Lemon7Prime said:


> Many thanks for your post, this method work correctly on my laptop when i use the wsl_andriod.


Yes it has been working flawlessly for a week for me. I’ll also create a documentation for compiling processes etc. Don’t have a time for now :/


----------



## jhigh2000 (Oct 23, 2021)

Lemon7Prime said:


> Many thanks for your post, this method work correctly on my laptop when i use the wsl_andriod.


What CPU model/generation do you have?


----------



## Lemon7Prime (Oct 23, 2021)

jhigh2000 said:


> What CPU model/generation do you have?


I5-8300H


----------



## validate (Oct 24, 2021)

jhigh2000 said:


> Yes, exactly. I tried that scenario. Freezing as soon as programming starts.


I did change something, maybe that works for your particular case. Could you try this EFI with the same Loader please? -90mV CPU + -40mV iGPU there.





						90CORE40iGPU - DISABLESAFERASM - Google Drive
					






					drive.google.com
				




I'm so sorry that I cannot create a tutorial for building + deploying these EFI files. I have a busy week :/


----------



## jhigh2000 (Oct 24, 2021)

validate said:


> I did change something, maybe that works for your particular case. Could you try this EFI with the same Loader please? -90mV CPU + -40mV iGPU there.
> 
> 
> 
> ...


No need to apologize at all! I really appreciate the builds that you have created. Unfortunately gEnableSaferAsm = 0 did not help, still freezing hard on programming. I'm wondering if there's another EFI shell that I should use for testing. I doubt it will make a difference, but it would be worth a try. Any suggestions?


----------



## validate (Oct 24, 2021)

jhigh2000 said:


> No need to apologize at all! I really appreciate the builds that you have created. Unfortunately gEnableSaferAsm = 0 did not help, still freezing hard on programming. I'm wondering if there's another EFI shell that I should use for testing. I doubt it will make a difference, but it would be worth a try. Any suggestions?


PowerMonkey should work if you put on a external USB by creating EFI folder, then creating BOOT folder in EFI folder, finally changing the name of PowerMonkey.efi to bootx64.efi, putting the BOOT folder that .efi and selecting the USB at boot menu on restart. If it doesn’t work, I don’t think that’s the issue with loader. Maybe your PC (BIOS) has some extra protections over these values, I don’t really know.


----------



## Sherpard2 (Oct 25, 2021)

I really hope Microsoft adds an exception/method to add an exception to VBS, in order to let a Power User do whatever they want with their device (Under their responsibility of course).

If they do not add such support, my current laptop won't be upgrading to Win11 anytime soon.


----------



## charlyo (Nov 7, 2021)

Does anyone know if throttle stop still works in the release preview of windows 10 21h2??

Also tried powermonkey in my xps and works.


----------



## uri_by (Nov 22, 2021)

I am trying to use PowerMonkey on my XPS, but nothing happens after PowerMonkey's boot screen. I built my EFI with -5mV or even 0mV but still freezing hard on programming. The same as jhigh2000 described.


----------



## obrobrio2000 (Nov 22, 2021)

uri_by said:


> I am trying to use PowerMonkey on my XPS, but nothing happens after PowerMonkey's boot screen. I built my EFI with -5mV or even 0mV but still freezing hard on programming. The same as jhigh2000 described.


Would you mind explaining which method you followed to build PowerMonkey? Last time I tried with VisualUEFI (VisualStudio method) I couldn't build it because of error "Cannot open input file BaseIoLibIntrinsic.lib".


----------



## netlan (Nov 23, 2021)

obrobrio2000 said:


> Would you mind explaining which method you followed


VisualUEFI doesn't work for me, I got the same error about "Cannot open....". So, I used the 'long way' (EDK2 route). Just it's needed to follow several instructions and install some additional tools (Python, ASL, and nasm) besides Visual Studio Build Tools. Have a look please:








						Getting Started with EDK II · tianocore/tianocore.github.io Wiki
					

Tianocore website. Contribute to tianocore/tianocore.github.io development by creating an account on GitHub.




					github.com
				











						Windows systems · tianocore/tianocore.github.io Wiki
					

Tianocore website. Contribute to tianocore/tianocore.github.io development by creating an account on GitHub.




					github.com
				



Also, some changes in EDK configs are required depending on your environment, OS, etc.
When all be done, run edksetup.bat Rebuild -> edksetup -> build in the ed2 directory.

Regarding freezes.
Keep in mind please the difference in CPUs. You need to check all settings in the PowerMonkey config. For example, _pk->ForcedRatioForAllCoreCounts = 51; _For me, it works with 51, but it looks potentially strong (as many other options). So, I used pk->ForcedRatioForAllCoreCounts = 0.

xps 9500 gives the great ability to set up own UEFI loader entry in the BIOS. I just placed PowerMonkey.efi next to bootx64.efi


----------



## uri_by (Nov 23, 2021)

VisualUEFI build is relatively easy to fix. You have to create new projects for a couple of missing libraries using already existing projects as an example.

My CPU is i9-9980HK on xps 7590. I was aware of  _pk->ForcedRatioForAllCoreCounts = 51. _I set it to 41 as a safer value.

I tried different ways to set up UEFI loader with or without EfiGuard. So, I don't think it is problem with the loader.


----------



## jhigh2000 (Nov 23, 2021)

uri_by said:


> VisualUEFI build is relatively easy to fix. You have to create new projects for a couple of missing libraries using already existing projects as an example.
> 
> My CPU is i9-9980HK on xps 7590. I was aware of  _pk->ForcedRatioForAllCoreCounts = 51. _I set it to 41 as a safer value.
> 
> I tried different ways to set up UEFI loader with or without EfiGuard. So, I don't think it is problem with the loader.


We have the same system! No luck for me with any settings. Still freezing while programming.


----------



## obrobrio2000 (Nov 24, 2021)

netlan said:


> VisualUEFI doesn't work for me, I got the same error about "Cannot open....". So, I used the 'long way' (EDK2 route). Just it's needed to follow several instructions and install some additional tools (Python, ASL, and nasm) besides Visual Studio Build Tools. Have a look please:
> 
> 
> 
> ...


First of all thank you very much!! I managed to build it and it works both with SaferAsm on and off (I'll keep it on). I tested it by putting EFI/Boot/PowerMonkey.efi on a USB stick. However, my Lenovo Yoga C940-14 doesn't give the same ability as your Dell XPS, so I can't make it start before Windows (?).


netlan said:


> I just placed PowerMonkey.efi next to bootx64.efi


I'm still learning so sorry if I sound dumb, but with this do you mean mounting the EFI partition (mountvol X: \s) and placing PowerMonkey.efi near bootx64.efi (in EFI \ Boot)? Because I did but I think I understood wrong since PowerMonkey doesn't load. If you didn't mean that, do you think the only way to make PowerMonkey load before Windows is to use GRUB?

Thanks again for the help you gave me and thanks in advance 

---------- EDIT ----------

After researching I downloaded the Shell.efi from Tianocore edk2 github, then I booted from it, added PowerMonkey to the boot list and made it default/first following the link in this reply.

Sorry guys if I lost myself in such an easy task, I'm still new to this 

I'm happy that I can start undervolting again, I couldn't hold this 95°C nuclear central anymore.
Noted for when I'll need to purchase another laptop: never buy a laptop just because of the good-sounding speaker system it has.


----------



## netlan (Nov 25, 2021)

obrobrio2000 said:


> so I can't make it start before Windows (?)


I think, you need the same option:








						throttlestop dead on windows 11
					

New update: I used https://github.com/Mattiwatti/EfiGuard's Loader (modified a little bit for compatibility with PowerMonkey) with PowerMonkey (used -90 CPU Cache + CPU Core + -40 GT Uncore and GT Unslice), and it works without Secure Boot + S3 sleep.  Used...




					www.techpowerup.com
				



But, again, you have to be very careful and read enough for clear view.


----------



## jhigh2000 (Dec 7, 2021)

I was able to successfully boot and run PowerMonkey.efi an a slightly order laptop running Windows 11. Now that Throttlestop is crippled by Windows 11, what's the best way now to verify in Windows that the undervolt is actually being applied?


----------



## jj88 (Dec 14, 2021)

Could somebody make step-by-step tutorial how to apply PowerMonkey with laptop? I do not work with efi before but use Throttlestop for long time so i am pretty sure i know stable values.


----------



## uri_by (Dec 14, 2021)

jhigh2000 said:


> I was able to successfully boot and run PowerMonkey.efi an a slightly order laptop running Windows 11. Now that Throttlestop is crippled by Windows 11, what's the best way now to verify in Windows that the undervolt is actually being applied?


You could do some stress tests and compare the results.  I think you should notice the difference if you used to use undervolting before.

Btw, did you try the new PowerMonkey version? It has the debug traces now. I've got a freeze on the first step "Discovering VF Pts. for domain: 0x0".


----------



## transf0 (Dec 18, 2021)

Just upgraded to Windows 11, had the same issue. I just had to disable "Virtualization" in the BIOS settings and it fixed it. Strangely, I am still able to use WSL2 and the feature is still enabled in Windows settings.


----------



## obrobrio2000 (Jan 14, 2022)

transf0 said:


> Just upgraded to Windows 11, had the same issue. I just had to disable "Virtualization" in the BIOS settings and it fixed it. Strangely, I am still able to use WSL2 and the feature is still enabled in Windows settings.


Are you sure your distro(s) version is set to 2 (WSL2) and not 1? "wsl -l -v" in PowerShell to check.


----------



## Crashmaker (Jan 15, 2022)

validate said:


> New update: I used https://github.com/Mattiwatti/EfiGuard's Loader (modified a little bit for compatibility with PowerMonkey) with PowerMonkey (used -90 CPU Cache + CPU Core + -40 GT Uncore and GT Unslice), and it works without Secure Boot + S3 sleep.
> 
> Used https://github.com/Mattiwatti/EfiGuard/issues/2#issuecomment-478998015 to add UEFI entry for Loader.
> Files: https://drive.google.com/drive/folders/1EdZvptKrud9tCpU2L58V9NgugjTR41zz?usp=sharing


Can you explain to me what does the loader do for you?? Is it only to keep the undervolt applied when your computer goes to sleep??

Im trying to build powermonkey but im just to dumb, cant even use the simplified version (https://github.com/awyl/Build-PowerMonkey)

Maybe you can help me compile the file and help me to get the Sleep part working to, im currently using XTU with -100mv core and cache and -100mv integrated graphics


----------



## kronkdark (Feb 2, 2022)

My work requires Emulator so disable Intel VT is a NO NO for me.

But disabling Hyper-V, Virtual Machine Platform, Windows Hypervisor Platform, and Windows Sandbox works for me, I don't need to disable Intel VT.


----------



## bedrin (Feb 3, 2022)

Crashmaker said:


> Can you explain to me what does the loader do for you?? Is it only to keep the undervolt applied when your computer goes to sleep??
> 
> Im trying to build powermonkey but im just to dumb, cant even use the simplified version (https://github.com/awyl/Build-PowerMonkey)
> 
> Maybe you can help me compile the file and help me to get the Sleep part working to, im currently using XTU with -100mv core and cache and -100mv integrated graphics



Similar to Throttlestop it sets and locks the voltage (and TPL optionally) before Hypervisor kicks in and prohibits modification.
It does work with Hibernate and Modern Standby (S0).

There was an error in scripts here (one "cd" command missing): https://github.com/awyl/Build-PowerMonkey
I've fixed it and raised a PR (which is now merged)

I can confirm that these instructions (and PowerMonkey in general !!) work fine.

Tested on i7-9750h (Dell) with latest Win11 build (dev channel) with WSL2 enabled

Looks like you still can configure TPL via Throttlestop although it reports bizarre MMIO TPL - see screenshots.


----------



## bedrin (Feb 6, 2022)

Looks like it's also possible to set and lock voltage using UEFI vars and even keep Secure Boot on. There's a post on reddit about it: 




__
		https://www.reddit.com/r/XPS/comments/sh02yr

Might be a bit more risky compared to PowerMonkey (with it you can just eject sd-card and run on default settings) but you will get Secure Boot and faster startup as a benefit.

My understanding is that if something goes wrong you will need to remove CMOS battery in order to reset it.
And also you will have to repeat the steps in case you reset or update or BIOS.


----------



## chumley (Feb 15, 2022)

Here's some good info that I found about how to use PowerMonkey.
(All credit goes to the author, not me, I'm just sharing a link.)





						Undervolting on Windows 11 with PowerMonkey | Mr Eggtart.
					

How to undervolt in Windows 11 with Hyper-V, WSL or WSL2 enabled, when ThrottleStop and Intel XTU stopped to function properly.




					mreggtart.com


----------



## Reonu (Sep 21, 2022)

Hey guys.

So I have Windows 11 on my laptop and I find it very frustrating that I can't use WSL2 and Throttlestop at the same time. I have to toggle virtualization on my BIOS every time.

If I were to downgrade to W10, would I be able to use WSL2 and Throttlestop at the same time again?


----------



## Amnvex (Sep 23, 2022)

I got a question, too. A lot of what's been said here is "Throttlestop doesn't work on Win 11." How about "Throttlestop destroys your CPU?"

Here's my story: something happened after updating to Win 11 to the point that it was incredibly unstable and would constantly BSOD right after booting up into Windows . I noticed that having Throttlestop _open_ without any OC/UC would cause these BSODs for the most part. I reverted back to Win 10 after doing a total drive wipe but I still couldn't open Throttlestop without BSODing. The system has been stable for months _since not opening Throttlestop_ on Win 10. However, any OC/UC in another utility like Intel XTU doesn't seem to work and leads to system instability if the values are changed in any significant way. Is there a kernel level change that permanently stays with the system despite the reversion of win? Is my processor fried or something? It was hard enough trying to get the system stable enough to even do a roll back because opening programs could This PC is only ~8 months old (and for the last 5 months I've not had a single crash because I knew opening throttlestop would BSOD it in a matter of seconds even if I closed it right away... so, I've stopped using it altogether).

Any insight would be useful. Although if no one knows, that's fine. Just wanted to point out that Win 11 seriously breaks PCs. Don't upgrade!

Here are _some_ examples, not all. Another common one I'd get is something about interrupts. I'm pretty sure I've seen every BSOD in existence at this point


----------



## Vathank (Dec 30, 2022)

validate said:


> New update: I used https://github.com/Mattiwatti/EfiGuard's Loader (modified a little bit for compatibility with PowerMonkey) with PowerMonkey (used -90 CPU Cache + CPU Core + -40 GT Uncore and GT Unslice), and it works without Secure Boot + S3 sleep.
> 
> Used https://github.com/Mattiwatti/EfiGuard/issues/2#issuecomment-478998015 to add UEFI entry for Loader.
> Files: https://drive.google.com/drive/folders/1EdZvptKrud9tCpU2L58V9NgugjTR41zz?usp=sharing


My voltage offset went back to zero after wake up from sleep. How did you get it to work with s3 sleep?


----------



## TwistedAndy (Jan 1, 2023)

I have this problem again. TS was working properly for a long time, but a week or two ago the voltage offsets are not applied for some reason:





Memory integrity is disabled, Hyper-V is also disabled. I've tried to disable the virtualization support in BIOS, but it also won't help.

Is there a way how to determine which process or driver blocks voltage offset registers?


----------



## unclewebb (Jan 2, 2023)

@TwistedAndy 

Have you done a BIOS update or a Windows update recently? If you have updated the BIOS then I would try to find and install the previous BIOS version.

I do not know what the latest trick Intel or Microsoft are using to disable CPU voltage control. Without access to the full Intel documentation and without any 12th Gen or newer hardware, I cannot come up with a fix for this problem. 

Try using Intel XTU. Maybe it has a magic setting that can unlock CPU voltage control.


----------



## TwistedAndy (Jan 2, 2023)

Thank you! I have found a temporary workaround by rolling back BIOS to 1.11.0. Now it works again 

I'm not completely sure if it is an issue with the BIOS by itself or some problems between my Windows setup and the BIOS. Anyway, I've created a thread on the Dell Support forum. Hope, they will fix that in the future BIOS updates.


----------



## chrcoluk (Jan 2, 2023)

Can you disable the virtualization protection inside the exploit settings on the per app settings?

Just randomly changing OS wide settings like virtualisation blindly for this is a bit heavy handed.


----------



## TwistedAndy (Jan 2, 2023)

Here's a quick update. Another person has updated the BIOS to 1.13.1 and had the same issues with undervolting. It looks like an issue with the new BIOS firmware.



chrcoluk said:


> Can you disable the virtualization protection inside the exploit settings on the per app settings?
> 
> Just randomly changing OS wide settings like virtualisation blindly for this is a bit heavy handed.



There are no issues with virtualization by itself, it does not directly affect the undervolting tweaks. Usually, those problems are related to things like VBS preventing changing some memory areas.


----------



## chrcoluk (Jan 4, 2023)

TwistedAndy said:


> Here's a quick update. Another person has updated the BIOS to 1.13.1 and had the same issues with undervolting. It looks like an issue with the new BIOS firmware.
> 
> 
> 
> There are no issues with virtualization by itself, it does not directly affect the undervolting tweaks. Usually, those problems are related to things like VBS preventing changing some memory areas.


VBS is virtualization.


----------



## TwistedAndy (Jan 4, 2023)

chrcoluk said:


> VBS is virtualization.



VBS is the Virtualization Based Security. It's not the virtualization support. If you disable VBS, other apps and features still can use virtualization.


----------



## chrcoluk (Jan 5, 2023)

TwistedAndy said:


> VBS is the Virtualization Based Security. It's not the virtualization support. If you disable VBS, other apps and features still can use virtualization.


Wow its so easy to be misinterpreted.

Ok in dummy speak, VBS uses virtualization to function.


----------

