2021 Update: Based on post comments, the approach to unlock undervolting works for a number of models, including the XPS, Inspiron, G5, and other lines. If it works for you, please leave a comment below so others may know!
Disclaimer: Changing voltages or editing BIOS settings not surfaced by your laptop manufacturer is risky and thus I give no guarantees or warranties that any of this will work well for you. This is merely a recap of my own experiences with making my Vostro 7500 run faster!
In July 2020 there was a deal-stacking slick deal on Dell’s new Vostro 7500 laptop with the Intel 10750H processor, so I went for it. But as hot as the deal was, it turned out the laptop runs even hotter. HWiNFO showed that the that the CPU package and cores quickly hit 100C, and the CPU thermal throttled upon opening pretty much any application. And unlike Intel laptops of the past, many in 2020, including the XPS, Vostro, and Inspiron, have undervolting disabled by default due to the Plundervolt vulnerability.
But I discovered there are a few ways to keep the laptop cooler, including the ability to unlock undervolting for the Comet Lake 10750H processor (skip to this section for this) without needing to flash a modded BIOS. The following steps allowed me to double my battery life, drop my idle temps by 20°C, and improve my FPS, in reversible ways that shouldn’t void the warranty, and most apply to other 2020 Dell models like the XPS and Inspiron as well:
- Easy BIOS Changes
- Enable Advanced Windows Power Plan Options
- Initial Throttlestop Tweaks
- Disable Unneeded Startup Processes with Autoruns
- Undervolt your NVIDIA GPU with Afterburner
- Enable CPU Undervolting by Toggling Hidden BIOS Options
- Manually Set Fan Speed with HWiNFO
- Miscellaneous Vostro 7500 Learnings
Easy BIOS Changes
The fans rarely kicked on in my laptop even with temps above 70C, and I found out that the BIOS defaulted to an option where fans were a bit quieter/less aggressive. If you enter the laptop BIOS and navigate/search for Thermal Management, you’ll see a “Ultra Performance” setting which allows the fans to be a bit louder / run more often. I switched my Thermal Management plan to Ultra Performance and it seemed to help a bit.
And while you have the BIOS open you might consider changing a few other options:
- EcoPower Mode (Disabling this stops your screen brightness from changing on its own and allows your own brightness setting to stick.)
- Lid Switch (disabling it prevents the computer from turning on/off automatically when opening/closing the lid, which is annoying)
Enable Advanced Windows Power Plan Options
- Type “regedit” in the taskbar Search field & open Registry Editor
- Go to the folder HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power
- Set the CsEnabled value to 0 (change it from 1 to 0)
After a system restart, you will have extra options to choose from when you go to the Power Options area in the Control Panel:
I have had a good experience with the Ultra Performance plan, with some settings customized. If you click “Change plan settings” you can further tweak your power profile. If you want to have even more tweak-able options, you can use more Registry edits to unlock additional power savings settings within the “Change plan settings” menu as well.
Initial Throttlestop Tweaks
Throttlestop is a free program that allows adjustments to processor-level settings not visible in the BIOS and Windows options. You can make multiple profiles which is great: I have a battery-optimized profile and a performance-optimized profile which are automatically applied based on if my charger is plugged in or not. Here are some Throttlestop suggestions for maximum battery life:
- Speedstep/C1E/Power Saver: turn these on
- Speedshift – EPP: set to a high number like 255 for maximum battery life, pick a lower number for maximum performance.
- Disable Turbo: turn on for maximum battery life; won’t let your computer achieve higher clockspeeds but 6 cores at 2.6ghz tends to be more than enough for the things I do on-the-go.
- BD PROCHOT – always keep this on so your computer won’t reach too hot a temperature!
- PROCHOT OFFSET (Under Options) – My Dell Vostro thermal throttles when it hits 100C, but at this point my laptop is hot to the touch. Setting this offset to 10 for me had my computer instead throttle at 90C. The CPU won’t hit as fast speeds but it keeps my laptop more comfortable to use and keeps the laptop speed down.
- Turbo Boost Power Limits (Under TPL) – the maximum wattage your CPU can hit. I set my Long Power Max and Short Power Max values to a much more conservative 35w/40w. (Clamp forces the processor to abide by these limits even if it has to throttle itself.)
- Speedshift Max Ratio – Changing this from 50 to 40 should keep your CPU from trying to hit too high clock speeds. If you set conservative power limits, you probably don’t need to worry about this since your power limit will also prevent higher ratios from being reached.
- Enable Speed Shift when ThrottleStop starts – turned this on because I always want the above option to be utilized.
The most fun/useful Throttlestop options are under the FIVR menu, but are locked by default on most new Dell laptops. I’ll discuss later on how to unlock this menu so you can undervolt your CPU, but be warned it takes a lot of effort to do (but definitely worth it if you have the willpower!)
Here is what my battery-optimized Throttlestop profile looks like (note some options are redundant, certain SpeedShift levels won’t be reached if Turbo is off anyway, Clock Modulation doesn’t do anything for new CPUs, but this works for me!)
Here’s what my performance-optimized profile looks like (note that the TPL options are profile agnostic. For more performance, my power limits and Speedshift max profile could probably be higher, but I’d rather keep my CPU cooler):
Another thing to look at in Throttlestop is your processor’s C-states. Clicking the C10 button opens a window to show you how often your processor is entering certain processor states. Ideally when you are idling, you should have your CPU package enter the C10 state at least some of the time so your CPU wattage is as low as possible / your battery life will be longer. Certain programs, drivers, or processes can sometimes prevent this from happening, and if your CPU never enters a C10 state, updating drivers or removing startup processes can sometimes help fix this.
Disable Unneeded Startup Processes with Autoruns
The less processes running on your computer, the longer your battery life. Especially if any of those processes are preventing your CPU from entering a more power-efficient C-State, as mentioned above. Autoruns is a great Microsoft tool to quickly disable processes you don’t have a need for.
Download and extract the tool, right-click Autoruns64.exe, and run as Administrator. Uncheck any/all processes you know you don’t need, which for me included a whole lot of pre-loaded Dell tools. You can be more aggressive and disable all of the things, but you’ll probably end up needing to re-enable some of them for things like your sound or brightness hotkeys to work properly.
Undervolt Your NVIDIA GPU with Afterburner
The Dell Vostro 7500 has a dedicated GeForce GTX 1650 Ti card, which allows for gaming at moderate settings. However, it also generates a lot of heat which quickly affects the CPU temperature as well. While there’s no way to reduce the power limit or set a voltage offset for a dedicated GPU on many Dell Laptops, you can still undervolt the GPU by setting a custom voltage/frequency curve.
MSI Afterburner is probably the most popular tool to tweak graphics card settings including frequency/voltage curves. When you open the app and select your dedicated graphics card, you can hit Ctrl+F to open the frequency/voltage curve, which for me, looks like this by default:
You can look at the frequency (Y axis) and voltage (X axis) to see that this default curve has the GPU hitting a max frequency of 1875mhz at 1.04v. But for me, this generates lots of heat that ends up generating heat that makes my CPU throttle sooner. So I edited my GPU voltage curve to look like this:
With this flat voltage curve, my GPU won’t ever hit a clock speed above 1455mhz, but it will also stay at a steady voltage around 0.7v. This keeps my GPU and CPU much cooler when gaming. It’s kind of counter-intuitive, but limiting my GPU to a lower max frequency can give me higher FPS in CPU-bound games as decreased heat from the GPU means my CPU doesn’t thermal throttle until much higher clock speeds.
There’s one big caveat about undervolting your GPU this way though: in my experience MSI Afterburner is among the processes that can prevent your CPU from entering lower C-States. Which means if you are not gaming, this can end up hurting your battery life. I thus don’t have MSI Afterburner open at startup and simply open it up/apply undervolting before I open a game. This might not be the case for everyone, but Afterburner potentially affecting CPU C-States and battery life detrimentally is something to be aware of, as it’s been reported by others as well.
Edit EFI Variables to Enable CPU Undervolting
The most effective way to reduce the heat and improve battery life is to undervolt the CPU. These options are disabled by default in Throttlestop and Intel Extreme Tuning Utility (XTU) in most Comet Lake laptops because of Plundervolt. It takes a number of steps and tools, and is not for the faint of heart, but there is a way to unlock undervolting in 2020 Dell laptops. The following steps in 2020 work for, at the very least, my Dell Vostro 7500, someone else’s G7 7700 (h/t to this poster who helped me find the right setup_var tool to use), and likely many other Dell models. This is the most technically complicated part, and I’m not responsible for any inadvertent damage done by trying the following steps. What follows is a step-by-step breakdown of what worked for me, and it may not work for you.
Step 1: Dump a copy of your BIOS.
Download HWiNFO to see which version of Intel Manageability Engine your computer is using (it is listed under Motherboard > Intel ME)
Based on the version of Intel ME you are using, download the proper version of Intel ME System Tools listed here under header C2.
Unzip the Intel (CS)ME System Tools folder, and open up a command line/Powershell shell terminal window as an Administrator and navigate to the location of the “Flash Programming Tool” folder in the directory you unzipped, by changing directory with a command like the below:
cd "C:\Users\<username>\Downloads\Intel CSME System Tools v14.0.11- r1\Flash Programming Tool\WIN64"
Once in the FPT folder, run the below command to dump your current computer’s BIOS to your PC (don’t forget the -bios part, and definitely don’t type something other than -d by accident, this tool can be dangerous if used improperly!):
FTPW64.exe -d "bios_dump.rom" -bios
Step 2. Extract Your System’s Setup Settings with UEFITool
With the above BIOS dump in hand, it is now time to use UEFITool to search for the settings we care about, specifically the Overclocking. Download, extract, and open the Windows app, and use the tool to open the BIOS dump we generated above (File…Open Image File)
Once the BIOS image is opened, do a search (Ctrl+F) on the Text (not Hex Pattern or GUID) for “Overclocking Lock”. You should find one match, within the BIOS section of interest (“Setup”)
Right click on the parent File that matched your search (e.g., Click the row that has the Text “Setup”) and click “Extract as is.” Save this .ffs file somewhere, we’ll need it for the next step!
Step 3. Get a Human Readable Version of Your BIOS Setup Settings with IFR Extractor
The file we just extracted contains all of the toggle-able options your computer BIOS has, many of which Dell hides by default. We will need one more tool to get a human-readable version of these options, which is LongSoft’s version of IFR Extractor. (Older versions of IFR Extractor do not provide the location of the EFI variables you need to edit, but this one does.) Windows warned me the file might be unsafe, but I had no problems with it; for those who want to do due diligence, the repo/source code is here.)
Simply open IFR Extractor, point it to the .ffs you extracted in Step 2, and click extract. It will prompt you to save a .txt version of the file somewhere. You now a nice, human-readable text file that includes all the possible options you can change. Time to open it!
Step 4. Find BIOS Setup Options of Interest
When you open the IFR extracted text file, you’ll see pages and pages of BIOS settings as well as the location of these settings variables (variables are accessed at a given VarOffset within a given VarStore) in your NVRAM. In simpler times, most BIOS options you wanted to edit were conveniently stored in a single Setup VarStore, but now they are spread across multiple VarStores, which makes things trickier.
Before we go further, it’s important to note that lots of these settings, if enabled or edited, can cause problems. I learned this when trying to force my Vostro 7500 to run a 32GB stick at its rated XMP timings which soft bricked my laptop. It refused to boot until I removed both the laptop battery and CMOS battery, which reset the NVRAM. So while there are lots of seems-cool features listed in the BIOS, it doesn’t mean they’re all going to work properly for you. Just because you can set a insanely high or low voltage offset for your CPU, doesn’t mean it won’t fry your CPU or cause it to be too unstable to boot.
That said, there are many settings which, for most Dell laptops, may not cause any issues, and can allow you to do things like undervolt. For my Dell Vostro 7500, I scrolled through the text file output by IFR Extractor and found two BIOS settings of interest (pictured below). Disabling each of them allowed me to undervolt my CPU with either Throttlestop or Intel Extreme Tuning Utility (XTU), with no ill-effects.
Overclocking Lock – This option is stored at VarOffset 0xDA within VarStore 0x3. If this variable is set to 0x0, the lock is disabled. If it is set to the default 0x1, it is enabled. A overclocking lock doesn’t just prevent you from making your CPU run faster, it also prevents you from changing your voltages, including undervolting.
CFG Lock – This option is stored at VarOffset 0x3E within VarStore 0x3. If this variable is set to 0x0, the lock is disabled. If it is set to the default 0x1, it is enabled. I’m unsure if you need to disable this for undervolting, but I did disable it in case I wanted to try the Hackintosh route in the future.
The VarStore that contains the Overclocking and CFG locks on my Vostro 7500 has VarStoreId 0x3. But we need the VarStore name. A Control+F reveals this: VarStoreId 0x3 has the name CpuSetup.
We now know everything we need to move on to the next step:
- Both the Overclocking Lock and CFG Lock options are stored in the CpuSetup VarStore.
- To disable the Overclocking Lock, we need to set VarOffset 0xDA to 0x0 (replace 0xDA with the VarOffset you see for Overclocking Lock on your own machine, as it may not be the same as mine!)
- To disable the CFG Lock, we need to set VarOffset 0x3E to 0x0 (replace 0x3E with the VarOffset for CFG Lock you see on your own machine, as it may not be the same as mine!)
Step 5. Prepare a EFI USB Boot Drive
We now will prepare a special USB flash drive that will allow us to set the above “lock” variables to 0x0. For readers who have used setup_var to modify EFI variables before, note that I am using a newer, special version of setup_var someone made that allows users to modify variables at a specific VarStore name. Using the older, more popular setup_var command that’s hardcoded to look at the VarStore named Setup won’t work here!
- Download the grubx64.efi file from v1.0 alpha release available here.
- Get (or format) a blank FAT32 flash drive.
- Create a folder called EFI. Within this EFI folder, create a folder called Boot.
- Place the grubx64.efi folder above into the EFI/Boot folder path.
- Rename grubx64.efi to bootx64.efi.
You should now have a flash drive with one file, bootx64.efi, located in the path X:/EFI/Boot (where X is your flash drive’s drive letter.) Time to boot it!
Step 6. Disable Secure Boot in BIOS and Boot Prepared EFI USB Drive
Before your computer can boot the EFI flash drive, you will have to disable the Secure Boot option in your BIOS. Then you can access the Boot Menu and select your flash drive to boot into a modified GRUB terminal. You should now have the ability to execute the command “setup_var” to read and edit settings of interest, which are stored as EFI variables.
Before you attempt to modify the values of our EFI variables, you should check that the variables identified above (Overclocking Lock and CFG Lock) are able to be read and are set to 0x1 as we expect them to be. It is always good to first test reading the variables before writing them!
You can use the setup_var command along with the VarStore and VarOffset values associated with your BIOS CFG Lock and Overclocking Locks to read their current values:
setup_var [VarStore] [VarOffset]
For my Dell Vostro 7500, this returned my Overclocking Lock value:
setup_var CpuSetup 0xDA
Step 7. Edit EFI Variables of Interest
After you confirm you can read the CFG Lock and Overclocking Lock EFI variables, you can attempt to change them to a value of 0x0 to disable them with this usage of setup_var:
setup_var [VarStore] [VarOffset] [Value]
For my Dell Vostro 7500, the following commands disabled my Overclocking Lock and CFG Lock:
setup_var CpuSetup 0xDA 0x0
setup_var CpuSetup 0x3E 0x0
Once you change the variables, you can simply unplug your flash drive, reboot, re-enable SecureBoot, and boot back into Windows. Everything should seem the safe as it was before, except now you can change CPU voltages in Throttlestop or XTU!
Part 8. Use the Newly Enabled Throttlestop FIVR Control to Undervolt Your CPU
Now that the Overclocking Lock is disabled, voltage changes in Throttlestop will actually work. Install and open Throttlestop and look for the “FIVR” button towards the bottom middle of the Throttlestop window. Clicking it should open the below screen:
You can now change the voltage offsets of your CPU. As always, undervolting your CPU can cause instability and crashes, and undervolting is rarely a good idea in a laptop. For my Dell Vostro 7500, I was able to have a stable system with a CPU/Cache undervolt of -0.100V and a GPU/System Agent Undervolt of -.0500V. The ideal values for you will probably differ, and if you are new to undervolting I extremely recommend reading through this great Throttlestop guide before touching any voltage controls.
Once you find the optimal undervoltage settings for your processor, you might find it handy to have Throttlestop open/apply the settings at startup so you can always have better battery life and lower temperatures. Here’s a guide on how to get that set up.
Manually Set Fan Speed with HWiNFO
If you find your fan isn’t running as aggressively as you’d like and you’re trying to run benchmarks or otherwise want the fan kicking into full gear for an extended period of time, you can manually set the fan speed with HWiNFO.
Launch HWiNFO and click the “Sensors” button towards the top of the window. You may first be met with a warning screen, but afterwards you should see this window:
If you click the fan Icon next to the arrows in the bottom left, you should get access to fan control for your laptop fans:
Note the scary warning at top, this is also a step that can end poorly if you run your fans harder than they’re meant to run. But for me, I was able to set Fan 1 and Fan 2 speed manually, and/or adjust the respin period to a more aggressive 100ms so the fans kicked on much more quickly.
Miscellaneous Vostro 7500 Learnings
Here are some other things I wish I knew about the Vostro 7500 before getting it:
40GB RAM Possible
The official Dell documentation suggests that the maximum supported RAM capacity is 24GB. This is not the case, as I put a 32GB HyperX Impact 2933 SODIMM into the RAM slot and my system sees the full 40GB of RAM. One caveat is that the RAM runs at a lower speed: 2666 instead of 2933.
This blog post that looked at a similar 10750H laptop suggests a negligible difference in performance differences between 2666 and 2933 RAM speeds, even when RAM timings were the same. My RAM running at 2666 has much tighter timings than my 2933 RAM, so the overall RAM increase to 40GB is definitely going to help my performance even if my RAM runs a little slower.
DP1.2 Limits Potential of USB-C Hubs
Thunderbolt 3 gives the Vostro 7500 an edge: it enables the use of eGPUs and super fast external drives. But one downside is the DisplayPort spec on the Vostro 7500 is 1.2, not 1.4. This limits your ability to drive 4K video at 60Hz to multiple displays, and will prevent you from taking full advantage of USB-C hubs that rely on DP1.4 for pushing multiple displays at higher resolutions and refresh rates. Still better than a normal USB-C port though!
Anyway, I hope this was helpful to those in the same boat as me who wanted more battery and less heat out of their new Dell laptops. Please post any questions, ideas, or other findings/comments on the Vostro 7500 in the comments below. Cheers!