[Guide] How to take full control of the i7-8750H (Advanced version)

Discussion in 'MSI' started by hackness, Sep 19, 2018.

  1. hackness

    hackness Notebook Virtuoso

    Likes Received:
    Trophy Points:
    [Guide] How to take full control of the i7-8750H (Advanced version)

    @unclewebb @Falkentyne @raz8020

    Greetings fellow members,

    If you are looking for full control in Windows over the C-state and the multiplier in the Turbo boost mode and also to let the Speedshift run correctly, then this guide is for you.

    Firstly, you'll need to download ThrottleStop to perform the steps in this guide.

    Secondly, you need to unlock your BIOS, if you are coming from other brands, you may need to look for a way to unlock it. These are the items you need to have access to in your BIOS:

    Intel (R) Speed Shift Technology
    Software Guard Extension (SGX)
    CPU Flex Ratio Override
    CPU Flex Ratio Settings
    CFG Lock in the View/Configure CPU Lock Option page.


    For MSI users, it’ll be much easier and safer, there’s a key combination to unlock the BIOS.

    Please use this key combination with extra care and at your own risk, some of the settings inside can get your laptop bricked. So if you don't have anyway to perform full CMOS reset, just don't touch anything you don't know, and most importantly, never touch anything related to "Internal graphic" "SG" "Muxless" "Undervolt" "Primary Display""Output Policy", if you go too far undervolting in the BIOS and caused the CPU to crash upon powered on and you don't have anyway to perform full CMOS clear, SPI programming or RMA is your only option. So if any of those happen, it is a brick for sure!!

    Be very careful with the MSI GS65, because this laptop does not have any way to perform full CMOS clear, even pulling the BIOS battery won't do it, at most it only resets the RAM settings back to default, and this is 100% confirmed.

    The combination is: Once you are in the BIOS, Hold Left Alt + Right Ctrl + Right Shift and then press F2.

    I'm not responsible to any bricking or anything that caused damage to your laptop, use this guide at your own risk!


    ====Chapter 1: The ability to set the C-state in Windows====

    This mod requires BIOS modding.

    Go to BIOS > Advanced > Power & Performance > CPU – Power Management Control > View/Configure CPU Lock Options

    Set CFG Lock to Disabled.

    Now, go into ThrottleStop, you’ll find the C state is no longer locked and can be change as desired.

    In my case I use C3 for plugged-in Mode and C8 for Battery mode.

    ====End of Chapter 1====

    ====Chapter2: Unlock the minimum multiplier down to 8 in the Turbo Ratio Limits====

    This mod requires BIOS modding.

    The lowest multiplier forced in the GS65 is x11, but this mod can get you past that, to go down to as low as x8.

    Go to BIOS > Advanced > CPU Information

    Set CPU Flex Ratio Override to Enabled.
    Set CPU Flex Ratio Settings to 8.

    Load Windows and load ThrottleStop

    Now, go into ThrottleStop, you’ll find the minimum value you can go down to in the Turbo Ratio Limit in FIVR is no longer locked to 22 and can go down to 8, please set them as you desired.

    Just remember to turn on Turbo Boost to control the multipliers.

    If you run Firestrike you may find the MHz of your CPU detected by the Futuremark spec tool shows 800MHz. But that is not a problem.

    In my case, I set 10, 10, 10, 9, 9, 8 in FIVR for the Battery mode, but to use these multipliers correctly, you’ll need to enable core parking for that, which is disabled by default in Windows 10, we’ll talk about it later in chapter 3.

    You can do some silly multipliers, like 41, 41, 25, 20, 10, 8, it is all up to you.

    Please note that it won’t go lowered than x8 even if you forced it in the BIOS.

    Please note that even-though the multipliers you have set are well below the Non-Turbo limit, you still need Turbo to be enable to work those multipliers.

    No 4 Battery mode.PNG

    ====End of Chapter 2====

    ====Chapter 3: Enable Core Parking====

    This mod does not require BIOS modding.

    Open Regedit and go to:


    And set Attribute to 2.

    Now, close the regedit and go to Power Option > Go to your Power Plan > Advanced Power Option > Processor Power Management

    Set “Processor performance core parking min cores” to 0%.

    Now you should able to see that the multiplier can to go up to the higher multiplier you set in the FIVR when some of the core usage goes as low as 0.1 in ThrottleStop.

    What this does is to allow the CPU to shut off the cores when not needed, and this also triggers the function of Less core active leads to higher MHz.

    This is especially useful in the Battery mode, let’s say you want to set x8 when 6 cores are in use and x16 when 3 cores are in use or x40 when 3 cores are in use (Just for the fun), this makes it become possible and highly flexible.

    ====End of Chapter 3====

    ====Chapter 4: Make the way the Speed Shift to work as it should be ====

    This mod does not require BIOS modding.

    Many of you already know that you can set the EPP value in the ThrottleStop, but not many people know that Windows is also battling with the EPP value you set in ThrottleStop, it is because the Windows also has their own EPP, but it comes in %, however, instead of having them both battle each other, you just need to set both into the same setting, so no matter which side Wins, the CPU is still listening to the same value.

    But to do that, you must first get the Windows EPP option to show in the Power Option first, to do that, go to:


    And Set Attribute to 2.

    Now, go to Power Option > Go to your Power Plan > Advanced Power Option > Processor Power Management

    And you’ll see there’s a new option called “Processor energy performance preference policy”, the setting comes in %.

    Now you are wondering what does the % mean, it actually relates to the EPP in ThrottleStop but only comes in %, this is what I’ve posted before in the GS65 owner thread, the ratio table of Windows EPP vs ThrottleStop EPP:

    1% = 2
    2% = 5
    3% = 7
    4% = 10
    5% = 12
    6% = 15
    7% = 17
    8% = 20
    9% = 22
    10% = 25
    11% = 28
    12% = 30
    13% = 33
    14% = 35
    15% = 38
    16% = 40
    17% = 43
    18% = 45
    19% = 48
    20% = 51
    21% = 53
    22% = 56
    23% = 58
    24% = 61
    25% = 63
    26% = 66
    27% = 68
    28% = 71
    29% = 73
    30% = 76
    31% = 79
    32% = 81
    33% = 84
    34% = 86
    35% = 89
    36% = 91
    37% = 94
    38% = 96
    39% = 99
    40% = 102
    41% = 104
    42% = 107
    43% = 109
    44% = 112
    45% = 114
    46% = 117
    47% = 119
    48% = 122
    49% = 124
    50% = 127
    51% = 130
    52% = 132
    53% = 135
    54% = 137
    55% = 140
    56% = 142
    57% = 145
    58% = 147
    59% = 150
    60% = 153
    61% = 155
    62% = 158
    63% = 160
    64% = 163
    65% = 165
    66% = 168
    67% = 170
    68% = 173
    69% = 175
    70% = 178
    71% = 181
    72% = 183
    73% = 186
    74% = 188
    75% = 191
    76% = 193
    77% = 196
    78% = 198
    79% = 201
    80% = 204
    81% = 206
    82% = 209
    83% = 211
    84% = 214
    85% = 216
    86% = 219
    87% = 221
    88% = 224
    89% = 226
    90% = 229
    91% = 232
    92% = 234
    93% = 237
    94% = 239
    95% = 242
    96% = 244
    97% = 247
    98% = 249
    99% = 252
    100% = 255

    Every time you set a new value in the “Processor energy performance preference policy”, you’ll need to go to ThrottleStop to set the corresponding EPP value again.

    Currently, I’m using ThrottleStop EPP 63 (25% for Windows) for plugged-in mode and ThrottleStop EPP 127 (50% for Windows) for Battery mode.

    By the way, make sure you have ticked the “Enable Speed Shift when ThrottleStop starts”.

    And if you can, you can set Intel (R) Speed Shift Technology in the BIOS to enabled to have the SST enabled on start-up.

    ====End of Chapter 4====

    ====Chapter 5: Disable Software Guard Extension (SGX)====

    This mod requires BIOS modding.

    To disable SGX

    Go to BIOS > Advanced > CPU Information

    Set Software Guard Extension (SGX) to Disabled.

    ====End of Chapter 5====

    ====Chapter 6: Limiting the number of cores allowed to activate during Battery mode====

    This mod does not require BIOS modding

    This mod influences the wattage spent the most when you are constantly running app that utilizes 12 threads all the time but you don't need the application to run that smoothly.

    For best practice using it together with the chapters came before hand is suggested, namely the following mods:

    1. Chapter 1: The ability to set the C-state in Windows
    2. Chapter 2: Unlock the minimum multiplier down to 8 in the Turbo Ratio Limits
    3. Chapter 3: Enable Core Parking
    4. Chapter 4: Make the way the Speed Shift to work as it should be

    Firstly, once you are in Windows, open regedit and go to:


    Set Attribute to 2.

    Close Regedit.

    Open up Power Option, go into your power plan and click on Advanced power options.

    Scroll down to the CPU section and look for an option called Processor performance core parking max cores

    This option allows you to specify the maximum allowed unparked core, it comes in %, specific % might need to be set for this option to work, for 6 cores CPU, it'd be

    1. 84% for max 5 cores unparked.
    2. 70% for max 4 cores unparked.
    3. 50% for max 3 cores unparked
    4. 34% for max 2 cores unparked.
    5. 16% for max 1 core unparked.
    For 4 cores CPU it should be 75%, 50%, 25%.

    For 2 cores CPU it should be 50%.

    There's one small issue with this mod, let's say you want to only 4 cores to be unparked and 2 cores are parked, when the 4 cores are utilized, it'll be using the 5th core's multiplier.

    For example you have set up a multiplier group of x15, x14, x13, x12, x11, x10.

    And you have 4 cores unparked, in theory it should pick x12 because we are telling the OS to tell the CPU to utilize only 4 cores, but in the real situation it'd pick x11, reason being the 5th core isn't really fully parked, you'll still see single digit small CPU usage happening on the 5th core ( the 9th and 10th thread). So if you want to see x12 when 4 cores are running, you need to set the 5th core to be x12 as well. For example x15, x14, x13, x12, x12, x10.

    ====End of Chapter 6====
    Last edited: Feb 13, 2019
  2. Danishblunt

    Danishblunt Guest

    Aside from efficiency, does this improve performance?
    seanwee likes this.
  3. hackness

    hackness Notebook Virtuoso

    Likes Received:
    Trophy Points:
    Not for the programs that are using all the threads at once, but for programs that are running in fewer threads, there should be some improvements.
  4. Kers

    Kers Notebook Geek

    Likes Received:
    Trophy Points:
    Just wondering do you know if any settings in BIOS that can affect package C state besides the ones under cpu configuration?
  5. hackness

    hackness Notebook Virtuoso

    Likes Received:
    Trophy Points:
    The options I know that mess with the C state in the BIOS are the followings:
    1. CPU C state allows or prevents that CPU to go into C states when it is not 100% utilized.
    2. Package C states Limit allows you to designate that the deepest C state that the CPU can go to.
    3. CFG Lock allows or prevent changing the C state limit in your OS.
    4. C6DRAM allows or prevent DRAM contents to be moved to PRM memory when CPU is in C6 state.
    5. Native ASPM limits the C state to C3 and will not go deeper when set to Enabled, still, it'll show C8 in ThrottleStop, but you'll notice that except C2 and C3, all other C state are full time 0%, which means in practical the deepest C state is only C3.
  6. Kers

    Kers Notebook Geek

    Likes Received:
    Trophy Points:
    CPU C state can always go to C7 (max shown in TS). The BIOS setting is enabled by default.
    Package C states limit is auto by default. TS shows the limit as C10. Manually change the BIOS setting doesn't help.
    CFG Lock disabled let TS to control package C states limit but since it's already at C10 this doesn't help either.
    Can't find C6DRAM and Native ASPM in my BIOS. Could you please tell me where do you find it on your laptop?
    I think I saw something called ASPM support. Gotta check later.
    Also in the SATA menu, it sets my SSD as HDD and apaprently DEVSLP is disabled. Is it ok to enable it?
  7. Kers

    Kers Notebook Geek

    Likes Received:
    Trophy Points:
    Oh btw is there any tool that can check PCIe ASPM status?
  8. hackness

    hackness Notebook Virtuoso

    Likes Received:
    Trophy Points:
    The advantage of having the CFG Lock disabled is to give you access through ThrottleStop to switch between different C-state quickly using profile, you can use it in a situation for C1 for plugged-in and C7 for Battery, C1 has the shortest time to resume to C0 where the C7 takes longer, which also means performance is improved by giving up energy efficient.

    On the newer MSI machines, C6DRAM is usually placed under CPU information, and Native ASPM is usually placed under RC ACPI.

    ASPM support sounds something similar to the Native ASPM.

    DEVSLP stands for device sleep mode, it is like the PCI-E's L0s mode, usually you need to appoint when it enters into this mode, the range of action should cover only the route or also the device, in the case of dGPU, sometimes wrong choice could lead to BSOD when you are trying to wake the dGPU. The settings for SSD also have similar things, HIPM only has the route entered low power mode, where the DIPM has the device entered low power mode. I believe DEVSLP is to have the device entered sleep mode, probably something like PCI-E's L1 mode for less power consumption than L0s mode. What does it say in the description?

    I haven't come across that.
  9. undervolter0x0309

    undervolter0x0309 Notebook Consultant

    Likes Received:
    Trophy Points:
    thanks for this! This is golden.
    hackness likes this.
  10. AU4U

    AU4U Notebook Evangelist

    Likes Received:
    Trophy Points:
    "there’s a key combination to unlock the BIOS, but for this key combination please look in the forum"
    I looked.
    Then I came back here, reread the post and looked again.
    I used the search tool, couldn't find it then gave up.
    I have repeated this 5x now.........
    Can someone pm me the combination or a link to the post?!

Share This Page