Contribute
Register

ML: Native Ivy Bridge CPU and GPU Power Management

Status
Not open for further replies.
I have recently been made aware of this thread after thinking that everything in my build was going well...

The current system I am using is my first real attempt to build a Hackintosh, so I find something new almost every day.

At the risk of sounding like a complete idiot, I'll just come right out and say, I'm pretty sure I need to do the things outlined in this thread, but I have no clue where to even start.

Well, the beginning... But you guys probably know what I mean. This seems a pretty intimidating task. I need to do it, but I don't know how.

Anyone care to take a little patience to show a complete noob how to implement the Ivy Bridge Power Management and GPU Power Management steps on a system running an i7 3770k, GTX680, and Mavericks? Right now I am still at a pretty fresh 10.9.1 build with little manipulation other than getting certain apps functioning, and trying to get sleep working right.

I'm still learning, so be gentle... Haha!
 
Hi guys,

My system is as follows:

Motherboard: Asrock Fatal1ty Z77 Professional w/ Patched 1.70 UEFI
CPU: Intel Core i7 3770K
GPU: EVGA GTX 680 OC Signature

I am pretty happy with the load so far, but I think I have some PM issues I'd like to get some assistance resolving.

As it stands, my computer is able to sleep with no issues at all, and it's able to achieve 2 P-States (16, 35)

I am using the MBP 9,1 Profile for now, as I had heard that using the iMac profile might be contributing to the low number of P-States.

There was no difference though. Both MBP 9,1 and iMac 13,2 give the same results.

Oddly, when I review my IOReg output, and look up AppleCPUPowerManagement, there is some indication that I have NullCPUPowerManagement in place... Now, wouldn't that prevent my computer from sleeping at all? Kinda baffled by that...

I don't want NullCPU or any kind of sleep enabler... I want native Ivy Bridge Power Management

Here are a few things for your review:

My /Extra/org.chameleon.Boot.plist file:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>DropSSDT</key>
	<string>Yes</string>
	<key>EthernetBuiltIn</key>
	<string>Yes</string>
	<key>Graphics Mode</key>
	<string>1920x1080x32</string>
	<key>GraphicsEnabler</key>
	<string>Yes</string>
	<key>Kernel</key>
	<string>mach_kernel</string>
	<key>Kernel Flags</key>
	<string>PCIRootUID=1</string>
	<key>Timeout</key>
	<string>5</string>
	<key>UseKernelCache</key>
	<string>Yes</string>
	<key>device-properties</key>
	<string>5700000001000000010000004b0000000100000002010c00d041030a0000000001010600071c0101060000000101060000080101060000007fff0400160000006200750069006c0074002d0069006e0000000500000001</string>
</dict>
</plist>

My /Extra/smbios.plist file:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SMbiosdate</key>
	<string>21/03/12</string>
	<key>SMbiosvendor</key>
	<string>Apple Inc.</string>
	<key>SMbiosversion</key>
	<string>MBP91.88Z.00D3.B00.1203211536</string>
	<key>SMboardproduct</key>
	<string>Mac-4B7AC7E43945597E</string>
	<key>SMfamily</key>
	<string>MacBook Pro</string>
	<key>SMmanufacturer</key>
	<string>Apple Inc.</string>
	<key>SMproductname</key>
	<string>MacBookPro9,1</string>
	<key>SMserial</key>
	<string>C02L1L4MF1G4</string>
	<key>SMsystemversion</key>
	<string>1.0</string>
</dict>
</plist>

Additionally, I have attached the following files:

dam718_IOReg_201401222107.zip - This is my IO Registry as of Jan 22, 2014 @ 9:07 PM

and

dam718_ssdt_201401222116.zip - This is my ssdt.aml file as of Jan 22, 2014 @ 9:16 PM

My goal is to get my CPU working with native PM, to include Sleep, Speed Stepping, and Turbo. This should be possible right?

I appreciate the assistance, and thank you for your time!
 

Attachments

  • dam718_IOReg_201401222107.zip
    535.6 KB · Views: 83
  • dam718_ssdt_201401222116.zip
    1.1 KB · Views: 92
I was able to patch up the AICPM kext and add FakeSMC to S/L/E to get native power management working, on some great advice.

Only have 4 P States though...

16, 26, 35, and 37...

Adding -xcpm flag yields P States 16, 20, 25, 35, 37 -- Getting closer!

It would suggest that I am able to see full processor speed (3500) and Turbo mode (3700)... BUT! My max Turbo frequency SHOULD be 3900, so shouldn't I see a P State of 39 also?

I'm certainly better off than I was before, but I'd still like to see max Turbo frequency, if possible.

Any suggestions?

EDIT: Solved - Kinda... BIOS Settings were conservative... Had to manually set target Turbo frequency to 3900, which has allowed me to get P State 39. So now I have 16, 20, 25, 35, 37, and 39

This is with the -xcpm flag in place. Is there a way to do this WITHOUT the -xcpm flag? I should I just leave it as is?
 
y IOReg output, and look up AppleCPUPowerManagement, there is some indication that I have NullCPUPowerManagement in place... Now, wouldn't that prevent my computer from sleeping at all? Kinda baffled by that...

I don't want NullCPU or any kind of sleep enabler... I want native Ivy Bridge Power Management

Remove NullCPUPowerManagement.kext.
 
have some problem not to use "plug-type 1" in the SSDT?

i have i5 3210M.

I ask this because if I use "plug-type 1" in the SSDT, I can't have USB3 working, with my states and turbo.
 
have some problem not to use "plug-type 1" in the SSDT?

i have i5 3210M.

I ask this because if I use "plug-type 1" in the SSDT, I can't have USB3 working, with my states and turbo.

Without plugin-type=1, you cannot implement Ivy PM as Apple does on their machines.

Your USB3 issue is probably something else, as plenty of people have USB3 working with Ivy PM.
 
Remove NullCPUPowerManagement.kext.

Thanks... I had done this already, as noted in my second post. I have everything working with a combination of removing the NullCPUPowerManagement kext, adding FakeSMC, patching AppleIntelCPUPowerManagement kext, and adjusting BIOS to allow max turbo frequency of 3.9GHz. Things kinda work okay using the MacMini 6,2 system definition, same with MacBook Pro 9,1... Only had 2 P States with iMac 13,2 definition.

That said, when I set the -xcpm Kernel Flag using the iMac 13,2 definition, everything works great, and I have P States 16, 20, 25, 35, 37, and 39. Sleep is working flawlessly.

Like I had mentioned, it may be best to just leave it alone now, but I was curious if there was a way to achieve this result WITHOUT using the -xcpm flag.
 
Thanks... I had done this already, as noted in my second post. I have everything working with a combination of removing the NullCPUPowerManagement kext, adding FakeSMC, patching AppleIntelCPUPowerManagement kext, and adjusting BIOS to allow max turbo frequency of 3.9GHz. Things kinda work okay using the MacMini 6,2 system definition, same with MacBook Pro 9,1... Only had 2 P States with iMac 13,2 definition.

That said, when I set the -xcpm Kernel Flag using the iMac 13,2 definition, everything works great, and I have P States 16, 20, 25, 35, 37, and 39. Sleep is working flawlessly.

Like I had mentioned, it may be best to just leave it alone now, but I was curious if there was a way to achieve this result WITHOUT using the -xcpm flag.

The reason I mentioned NullCPU is because I saw it in the ioreg you uploaded. You might want to check still... Just run IORegistryExplorer and search for 'null' in the search box in the upper right.

The fact that you get different pstates depending on smbios, is X86PlatfromPlugin at work.
 
Without plugin-type=1, you cannot implement Ivy PM as Apple does on their machines.

Your USB3 issue is probably something else, as plenty of people have USB3 working with Ivy PM.

if i use "plugin-type 1" have error with States e Turbo. look:
post-1166456-0-76066900-1388543124_thumb.png


USB3 works, but don't have turbo/states.

For my USB3 i use GenericUSBXHCI version 1.2.7
 
Status
Not open for further replies.
Back
Top