[Guide] Native Power Management for Laptops

Discussion in 'Yosemite Laptop Support' started by RehabMan, Oct 30, 2014.

  1. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Oct 30, 2014 at 6:25 PM #1
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Overview

    Power Management should be one of the first things implemented when trying to install OS X on a laptop. Because of heat/noise and battery life issues, using NullCPUPowerManagement is not a realistic option on a laptop. This guide will start assuming you are running Multibeast for the first time and wish to implement power management on a laptop with a Sandy Bridge, Ivy Bridge CPU, or Haswell CPU.

    Make sure you download and use the latest version of Multibeast. Most laptops have locked CPU MSRs so you need a patched AppleIntelCPUPowerManagement.kext to avoid a KP upon boot. In fact, you just watch for updates to the system that might replace this kext and be sure to replace it with a patched version before rebooting following the update. Some laptops can flash a patched BIOS to avoid this problem, but I do not recommend it. Why risk bricking your laptop with a patched BIOS when a simple software change can accomplish the same thing?

    You should be aware of what kind of CPU you have. A Sandy Bridge CPU will be Core iX-2xxx[U|M|QM]. An Ivy Bridge CPU will be a Core iX-3xxx[U|M|QM], and Haswell Core iX-4xxx[U|M|QM]. Know what the exact CPU is in your laptop and provide it in your profile. Just saying "I have a laptop with an i5" is not helpful.

    Most of this guide's specifics are concerning Chameleon/Chimera bootloader configuration. If you're using Clover, the same concepts apply, but the details are different. Clover differences are covered at the end of the post.

    First run of Multibeast (make sure you are using the latest version) select the following options:

    - UserDSDT or DSDT-Free Installation
    - Sandy/Ivy only: Drivers & Bootloaders -> Drivers -> System -> Patched AppleIntelCPUPowerManagement. With Haswell patched AICPUPM is not necessary, since PM is handled in the kernel instead. And, of course, you already had to patch mach_kernel to even make it this far.
    (be sure to select the version appropriate for the version of OS X you have installed)

    Note: If you have a laptop subject to "Local APIC panic" (HP consumer laptops, for example), you should install the KernelPatcher module from Chameleon to /Extra/modules. The KernelPatcher module is available from Chameleon Wizard and the Chameleon package installer.

    Choosing an SMBIOS

    If you have a laptop with Sandy Bridge CPU use Multibeast's Customization -> System Definitions -> MacBookPro8,1.

    If you have an Ivy Bridge CPU, you should obtain/create an appropriate System Definition (/Extra/smbios.plist) for your laptop. If your CPU ends in 'U', you should probably use MacBookAir5,2. If your CPU ends in 'M' use the ProBook Installer to create a custom MacBookPro9,1 or MacBookPro9,2. To create a MacBookAir5,2 smbios.plist, use Chameleon Wizard.

    If you have Haswell, you should use a Haswell era smbios. iMac14,2 is available in Multibeast, but one of the Haswell laptop smbios might be more appropriate. Chameleon Wizard has support for MacBookAir6,2, but MacBookPro11,2 must be created manually (use Clover Configurator for clues).

    That should give you basic power management (without TurboBoost), plus a bootloader and a starter /Extra folder. You can reboot and test booting directly from your HDD at this point.

    Custom SSDT for CPU

    Next step is to install a custom SSDT using the ProBook Installer. Download the latest ProBook Installer and select only the SSDT option. Click continue to install it. It is important to have your final smbios in place before generating a custom SSDT, so make sure you reboot with the smbios in /Extra before continuing to generate an SSDT.

    Note: Much of the content in the ProBook Installer is specific to the ProBook. But not the SSDT generator. It can be used on any computer with a Sandy/Ivy/Haswell CPU, even desktops.

    Note: For Yosemite, it is recommended you use the latest version of ssdtPRgen.sh script here: https://github.com/Piker-Alpha/ssdtPRGen.sh. The script contained in the ProBook Installer is an older version and may not work on Yosemite.

    Now that you have a custom SSDT, you should make a few changes to /Extra/org.chameleon.Boot.plist:

    - set GenerateCStates=No
    - set GeneratePStates=No
    - add DropSSDT=Yes

    You can use Chameleon Wizard to edit these options if you're not familiar with XML plists.

    Testing PM

    After installing the custom SSDT, you should reboot and test it. You can test using DPCIManager (1.5) by using the PStates monitor. AppleIntelCPUPowerManagementInfo.kext will generally provide more accurate results.

    In addition, for Ivy Bridge or Haswell CPUs, you should run IORegistryExplorer and verify that X86PlatformPlugin is loading under the CPU0 node.

    More information on Ivy Bridge PM is available here: http://www.tonymacx86.com/mountain-...tive-ivy-bridge-cpu-gpu-power-management.html

    For Mavericks specific information, read here: http://www.tonymacx86.com/mavericks...vericks-native-cpu-igpu-power-management.html

    Checklist

    Here is a quick Ivy/Sandy/Haswell Power Management checklist.

    - patched AppleIntelCPUPowerManagement installed (except on Haswell)
    - SSDT installed to /Extra/ssdt.aml for your CPU (easiest to use ProBook Installer)
    - appropriate System Definition (smbios.plist) for your CPU
    - DropSSDT=Yes, GeneratePStates=No, GenerateCStates=No
    - no rollbacks of AppleACPIPlatform.kext
    - no NullCPUPowerManagement.kext (usually implies patched AppleIntelCPUPowerManagement)
    - Processor objects declared in Scope (_SB) or Scope (_PR) in DSDT (pretty rare not to have them in OEM DSDT)
    - Verify that the generated SSDT injects into the same scope as Processor declarations in DSDT (usually _PR)

    AppleACPIPlatform and EmbeddedControl

    Note: For Sandy Bridge PM, it is possible to run a rollback of AppleACPIPlatform.kext but it is discouraged. Watch out for battery manager packages that include a rolled back AppleACPIPlatform.kext.

    Note: Running stock AppleACPIPlatform.kext means any DSDT methods that manipulate EC (EmbeddedControl) registers larger than 8-bits will not work and will cause the method to fail. These methods must be patched. Access to such registers is common in DSDT battery methods. Some patches are provided at my laptop DSDT patch repository at: https://github.com/RehabMan/Laptop-DSDT-Patch

    Note on older CPUs

    For CPUs older than Sandy Bridge, use GeneratePStates=Y GenerateCStates=Y DropSSDT=Y. No need for custom SSDT (there are no tools to generate one).

    Notes on Clover

    With Clover there are slight differences, although the same concepts apply.

    Here is a quick Ivy/Sandy/Haswell Power Management checklist as it relates to Clover:
    - obviously, with Clover, you're using the Clover Installer to get a bootloader on your HDD. So there is no need to use Multibeast.
    - patched AppleIntelCPUPowerManagement can be patched on the fly with config.plist/KernelAndKextPatches/AsusAICPUPM=true
    - the kernel can be patched for XCPM (Haswell) with config.plist/KernelAndKextPatches/KernelPm=true
    - the kernel can be patched for "Local APIC" panic with config.plist/KernelAndKextPatches/KernelLapic=true
    - generated SSDT should be placed at /EFI/CLOVER/ACPI/patched/SSDT.aml
    - appropriate System Definition (SMBIOS) for your CPU in config.plist/SMBIOS. Use the Clover Configurator to generate one
    - to drop all OEM SSDTs, use config.plist/ACPI/SSDT/DropOem=true. Note that some laptops will not boot if you drop certain SSDTs. So you need to be careful with the SSDTs dropped/excluded. Read the ACPI patching guide for more info: http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html. Also, certain Clover features such as FakeID can break if you don't include the necessary SSDTs.
    - no rollbacks of AppleACPIPlatform.kext
    - no NullCPUPowerManagement.kext (NullCPU is not even required during installation because AsusAICPUPM=true)
    - Processor objects declared in Scope (_SB) or Scope (_PR) in DSDT (pretty rare not to have them in OEM DSDT)

    Notes on DropSSDT=Yes and DropOem=true

    Although the recommendation to drop SSDTs with DropSSDT=Yes (Chameleon) or DropOem=true (Clover), was once common and sometimes even necessary, with modern hardware it is not a good idea at all.

    With modern Broadwell/Haswell/Ivy hardware the system almost always works better if you retain all the SSDTs. The newer systems may even have trouble booting if you eliminate them.

    As a result, don't use DropSSDT=Yes or DropOem=true unless you have to. It is needed on certain computers Sandy Bridge and older.
     
  2. punjabigator

    punjabigator

    Joined:
    Mar 9, 2014
    Messages:
    16
    Motherboard:
    Dell Latitude E7440
    CPU:
    i7-4600U
    Graphics:
    Intel HD Graphics HD4400
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Oct 31, 2014 at 3:29 AM #2
    punjabigator

    punjabigator

    Joined:
    Mar 9, 2014
    Messages:
    16
    Motherboard:
    Dell Latitude E7440
    CPU:
    i7-4600U
    Graphics:
    Intel HD Graphics HD4400
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    Hello RehabMan, thank you very much for your continued support. What is the best place to ask questions regarding this post. Thanks
     
  3. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Oct 31, 2014 at 3:40 AM #3
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    Not necessary to quote the entire post...

    If you're having trouble with a specific issue on your laptop, then open a separate thread. If you have a question regarding this guide, quote just the section of the guide you have the question with it and ask here.
     
  4. hopeworks

    hopeworks

    Joined:
    Jul 28, 2012
    Messages:
    177
    Motherboard:
    Laptop LG N450
    CPU:
    Intel(R) Core(TM) i5-3210M - CPU @ 2.50GHz / Quanta/LG3-TBD - Intel Ivy Bridge(rev.09)- HM77(rev.04)
    Graphics:
    intel HD Graphics 4000 1366X768 / AMD Raedon 7650M (not working)
    Nov 2, 2014 at 4:01 PM #4
    hopeworks

    hopeworks

    Joined:
    Jul 28, 2012
    Messages:
    177
    Motherboard:
    Laptop LG N450
    CPU:
    Intel(R) Core(TM) i5-3210M - CPU @ 2.50GHz / Quanta/LG3-TBD - Intel Ivy Bridge(rev.09)- HM77(rev.04)
    Graphics:
    intel HD Graphics 4000 1366X768 / AMD Raedon 7650M (not working)
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    To criate a new SSDT using Probook Installer, must I use the Vanila AICPM, correct? If i want to create this SSDT, must i uncheck ASUSAICPM and boot using NullCPUPowerManagement.kext (using clover bootloader)?

    Thanks
     
  5. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Nov 2, 2014 at 4:14 PM #5
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    No. No need for NullCPU with Clover as you can patch AppleIntelCPUPowerManagement.kext with AsusAICPUPM.
     
  6. brandur

    brandur

    Joined:
    Aug 8, 2013
    Messages:
    47
    Motherboard:
    Sony Vaio Fit 14E, (svf142c29m or SVF1421B4E or svf1421p2ew)
    CPU:
    i3 - 3227U, HM76
    Graphics:
    HD Graphics 4000, HD Touchscreen (1366x768
    Mobile Phone:
    iOS
    Nov 20, 2014 at 2:28 PM #6
    brandur

    brandur

    Joined:
    Aug 8, 2013
    Messages:
    47
    Motherboard:
    Sony Vaio Fit 14E, (svf142c29m or SVF1421B4E or svf1421p2ew)
    CPU:
    i3 - 3227U, HM76
    Graphics:
    HD Graphics 4000, HD Touchscreen (1366x768
    Mobile Phone:
    iOS
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    Hi. since I cannot find the same guide for desktop. Can I use your guide for my desktop?
    In question is: asrcok pro4 z7 + i5 3450.


    Greetings.
     
  7. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Nov 20, 2014 at 2:30 PM #7
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    The process and requirements are the same for any computer. Obviously, desktops require different choices in smbios.
     
  8. djedey

    djedey

    Joined:
    Oct 17, 2013
    Messages:
    72
    Motherboard:
    P850 - PSPKFC -Oc4004
    CPU:
    Intel Core i7 3630QM @ 2400 MHz (max : 3400)
    Graphics:
    NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
    Nov 23, 2014 at 6:32 PM #8
    djedey

    djedey

    Joined:
    Oct 17, 2013
    Messages:
    72
    Motherboard:
    P850 - PSPKFC -Oc4004
    CPU:
    Intel Core i7 3630QM @ 2400 MHz (max : 3400)
    Graphics:
    NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    Thanks For the nice tutorial, just i have some concerns

    I have 3630QM Ivy Bridge CPU so in Choosing SMBios you said use the probook installer :
    the problem that the probook installer 6.1 support till Mavericks (not sure if it supports Yosemite too)
    and the latest probook installer clover edition supports Yosemite but I'm not using clover

    So 1: what should i use for Chimera and Yosemite combination ?
    (i did used Chameleon Wizard to generate SMBios for MacBookPro9,1 hope its correct)

    2nd issue that in Multibeast (Yosemite edition) i used Drivers & Bootloaders -> Drivers -> System -> Patched AppleIntelCPUPowerManagement but this kext in its description it shows only for mavericks
    2: is this the one i should use for Yosemite?

    3rd after installing Multibeast still I'm not able to boot (getting kernel panic about AppleIntelCPUPowerManagement)
    so
    3: how can i proceed now to SSDT patch since i couldn't boot yet using the new SMBios.plist ?

    Thank You
     
  9. RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    Nov 23, 2014 at 7:40 PM #9
    RehabMan

    RehabMan Moderator

    Joined:
    May 3, 2012
    Messages:
    190,225
    Motherboard:
    Intel DH67BL
    CPU:
    Core i7-2600K
    Graphics:
    Intel HD 3000
    Mac:
    MacBook Air
    Mobile Phone:
    iOS
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    There is nothing different about smbios between Mavericks/Yosemite.

    That is fine too.

    Make sure you're using the Multibeast for Yosemite.

    Try with DropSSDT=Yes. Post photo.
     
  10. djedey

    djedey

    Joined:
    Oct 17, 2013
    Messages:
    72
    Motherboard:
    P850 - PSPKFC -Oc4004
    CPU:
    Intel Core i7 3630QM @ 2400 MHz (max : 3400)
    Graphics:
    NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
    Nov 23, 2014 at 11:15 PM #10
    djedey

    djedey

    Joined:
    Oct 17, 2013
    Messages:
    72
    Motherboard:
    P850 - PSPKFC -Oc4004
    CPU:
    Intel Core i7 3630QM @ 2400 MHz (max : 3400)
    Graphics:
    NVIDIA® GeForce® GT 630M 2GB with Optimus + Intel® HD Graphics 4000
    [GUIDE] Power Management for Sandy Bridge/Ivy Bridge/Haswell/other Laptops

    Please check if this smbios is good because i don't know what will the kernel read from this file..

    View attachment smbios.plist

    with respect to multibeast Yes sure its yosemite edition even i downloaded many times to make sure after i got confused. check what i mean :

    MultiBeast for Yosemite.jpg

    And this is a screen shot of the kernel panic : (same with or without DropSSDT=Yes)
    Kernel Panic.jpg

    i just added now temporary nullCPUPM kext to be able to boot fine to OSX without USB (after having the kernel panic)
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice