[Guide] Improving Battery Life on Windows [+Enabling Deeper C States]

Discussion in 'Windows OS and Software' started by Che0063, Apr 14, 2018.

?

What was your increase in battery life after following this guide?

  1. None (decreased)

    16.2%
  2. 20%

    13.5%
  3. 40%

    29.7%
  4. 50% +

    40.5%
  1. maffle

    maffle Notebook Evangelist

    Reputations:
    160
    Messages:
    518
    Likes Received:
    465
    Trophy Points:
    76
    Just wanted to make a post about broken package c states. I kinda found out, that at least for my case, they seem to be 99% related to the Intel iGPU (driver). I had a good talk with @unclewebb about this, and he also had issues with his Intel iGPU on his desktop, and noticed, when playing around with the Intel GPU tool and toggle back and forth power settings, or disable the iGPU in device manager,the 0% package c states got resolved.

    This actually let me think, that my random broken package c states were also related to the Intel iGPU driver. I have actually random igfx crashes, which is the Intel GPU driver on my laptop, maybe happening 2-5 times per months or more. I just noticed by accident, that when it happened last time, it caused a 0% package c state for me, until Windows reboot. So I have the theory now, whenever or at least with high chance (cant proof so far it happens always), Windows 10 restarts the GPU driver after it crashed, it causes the c states to break.

    Either this is a bug with the Intel driver, or Windows 10 that it doesnt reset the driver 100% correctly when it reloads it.

    This actually all got to me, after I reported a bug I found a months ago in Chrome and reported it to the Chromium team. Actually I knew this bug existed over 1-2 years now, but I was always too lazy so far to report it. Here is the bug ticket:

    https://bugs.chromium.org/p/chromium/issues/detail?id=1107403

    Turned out, there is a bug in mostly every Intel iGPU gen6(or so I think starting from Broadwell) > <=gen9.5 which seem to be related to using swap chain for video decoding. Just read the bug ticket if youre interested in it.

    As I see it, it doesnt happen just in Chrome but every app which uses a swap chain for decoding, maybe even Windows 10 itself, and the driver doesnt seem to be stable when you push it with high memory change.

    You can actually fix this with a simple workaround for Chrome by starting Chrome with "--disable-features=DirectCompositionUseNV12DecodeSwapChain" and then check in chrome://gpu that it is disabled . Everyone using a laptop and having a <=UHD630 and using Chrome or Edge should do this until the workaround of disabling the swap chain gets live.

    I dont think that is true. What is reported is correct. As I see it, there is nearly no difference between c8 and c10 in idle when laptop is on, at least for me. Either 80% c8 or 30% c10 are kinda identical, for power drain. Also for me, C10 just works with laptop powered on, when I remove the power cable and am on battery.

    @unclewebb implemented a handy new feature in latest TS to debug c8 and c10 usage during modern standby and it will show the time it was in c8 and c10 for the last modern standby sleep.
     
    Last edited: Aug 29, 2020
    Che0063, unclewebb and Papusan like this.
  2. TJC64

    TJC64 Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    1
    Trophy Points:
    6
    Hello I just wanted to make my first post here saying that I finally got package c states working on my MSI GL62M (7700HQ 1050 TI). Previously it would only reach package c state 3 and now it’ll reach all the way up to package c state 8! It had always bothered me before that even enabling deeper c states in the bios it never went deeper then 3 but today I found out what was wrong. I went through device manager disabling devices and figured out after disabling my WiFi and Ethernet card it reached deeper c states at first I thought it was a driver issue. But eventually I enabled ASPM to auto on pcie root port 1 and 4 in the bios which were WiFi and Ethernet respectively and turned on L1.1 and L1.2. (Note Native ASPM also has to be enabled in ACPI settings, DMI Link ASPM control set to L1 in system agent/dmi configuration). Finally with all of this enabled in windows power options PCI Express/Link State Power Management set to maximum power savings will allow the computer to reach lower then c3 package.

    I haven’t done full battery benchmarks but the CPU hovers around .5W idling on battery with no devices plugged in and in Microsoft Word with a moderate brightness windows was estimating over 6 hours of battery which is fairly good as getting 4 hours previously used to be a good day.

    Also I’m running Windows 10 2004 with latest nvidia/intel graphics drivers since I saw people talking about that.
     
    Che0063 likes this.
  3. HeadHunter

    HeadHunter Notebook Consultant

    Reputations:
    1
    Messages:
    213
    Likes Received:
    4
    Trophy Points:
    31
    Now there is: https://www.reddit.com/r/AMDLaptops/comments/imgx7j/lenovo_slim_7_tweaking_guidereview/

    Looks like we can undervolt and do some other magic in the BIOS :)
     
  4. dampflokfreund

    dampflokfreund Notebook Enthusiast

    Reputations:
    0
    Messages:
    33
    Likes Received:
    2
    Trophy Points:
    16
    If I'm going to buy a Evo 970, what is the best for battery life:

    1. AHCI mode with Samsung NVMe drivers installed
    2. Intel RST mode
    3. AHCI mode with generic Microsoft drivers installed ?

    I read that Intel RST has some advanced power saving techniques not present in the AHCI mode. I have also heard the Samsung NVMe driver reduces battery life.

    So I guess Option 2 would be the best?
     

Share This Page