Macbook Pro Retina: Make battery life in Windows 10 Bootcamp comparable to OS X

Discussion in 'Hardware Components and Aftermarket Upgrades' started by tqbinh, Jul 1, 2016.

Thread Status:
Not open for further replies.
  1. tqbinh

    tqbinh Notebook Enthusiast

    Reputations:
    92
    Messages:
    44
    Likes Received:
    32
    Trophy Points:
    26
    1. Introduction
    I am the author of several topics here on moding and optimization of IBM/Lenovo T60/T61 frankenpad. One of my topics is “Enable ASPM in T61 running Windows for saving ~2W of power consumption” in 2011 year.
    However, in recent years I was hidden from the forums due to no time for my computer hobby. In that time, I was switched from the Thinkpad brand because I think new design of Lenovo is so ugly and my eyes can not accept the 16:9 screen aspect ratio. Now I’m using Macbook Pro Retina 13.3” (ME866 – a late 2013 model) and Surface Pro 3. After 6 month in OS X, I find it as an functionality limited and slow user interface operating system, suitable just for listen music and web browsing, but not for work. However, I do appreciate the hardware quality and 16:10 screen aspect ratio of Macbook (still, I prefer 3:2 or 4:3 ones), and therefore keep it and run Windows 10 64 bit via Bootcamp on it.
    The Windows OS runs well on Macbook hardware with one caveat: the battery life, due Apple’s un-optimized bootcamp driver set for Windows. In OS X, I have 11-13 hours of light office use, but in Windows, I can get only 8-9 hours. Using my previous “knowledge and skill” with Thinkpad, I started to do research and make some hardware modifications to make battery life in Windows of about 11-12 hours per charge.
    All power mesurement in my research was done by using Battery Bar software (BB, a free version is available on internet). On caveat that BB reports amperage value instead of wattage. Because the battery voltage of Macbook is 11-12V, multiply the value showed by BB by coefficient of 1,1-1,2 will give you estimated power consumption. In this post, all power numbers are without correction by the above coefficient.

    2. Using Intel Battery Life Analyzer (BLA) to identify some problem

    I downloaded the BLA from internet (you can google for it) and because it is an old (2013) version, so you will get an error saying that it expired. The workaround is to change your system time to a date of 2013 year and run BLA as Administrator.
    BLA show that my Macbook has two major problems: the Face Time front camera doesn’t have ASPM enabled, and the SD Card Reader has USB Selective Suspend disabled. The solutions are below.

    3. Enable ASPM for Face Time front camera via registry to save 0.5W
    ASPM is an acronym for the power management of PCI/PCI-e devices.
    To enable ASPM, run RegEdit (Registry Editor) and go to key:
    Code:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_14E4&DEV_1570&SUBSYS_157014E4&REV_00\000000FFFF00000000\Device Parameters\e5b3b5ac-9725-4f78-963f-03dfb1d828c7]
    You will see there a key
    Code:
    "ASPMOptOut"=dword:00000001
    Rename it to ASPMOptIn and make sure it value is 1 like below:
    Code:
    "ASPMOptIn"=dword:00000001
    and then restart the computer.

    4. Fix SD card reader driver to save 0.4-0.5W

    From iFixit site I found that Macbooks use Genesys ML3219 chip for it’s SD card reader but the supplied driver is old. Using google, I found that the Lenovo Helix convertible has a similar (not the same) chip. You can use Google to find this driver (key word: Lenovo Helix Card Reader (Genesys USB3.0 driver)), download it, extract (run it) and MANUALLY install it: in device manager, right click on SD card reader, select Update Driver, then Search, then Have Disk, etc....
    After that, check Allow Windows to turn off this device to save power in Properties of SD Card reader in device manager.

    5. Enable hidden power management options via registry
    If you right click on battery icon on task bar and select Power Option, click on Change Plan settings for your current power plan (usually the Balanced plan), and then click on Change Advanced Power Settings you will have access to some advanced power options. Read on internet information about these options. One thing you should to that to change Maximum Processor State to a value of around 80-95% to disable Intel Turbo Boost feature, which consumes a lot of power.

    In the standard Advanced Settings dialog, a lot of power options are hidden (for example, power management for wireless card). To unhide them, do the following:
    - Open Registry Editor (run RegEdit.exe), go to the key:
    Code:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings]
    And export it with all subkeys to a *.reg file.
    - For each subkey add value: "Attributes"=dword:00000002 (if Attributes is there but the value is 1 then change it to 2). Because there are more than 100 keys in this file, it is better to do automatic replacement in Notepad++:
    + Open the *.reg file in Notepad++ and replace all "Attributes"=dword:00000002, and then "Attributes"=dword:00000001 with nothing to delete these values.
    + Replace ALL symbol ] (end of key name) with ]\r\n"Attributes"=dword:00000002 where \r\n stands for new line.
    - In Windows Explorer, run the *.reg file to update the registry (click Yes when asked).
    Go back to Advanced Power Option mentioned above and you will see a lot of power options appeared. Play with it and when it is possible, set to “Maximum Power Saving” value.

    6. Using ThrottleStop to undervolt
    ThrottleStop 8.10 works well on my late 2013 macbook pro (I don’t know if it works on newer models).
    Search and download ThrottleStop, run it, make sure that option Disable Turbo is checked and then click on FIVR button, then try to set voltage offset for CPU, GPU, etc. To check system stability, I used Prime 95 64 bit version that is a freeware.
    My stable voltage offsets are follow:
    Code:
    - CPU core: -110mV
    - CPU cache: -110mV
    - Intel GPU: -110mV
    - System Agent: -150mV
    Make sure that option OK-Save voltage immediately is checked when you find stable voltage offset.
    Because ThrottleStop saves voltage offset settings to some ports of processor, you don’t need to keep it running all the time. After running it at startup, you can close ThrottleStop to save some CPU time (and therefore, save power). The voltage offset values are kept even after resuming from standby.

    7. Terminate BootCamp Manager process

    There are a lot of complains on internet about high CPU usage of Boot Camp Manager process. In my Macbook, it sometimes used 20-25% CPU times and make the computer hot. This process is responsible for settings mouse and keyboard parameters, but it is only needed at startup and you can safe to terminate it in Task Manager without loosing functionality.
    For the sake of convenience, I wrote the following script to run/close ThrottleStop and terminate Boot Camp Manager. Copy the following content into an *.cmd file and run it as administrator, provided that ThrottleStop is located in C:\Program Files (x86)\ThrottleStop_810 folder:
    Code:
    REM Run ThrotleStop
    start C:\"Program Files (x86)"\ThrottleStop_810\ThrottleStop.exe
    timeout 15
    REM delay of 15 seconds then terminate Throtlle Stop and Boot Camp Manager (/F for force termination)
    taskkill /IM ThrottleStop.exe
    taskkill /IM Bootcamp.exe /F
    Edit 10/20/2016:
    You don't need to terminate the Boot camp Manager process, just set Compatibility mode to "Windows 8" for Bootcamp.exe file in the C:\Program Files\Bootcamp\ directory


    8. Enable USB selective suspend for keyboard and touchpad

    On this topics I don’t remember exactly what has done. The idea is using Registry Editor, go to
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_05AC&PID_0259_MIxx (where xx is 00, 01, and 02)
    And open it’s subkey Device Parameters and make sure that DeviceSelectiveSuspended DWORD value is set to 1.
    When I have time, I will test it again and report here.

    9. Install Intel graphic driver and setting power options for GPU

    The official Intel graphic driver has more power option than the driver supplied with BootCamp. Go to Intel website and download, and then manually install graphic driver for your macbook and then play with Power Setting in GPU control panel. I don’t have Macbook with dedicated GPU and therefore can not say anything about it.

    10. Proof of results
    After applying the above solutions, the power consumption of my Macbook (remember it is ME866 model) in almost idle state (with Wifi on, battery save mode on, brightness 30%) drop from 6.9-7.0W (according to BatteryBar, without correction for amperage) to 4.7-4.9W. The real battery life under light office use is increased from 8-9 hours to 11-12 hours. When I typing this post, the battery charge droped by 4.2% for 30 minutes of use.

    11. What is left to be improved
    1. I still have USB Composite Device not Entering Selective Suspend. This one is the host that connect internal keyboard and touchpad. I think, if I overcome this issue then the battery life in Windows is equal or better than that is OS X.
    2. Gmail in FireFox. If I keep gmail (Web UI) open in Firefox, it change system time resolution to 10.000ns and thus take more power, of about 0.2-0.3W.
    3. The attachment files: I will prepare some files to supply with this post, but it will take time.
    4. The instruction here. I am very busy all the time so I can not type the post in details for novice. So I will appreciate if someone help me improve it.
    5. The instruction for Surface Pro 3: I managed to get idle power consumption of SFP3 to 2.2-2.3W, mostly using the solutions described in this post.

    I don't have enough time so I can not visit this topic frequently. Please, don't blame me :)
    Thanks to everyone for reading and I am looking for your contributions.
     
    Last edited: Oct 26, 2016
    duttyend, Vasudev, Jarhead and 5 others like this.
  2. tilleroftheearth

    tilleroftheearth Wisdom listens quietly...

    Reputations:
    5,226
    Messages:
    12,582
    Likes Received:
    2,590
    Trophy Points:
    631
    Great post!

    I still won't throw $$$$ at the fruity company though... :D:D:D
     
    Vasudev, vayu64, Jarhead and 2 others like this.
  3. Mr.Koala

    Mr.Koala Notebook Virtuoso

    Reputations:
    568
    Messages:
    2,307
    Likes Received:
    566
    Trophy Points:
    131
    Is the Windows battery life compared to Mac with stock voltage or reduced voltage as well?

    Either way this is very nice.
     
  4. tqbinh

    tqbinh Notebook Enthusiast

    Reputations:
    92
    Messages:
    44
    Likes Received:
    32
    Trophy Points:
    26
    In OS X I used stock voltage (I didn't find a way to undervolt in OS X).
     
    duttyend likes this.
  5. tqbinh

    tqbinh Notebook Enthusiast

    Reputations:
    92
    Messages:
    44
    Likes Received:
    32
    Trophy Points:
    26
    Updated info about bootcamp manager process:
    You don't need to terminate the Boot camp Manager process, just set Compability mode to "Windows 8" for Bootcamp.exe file in the C:\Program Files (x86)\Bootcamp\ directory
     
    duttyend likes this.
  6. Mobius 1

    Mobius 1 Notebook Nobel Laureate

    Reputations:
    3,356
    Messages:
    9,069
    Likes Received:
    6,374
    Trophy Points:
    681

    can you find out what possible improvements can be made on the surface book?
     
  7. tqbinh

    tqbinh Notebook Enthusiast

    Reputations:
    92
    Messages:
    44
    Likes Received:
    32
    Trophy Points:
    26
    Unfortunately, I don't have the surface book so can not say anything. But you can try to:
    - Use ThrottleStop to undervolt CPU and GPU.
    - Enable hidden power management options via registry.
    - Use Intel BLA to check if there is any problem with power management system.
     
    duttyend likes this.
  8. Mobius 1

    Mobius 1 Notebook Nobel Laureate

    Reputations:
    3,356
    Messages:
    9,069
    Likes Received:
    6,374
    Trophy Points:
    681
    how do I unhide power options using registry?


    also I need the download link for that, intel seems to have request-walled the application so you can't get it
     
    Last edited: Oct 20, 2016
  9. C. Lauder

    C. Lauder Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5

    Hi there,

    (I'm new here) I want to know If all the steps you provided will work on my computer. I have a Late 2013 MBPR running Winodows 10 via bootcamp and my battery doesn't last at all.

    Please help.
     
  10. jedisurfer1

    jedisurfer1 Notebook Deity

    Reputations:
    39
    Messages:
    785
    Likes Received:
    50
    Trophy Points:
    41
    Great work, I've followed some of your thinkpad work before. I just run win7 and win10 in in Vmware fusion. I'd still like my retina to run cooler. Is there a way to limit the cpu speeds. I don't need the full 2.7ghz of cpu for my work (I disabled turbo, does intel make their utility for osx). 2.0ghz is plenty. Anyone ever soldered more ram to macbook retina. 16gb max on a $2k+ machine is lame. My Thinkpad p50 can do 64gb ram.
     
Loading...
Thread Status:
Not open for further replies.

Share This Page