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:
You will see there a keyCode:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_14E4&DEV_1570&SUBSYS_157014E4&REV_00\000000FFFF00000000\Device Parameters\e5b3b5ac-9725-4f78-963f-03dfb1d828c7]
Rename it to ASPMOptIn and make sure it value is 1 like below:Code:"ASPMOptOut"=dword:00000001
and then restart the computer.Code:"ASPMOptIn"=dword:00000001
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:
And export it with all subkeys to a *.reg file.Code:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings]
- 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:
Make sure that option OK-Save voltage immediately is checked when you find stable voltage offset.Code:- CPU core: -110mV - CPU cache: -110mV - Intel GPU: -110mV - System Agent: -150mV
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:
Edit 10/20/2016: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
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_MI xx (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.
-
tilleroftheearth Wisdom listens quietly...
Great post!
I still won't throw $$$$ at the fruity company though... -
Is the Windows battery life compared to Mac with stock voltage or reduced voltage as well?
Either way this is very nice. -
duttyend likes this.
-
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\ directoryduttyend likes this. -
can you find out what possible improvements can be made on the surface book? -
- 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. -
also I need the download link for that, intel seems to have request-walled the application so you can't get itLast edited: Oct 20, 2016 -
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. -
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.
-
Just stop buying the garbage and use real computers.
Sent from my iPhone using Tapatalk -
I am surprised you get 8 to 9 hours even without the modifications you mentioned, mine can barely last 3 hours and i called both mac and Microsoft and no one knows what's the issue. Will bring it to the store. I am using late 2016 macbook pro 15". Any advice on what could be the issue?
duttyend likes this. -
duttyend likes this.
-
Powercfg /energy gives you similar results as Intel BLA. I'll give both a try. You use in MBP Design capacity is lower than actual capacity. In windows based laptop it complete reverse.
duttyend likes this.
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.