Enable undervolting on your Dell XPS 9500/9700 (or others)

Discussion in 'Dell XPS and Studio XPS' started by custom90gt, Feb 2, 2021.

  1. custom90gt

    custom90gt Doc Mod Super Moderator

    Reputations:
    7,753
    Messages:
    3,747
    Likes Received:
    4,309
    Trophy Points:
    331
    Dell's lack of undervolting on their recent XPS systems is super annoying but thankfully on their 10th Gen stuff there is a way around it. I've tested this on my 9500 and 9700 and it worked like a champ. It does NOT work on 11th gen CPUs, I've tried it on my 9310 2-in-1 but Intel has blocked it.

    This quick tutorial is something you use at your own risk. Neither myself or NBR is responsible if you mess something up, it doesn't work for you, or anything else happens. I cannot take full credit for this, I found this page which helped me tremendously.

    It has been suggested that these variables can change with different bioses, and that's possible. It's also possible that Dell with enable undervolting on their own, but not likely. Having said that these flags have been tested and are working on:
    Dell XPS 9700 Bioses: 1.04, 1.06, 1.32, 1.5.0, and 1.6.3
    Dell XPS 9500 Bioses: 1.4.0, 1.6.1

    I will update my Dell XPS 9500 to ensure support but sadly I no longer have a 9700 to test on.

    If you don't have one of the bioses above or you want to upgrade your bios and it hasn't been tested please view the guide found here.

    Click the spoiler below to learn how to enable undervolting on your XPS 9500/9700.

    Create a EFI USB Boot Drive
    1. Download the grubx64.efi file from v1.0 alpha release available here.
    2. Get (or format) a blank FAT32 flash drive.
    3. Create a folder called EFI. Within this EFI folder, create a folder called Boot.
    4. Place the grubx64.efi folder above into the EFI/Boot folder path.
    5. 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!

    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. To do so simply go into the bios with F2 and under the boot options there should be a Secure Boot mode, set that to disable. After that leave your USB drive in and hit F12 to select your USB drive to boot from.

    Edit EFI Variables of Interest (again after verifying they are the CORRECT variables):
    Once in the EFI shell simply type (without the quotations):
    "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.

    Now you can actually use throttle stop to undervolt!
     
    Last edited: Feb 3, 2021
  2. maffle

    maffle Notebook Evangelist

    Reputations:
    160
    Messages:
    529
    Likes Received:
    477
    Trophy Points:
    76
    Erm, I am honestly a bit confused about your post on here. This was already discussed several times about a year ago, I also posted the links several times on the 9570 post and you mostly seen it. Example here:

    https://www.reddit.com/r/Dell/comments/fzv599/xps_7590_160_uefi_unlock_undervolting_and_remove/

    It works for all Dell laptops obviously. Also what you said is not 100% safe. It assumes specific cvars which is NOT SAFE. Because they can and will change with newer bios versions and are just SAFE to use for a specific bios version. I've seen the cvars change in some of the bios updates of the 9570.

    The most secure way to do this, is to download a specific bios version for your model from Dell, and then use some tools (the article you posted discusses this Ive seen right now), to export the cvars from the bios file, and check before doing this.

    You can use this python script to decompress a dell bios file:

    https://github.com/platomav/BIOSUtilities/blob/master/Dell PFS BIOS Extractor/Dell_PFS_Extract.py

    The extracted content should then look like this:

    [​IMG]
    You then have to use some tool (have to see where I find it, cant find it right now), to extract the cvars from the bios file, looking something like this:

    [​IMG]

    And check the flags for the settings you want to set, in this example force S3 for example. You can basically set every imaginable setting this way, Dell has hidden and the bios would allow to set, like undervolt on/off too.

    Some settings are not able to change this way though, mostly because the firmware overwrites them with some default values after each init phase.

    For the 9570 regarding overclocking it looks for example like this:

    [​IMG]

    And the right cvars for bios version 1.16.2 are 0x659 and 0x5BD.

    You have to check these first for each model and each bios. Might happen, with a newer bios version, they change.
     
    Last edited: Feb 2, 2021
    pressing likes this.
  3. custom90gt

    custom90gt Doc Mod Super Moderator

    Reputations:
    7,753
    Messages:
    3,747
    Likes Received:
    4,309
    Trophy Points:
    331
    Why are you confused by my post?

    This is applicable to the 9500 and 9700, no need to extract the bios, I've already done that. Your variables DO NOT work on the 9500/9700 fyi, with any of the bios releases. Sure it could change but likely won't. If it does I'll update the thread.

    *on edit*
    I'll update the thread with the full guide in a spoiler and include the bios revisions this currently works on. I haven't seen these variables change yet, but who knows with Dell. I'll do the beta testing on new 9500 bioses but my 9700 has been returned to Dell.
     
    Last edited: Feb 2, 2021
    pressing likes this.
  4. maffle

    maffle Notebook Evangelist

    Reputations:
    160
    Messages:
    529
    Likes Received:
    477
    Trophy Points:
    76
    @custom90gt You didnt seem to understand what I said. The cvars are UNIQUE to a bios version. x<=>y<=>z bios version x connects to char y for setting z. What you said makes no sense. Maybe read what I said again above I edited my post a few times.

    For each new bios you want to flash / update, or for what version people have, you have to check the chars. You might have bios 1.2.3, others might have 1.2.4 and for 1.2.4 the char changed. THAT is what I said.

    And of course those chars I talked about where examples for the 9570, that is what I also said.

    Confused, because you seem to be new to this all, where it was all discussed before severals times, and you also read the discussion because you were owner of a 9570.
     
  5. custom90gt

    custom90gt Doc Mod Super Moderator

    Reputations:
    7,753
    Messages:
    3,747
    Likes Received:
    4,309
    Trophy Points:
    331
    No I'm not new to this but thanks for assuming. The vars haven't changed in any of the bios versions for the 9500 or 9700 (hint I looked at and tried them all). Also previous flags for the 9550 never changed in the million bioses they released at least for the things I was interested in. In the off chance they do change I'll post the guide. Perhaps you should re-read what I wrote...

    *On edit* maybe you're just trying to get credit for this? Rest assured I didn't use any of your posts for this or previous work such as with my 9550 or RB15.
     
    Spartan@HIDevolution likes this.
  6. maffle

    maffle Notebook Evangelist

    Reputations:
    160
    Messages:
    529
    Likes Received:
    477
    Trophy Points:
    76
    Seems you are new to this though. Youre coming one year too late. What you say is really naive though and childish. Cvars can change with new bios version, didnt say they will, just can, and are just save to assume for a specific version, and Ive seen them change, especially on the 9570 for Dell literally changed the entire bios with one version and lots of chars changed position. If you want to do this, check the cvars yourself for your bios version and/or for the next you will update. If not, there is a little rest risiko, that the cvars are different for different bios version. It's playing russian roulette if you dont check first.
     
  7. custom90gt

    custom90gt Doc Mod Super Moderator

    Reputations:
    7,753
    Messages:
    3,747
    Likes Received:
    4,309
    Trophy Points:
    331
    Cool, you've said your piece, insults and all. I haven't seen Vars change in the work I've done (working with IMON slope on the 9550 which btw was released in 2016), but noted that you've seen it. I've already put the caveat to it in the initial post.
     
    Spartan@HIDevolution likes this.
  8. custom90gt

    custom90gt Doc Mod Super Moderator

    Reputations:
    7,753
    Messages:
    3,747
    Likes Received:
    4,309
    Trophy Points:
    331
    Well I don't think I'll have time to re-create the wheel in showing how to find vars in future bioses or other bioses. Having said that, I've edited the first post a little to show that things can change in newer bioses. I'll update the 9500 bios release section and would appreciate if 9700 users commented on theirs.
     
  9. bobby313

    bobby313 Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    2
    Trophy Points:
    5
    This freaking worked! @mrcustom90gt I could kiss you! my Initial undervolt on the dell xps 9500 with bios 1.6.1 I did an UV of -90mv and I ran a complete run of intel xtu benchmark without thermal throttling - maintained 80C for a long while before 90W cpu spikes caused it to run into the 90's ... it ran at 4.5ghz without any throttling! Thank you so much!

    Undervolt trial 2 -125mv in throttlestop and fan speed still set to default by dell (fans barely spin up at all!) Max temp at 94C with 4.66ghz max processor frequency in intel xtu benchmark mode.
     
    Last edited: Apr 9, 2021 at 10:16 AM
    Papusan and custom90gt like this.
Loading...

Share This Page