Skip to content

Instantly share code, notes, and snippets.

@al3xtjames
Last active March 6, 2024 22:33
  • Star 24 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save al3xtjames/e78884e719d7d53fbbf7b752e5db36d1 to your computer and use it in GitHub Desktop.
Dell XPS 15 9560 (1.2.5) NVRAM edits
# Set Intel(R) Speed Shift Technology to Enabled
setup_var 0x4BC 0x1
# Set CFG Lock to Disabled
setup_var 0x4ED 0x0
# Set Above 4GB MMIO BIOS assignment to Enabled
# setup_var 0x79A 0x1
# Set EHCI Hand-off to Disabled
# setup_var 0x2 0x0
# Set XHCI Hand-off to Disabled
# setup_var 0x1B 0x0
# Set Low Power S0 Idle Capability to Enabled
setup_var 0x13 0x1
# Set DVMT Total Gfx Mem to MAX
# setup_var 0x796 0x3
# Set Overclocking Lock to Disabled
# setup_var 0x59C 0x0
# Set OverClocking Feature to Enabled
setup_var 0x65C 0x1
# Set XTU Interface to Enabled
setup_var 0x65D 0x1
# Set Core Voltage Offset Prefix to Negative
setup_var 0x664 0x1
# Set Core Voltage Offset to -120 mV
setup_var 0x662 0x78
# Set Uncore Voltage Offset Prefix to Negative
setup_var 0x865 0x1
# Set Uncore Voltage Offset to -100 mV
setup_var 0x863 0x64
# Set GT Voltage Offset Prefix to Negative
setup_var 0x86D 0x1
# Set GT Voltage Offset to -100 mV
setup_var 0x86B 0x64
# Set GT Unsliced Voltage Offset Prefix to Negative
setup_var 0x876 0x1
# Set GT Unsliced Voltage Offset to -100 mV
setup_var 0x874 0x64
# Set PCI Express Root Port 13 to Disabled
setup_var 0x95A 0x0
# DCI killed in recent BIOS version?
# chipsec -m chipsec.modules.common.debugenabled reports DCI Debug is disabled even after setting these
# Set Debug Interface to Enabled
# setup_var 0x59D 0x1
# Set Debug Interface Lock to Disabled
# setup_var 0x59E 0x0
# Set Direct Connect Interface to Enabled
# setup_var 0x59F 0x1
# Set DCI enable (HDCIEN) to Enabled
# setup_var 0x899 0x1
# Set TraceHub Enable Mode to Host Debugger
# setup_var 0xEAF 0x2
@LeLunZ
Copy link

LeLunZ commented Jan 7, 2022

Hey, could you help me a little bit? :)
what's the point in disabling the PCI Express Root Port 13?
And do you know why Overclocking Lock doesn't stay disabled? After each reboot it resets...

BIOS version 1.24.0

@al3xtjames
Copy link
Author

RP13 doesn't appear to be used, but disabling it is likely useless. No idea about Overclocking Lock, sorry.

@gasmonso
Copy link

gasmonso commented Feb 7, 2022

I'd love to use this information to patch my bios do I can undervolt my 9560. But how do I use this to achieve that? Is there some sort of guide, or at least a clue? Thanks!!

@LeLunZ
Copy link

LeLunZ commented Feb 7, 2022

@gasmonso the variables got extracted from the BIOS.

You can apply these settings above with setup_var https://github.com/datasone/grub-mod-setup_var

put it on a usb drive and set modGrubShell.efi as boot option.

But be aware you can brick your system.

@gasmonso
Copy link

gasmonso commented Feb 7, 2022

@LeLunZ Thank you so much! I can't wait to try it out.

@gasmonso
Copy link

gasmonso commented Mar 7, 2022

Has anyone had any success with the latest BIOS version 1.24.0?? I've only gotten the Speed Shift working. I'd like to get the XTU interface working so I can use that to undervolt, but nothing seems to work.

If you have gotten things working please share what you did. I tried downgrading the BIOS and that didn't work.

@LeLunZ
Copy link

LeLunZ commented Mar 7, 2022

@gasmonso yes. I had success. Try „reset to factory settings“ in the bios menu once. And then try again.

But set the undervolt through these offsets! That’s simpler than xtu.

@philadawson
Copy link

Thanks for this! A question on the GT Unsliced:

System is an XPS 15 9560, Bios 1.24.0, using setup_var_vs with the same IDs as above.

  • when reviewing the undervolts in hwinfo or throttlestop I see:
    CPU Core -0.125v
    Intel GPU -0.0996v
    CPU Cache -0.125v
    IGPU Unslice +0.00v
    System Agent -0.125v

Any idea why the IGPU Unslice is not showing as being set equal to the Intel GPU (-0.100v)?

@VGerris
Copy link

VGerris commented Nov 29, 2022

Still works for 1.30 BIOS for Precision 5520 , thank you. Needed factory defaults before it worked

@PeaceDont
Copy link

@philadawson All same here.

Actually without this real IGPU Unslice whole IGPU didn’t undervolt at all!
I manage to change it via throttlestop and it worked, but only before reboot.

GT Unsliced didn’t change any voltage, or change something other thing that I cannot see.

Maybe Dell broke it after some bios update?

@FPSUsername
Copy link

FPSUsername commented Jun 29, 2023

I'm trying to clean the ME region, as my laptop boots super slowly (see this).

I followed the rabbit hole down to figuring out the setup_var commands in order to unlock whatever I need to unlock (see this), but so far no luck finding these variables.

I extracted the BIOS with BIOSUtilities and went on from there. Any idea where I should be looking at?

Edit: I believe I found it by extracting the body of Setup/PE32 image section

0x399AA 		One Of: Me FW Image Re-Flash, VarStoreInfo (VarOffset/VarName): 0x68A, VarStore: 0x1, QuestionId: 0x2BF, Size: 1, Min: 0x0, Max 0x1, Step: 0x0 {05 91 3B 10 3C 10 BF 02 01 00 8A 06 10 10 00 01 00}
0x399BB 			One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 04 00 30 00 00}
0x399C2 			One Of Option: Enabled, Value (8 bit): 0x1 {09 07 03 00 00 00 01}
# Set Me FW Image Re-Flash to Enabled
setup_var 0x68A 0x01
# Set Me FW Image Re-Flash to Disabled
setup_var 0x68A 0x00

@FPSUsername
Copy link

Unfortunately the bit is reset upon reboot. The only way would be via SPI flash with physical access to the chip using a programmer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment