Jump to content

Haswell • i5-4570 • GA-Z87M-D3H • GTX 670


slemblod
 Share

32 posts in this topic

Recommended Posts

Hi.

First time builder/hackintosher here. Please be nice.  :)

 

This thread is a continuation of my other one: http://www.insanelymac.com/forum/topic/291208-haswell-success-ga-z87m-d3h-gtx-670/ where I successfully installed OS X 10.8.4 onto my machine.

In this post I will discuss features that (don't) work.

 

1. Power management:

I think so, as I can boot without patched AppleIntelCPUPowerManagement.kext or NullCPUPowerManagement.kext. Does this screenshot of Activity Monitor clarify anything? http://i.imgur.com/GsTWhdX.png

What does it mean?

EDIT: Turns out that I'm lacking a whole load of processor states. It makes a huge jump from 800MHz to 3.17GHz. To be continued.

 

2. Audio:

Working in 10.8.5 with patched AppleHDA as of https://github.com/toleda/audio_ALC892 https://github.com/toleda/audio_kext_enabler (also attached).

 

3. Graphics:

QE/CI works out of the box with EVGA GeForce GTX 670.

 

4. Ethernet:

Realtek's official driver for OS X Lion 10.7 works: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3

 

5. USB 3:

Works (but I have only tested with USB 2 devices).

AppleHDAEnabler1.zip

PS2 Drivers.zip

Link to comment
Share on other sites

I doubt your power management works. Easy Check though:

 

Terminal: Kextstat

 

Look for AppleIntelCPUPowerManagment.kext

It's not there. Does this mean the processor runs at 100% all the time?

 

Z77 Gigabyte motherboards had native power management (according to Tony x86).

Link to comment
Share on other sites

Yes I believe Z77 did. But it looks like Z87 has MSR_E2 Locked. Not a big deal the patch that is needed is well documented. I've got something in the works. But I enlisted the help of someone with more knowledge than myself to make sure what I think is going on, actually is. Bios is to risky to mess with!!

 

And to answer your other question, What I have seen is you will get the lowest P-State for your processor. And then the upper ranges. It skips all the middle ranges. So technically speaking there is "some" power management but it's incomplete. You can verify in Terminal:" sudo dmesg " and look for XCPM. There will be two occurrences. One will say "XCPM:registered"  the other will say "IOPPF: XCPM mode"

Link to comment
Share on other sites

Yes I believe Z77 did. But it looks like Z87 has MSR_E2 Locked. Not a big deal the patch that is needed is well documented. I've got something in the works. But I enlisted the help of someone with more knowledge than myself to make sure what I think is going on, actually is. Bios is to risky to mess with!!

 

And to answer your other question, What I have seen is you will get the lowest P-State for your processor. And then the upper ranges. It skips all the middle ranges. So technically speaking there is "some" power management but it's incomplete. You can verify in Terminal:" sudo dmesg " and look for XCPM. There will be two occurrences. One will say "XCPM:registered"  the other will say "IOPPF: XCPM mode"

Cobra, I'm not use power managment in the install. Have I use one? I have mother ga-z87a=ud5h with i7 4770k In this case can you tell me what I have to install? Thanks!

Link to comment
Share on other sites

Hello.

 

Slemblod, you need only this to have power management:

*Generate an SSDT to work P and C States: http://olarila.com/forum/viewtopic.php?f=10&t=1340&start=10#p12849

*Patche the AICPUPM: http://olarila.com/forum/viewtopic.php?f=9&t=1003&sid=774937f25ad090f4b59a6170c43d4242

*Active DropSSDT in org.chameleon.boot.plist

*Remove NullCPUPM

*Remove P and C states of chameleon.

 

You have a Haswell CPU so only active C and P States on chameleon don't work you need create an SSDT to work.

 

Run the command on terminal and proced.

 

Sorry for my English.

Link to comment
Share on other sites

Hello.

 

Slemblod, you need only this to have power management:

*Generate an SSDT to work P and C States: http://olarila.com/forum/viewtopic.php?f=10&t=1340&start=10#p12849

*Patche the AICPUPM: http://olarila.com/forum/viewtopic.php?f=9&t=1003&sid=774937f25ad090f4b59a6170c43d4242

*Active DropSSDT in org.chameleon.boot.plist

*Remove NullCPUPM

*Remove P and C states of chameleon.

 

You have a Haswell CPU so only active C and P States on chameleon don't work you need create an SSDT to work.

 

Run the command on terminal and proced.

 

Sorry for my English.

Thanks for replying.

 

I will try your solution and post results here when I'm finished.

Link to comment
Share on other sites

Sorry this Patch will not work on Haswell. There are differences between SandyBridge and Haswell. Plus if you patch AICPUPM and Apple forces us to only load signed .Kext then is will not load. SSDT_pr Gen will get you what I stated above. But patch will do nothing additional at this time.

  • Like 1
Link to comment
Share on other sites

Sorry this Patch will not work on Haswell. There are differences between SandyBridge and Haswell. Plus if you patch AICPUPM and Apple forces us to only load signed .Kext then is will not load. SSDT_pr Gen will get you what I stated above. But patch will do nothing additional at this time.

You are right.

 

I tried PimentelX86's solution, but it did indeed not work.

  • Like 1
Link to comment
Share on other sites

Hello.

 

I think work, but... -_-

 

Cobra look like you have more experience with Haswell so continue help him.

It was a good suggestion, However AppleIntelCPUPowerManagement.kext will not load on Haswell. So even with the patch it is useless. 

 

Heres the low down on  power management for Haswell:

 

What we need to see is XCPM:Registered and IOPPF:XCPM in Dmesg from Terminal. This lets us know power management is registered. To get BOTH of these you have to generate a SSDT with SSDT_PR gen tool made by RevoGirl/PikeAlpha. That file needs renamed to SSDT.aml (or SSDT-x.aml where x=the next highest SSDT you have. Example if SSDT-4.aml is in your /Extra folder name new file SSDT-5.aml)and placed in /Extra. Some people say you can use the SSDT_pr.dsl file but I have not tried it this way. 

 

Do NOT use GeneratePStates or GeneratePStates=yes or NullCPUPowerMngt in org.chameleon.boot.plist, But Add DROPSSDT=yes.

 

Now what we get is P-states that show 8,35,36,37,38,39 depending on your processor this may differ somewhat. The point is we are missing the PStates between 8 and 35. Or are We? Power management is working. You have lowest state for  least power and best cooling, and top highest state + Turbo States for high demand. What the kicker is, is that AICPUPM.kext is not loaded. So something is wrong? No not really, Just different. If you look at a dump of Kexts fro real MacBookAir6,2 it dosen't load AICPUPM.kext either!! So the problem that we have been discussing is not really a problem after all! No worries about your CPU overheating cause it will throttle back to its lowest P-State! And during hi demand with throttle up as needed.

 

May this change in the future?? Yes it may, but for now its what we have and it does work just like real Mac.

 

Thanks to TimeWalker75A for a well thought out explanation!!!!  

  • Like 2
Link to comment
Share on other sites

Cobra03

I send you my text from terminal,and my ssdt. 

PM message doesn´t have attach files.

 

Thanks a lot for check this!

Remove NullCPUPowerMngt.kext. I forgot to put that in my post. Its now corrected.

  • Like 1
Link to comment
Share on other sites

It was a good suggestion, However AppleIntelCPUPowerManagement.kext will not load on Haswell. So even with the patch it is useless. 

 

Heres the low down on  power management for Haswell:

 

What we need to see is XCPM:Registered and IOPPF:XCPM in Dmesg from Terminal. This lets us know power management is registered. To get BOTH of these you have to generate a SSDT with SSDT_PR gen tool made by RevoGirl/PikeAlpha. That file needs renamed to SSDT.aml (or SSDT-x.aml where x=the next highest SSDT you have. Example if SSDT-4.aml is in your /Extra folder name new file SSDT-5.aml)and placed in /Extra. Some people say you can use the SSDT_pr.dsl file but I have not tried it this way. 

 

Do NOT use GeneratePStates or GeneratePStates=yes or NullCPUPowerMngt in org.chameleon.boot.plist, But Add DROPSSDT=yes.

 

Now what we get is P-states that show 8,35,36,37,38,39 depending on your processor this may differ somewhat. The point is we are missing the PStates between 8 and 35. Or are We? Power management is working. You have lowest state for  least power and best cooling, and top highest state + Turbo States for high demand. What the kicker is, is that AICPUPM.kext is not loaded. So something is wrong? No not really, Just different. If you look at a dump of Kexts fro real MacBookAir6,2 it dosen't load AICPUPM.kext either!! So the problem that we have been discussing is not really a problem after all! No worries about your CPU overheating cause it will throttle back to its lowest P-State! And during hi demand with throttle up as needed.

 

May this change in the future?? Yes it may, but for now its what we have and it does work just like real Mac.

 

Thanks to TimeWalker75A for a well thought out explanation!!!!  

I tried this using following steps:

 

1. Downloaded https://raw.github.com/Piker-Alpha/RevoBoot/clang/i386/libsaio/acpi/Tools/ssdtPRGen.sh from http://olarila.com/forum/viewtopic.php?f=10&t=1340&start=10#p12849.

 

2. Ran

chmod +x Downloads/ssdtPRGen.sh

and ran it in Terminal.

 

3. Ended up with ssdt_pr.aml and ssdt_pr.dsl (both attached).

 

4. Placed ssdt_pr.aml in /Extra and renamed it to SSDT.aml.

 

5. Made sure that only boot flag was DROPSSDT=yes (and my other essential ones)

 

6. Made sure that no NullCPUPM kext was present in my system.

 

7. Rebooted. Got some other info when running sudo dmesg in terminal (attached).

 

8. No mention of IOPPF:XCPM.

 

 

What can I do? Is this to be expected?

ssdt_pr.aml.zip

ssdt_pr.dsl.zip

sudo dmesg output 2.txt.zip

  • Like 1
Link to comment
Share on other sites

Here it is.

 

i'm using Enoch bootloader 2254, by the way. Is that a bad idea?

Where is DSDT.aml and SSDT.aml? I do not see them in your /Extra. Also, missing in O.C.B is DropSSDT=Yes. I do not use ENOCH although I'm sure it very good. I use SVN Rev 2.2- 2255. I know it works. ENOCH may inject P&C states automatically. If it does that is a problem for us with Haswell. 

Amazing work Cobra03. (And Thanks Slemblod, I run behind your observations).

 

Exist a way to check that its working normally? I mean, HW Monitor or sth like that?

Yes HW monitor will show 

  • Like 2
Link to comment
Share on other sites

Hi.

 

First time builder/hackintosher here. Please be nice.  :)

 

This thread is a continuation of my other one: http://www.insanelymac.com/forum/topic/291208-haswell-success-ga-z87m-d3h-gtx-670/ where I successfully installed OS X 10.8.4 onto my machine.

 

In this post I will discuss features that (don't) work.

 

1. Power management:

I think so, as I can boot without patched AppleIntelCPUPowerManagement.kext or NullCPUPowerManagement.kext. Does this screenshot of Activity Monitor clarify anything? http://i.imgur.com/GsTWhdX.png

What does it mean?

 

2. Audio:

It 'works' with the latest VoodooHDA 2.8.4, but there are issues where videos take very long to load and where games start to stutter. I tried several patched AppleHDA kexts, but none worked. Could this have anything to do with using the 10.8.5 kernel on a 10.8.4 system? If anyone has any info, I would be grateful if you shared it.

 

3. Graphics:

QE/CI works out of the box with EVGA GeForce GTX 670.

 

4. Ethernet:

Realtek's official driver for 10.7 works: http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3

 

5. USB 3:

Works. I could even install using an USB 3 port (but with a USB 2 drive).

Works perfect. I chequed with this PW. (Atached)

Now it´s time to get hd 4600 ! working both videos for better processing?

HWSensors.5.2.755.pkg.zip

  • Like 1
Link to comment
Share on other sites

Where is DSDT.aml and SSDT.aml? I do not see them in your /Extra. Also, missing in O.C.B is DropSSDT=Yes. I do not use ENOCH although I'm sure it very good. I use SVN Rev 2.2- 2255. I know it works. ENOCH may inject P&C states automatically. If it does that is a problem for us with Haswell. 

Yes HW monitor will show 

Oh yeah... I removed the SSDT before, since it didn't work. I didn't add DropSSDT=Yes to O.C.B because I entered the command manually in the bootloader.

 

The thing I'm missing is a DSDT.aml. Is it required?

 

SSDT.aml attached.

SSDT.aml.zip

Link to comment
Share on other sites

For now Yes. You may be able to drop it later once system is running well and you understand how to set things up a little better. i.e....patches, string, injection ect....... But for now I Think you should be using one.

Link to comment
Share on other sites

Anyways. I tried again, using Trunk Chameleon and got following dmesg output:

 

 

PMAP: PCID enabled
PMAP: Supervisor Mode Execute Protection enabled
Darwin Kernel Version 12.5.0: Mon Jul 29 16:33:49 PDT 2013; root:xnu-2050.48.11~1/RELEASE_X86_64
vm_page_bootstrap: 2017561 free pages and 63207 wired pages
kext submap [0xffffff7f80742000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff8000742000]
zone leak detection enabled
standard timeslicing quantum is 10000 us
standard background quantum is 2500 us
mig_table_max_displ = 74
TSC Deadline Timer supported and enabled
corecrypto kext started!
Running kernel space in FIPS MODE
Plist hmac value is    735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d
Computed hmac value is 735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d
corecrypto.kext FIPS integrity POST test passed!
corecrypto.kext FIPS AES CBC POST test passed!
corecrypto.kext FIPS TDES CBC POST test passed!
corecrypto.kext FIPS AES ECB AESNI POST test passed!
corecrypto.kext FIPS AES XTS AESNI POST test passed!
corecrypto.kext FIPS SHA POST test passed!
corecrypto.kext FIPS HMAC POST test passed!
corecrypto.kext FIPS ECDSA POST test passed!
corecrypto.kext FIPS DRBG POST test passed!
corecrypto.kext FIPS POST passed!
AppleACPICPU: ProcessorId=1 LocalApicId=0 Enabled
AppleACPICPU: ProcessorId=2 LocalApicId=2 Enabled
AppleACPICPU: ProcessorId=3 LocalApicId=4 Enabled
AppleACPICPU: ProcessorId=4 LocalApicId=6 Enabled
calling mpo_policy_init for TMSafetyNet
Security policy loaded: Safety net for Time Machine (TMSafetyNet)
calling mpo_policy_init for Sandbox
Security policy loaded: Seatbelt sandbox policy (Sandbox)
calling mpo_policy_init for Quarantine
Security policy loaded: Quarantine policy (Quarantine)
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.

MAC Framework successfully initialized
using 16384 buffer headers and 10240 cluster IO buffer headers
IOAPIC: Version 0x20 Vectors 64:87
ACPI: System State [S0 S3 S4 S5]
HWSensors v5.2.755 Copyright 2013 netkas, slice, usr-sse2, kozlek, navi, THe KiNG, RehabMan. All rights reserved.
PFM64 (39 cpu) 0x7f80000000, 0x80000000
[ PCI configuration begin ]
FakeSMCDevice: 11 preconfigured keys added
SMC: successfully initialized
TZSensors: started on TZ00
TZSensors: started on TZ01
CPUSensors: CPU family 0x6, model 0x3c, stepping 0x3, cores 4, threads 4, TJmax 100
CPUSensors: set platform keys to [j43     ]
CPUSensors: RAPL units power: 0x3 energy: 0xe time: 0xa
PCI configuration changed (bridge=4 device=2 cardbus=0)
[ PCI configuration end, bridges 6 devices 12 ]
mbinit: done [96 MB total pool size, (64/32) split]
Pthread support ABORTS when sync kernel primitives misused
rooting via boot-uuid from /chosen: 7ED2064B-1D9F-3114-96E2-0723F88E58F9
Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>
com.apple.AppleFSCompressionTypeZlib kmod start
com.apple.AppleFSCompressionTypeDataless kmod start
SuperIODevice: found ITE IT8728F on port=0x2e address=0xa30
IT87xxSensors: started
com.apple.AppleFSCompressionTypeZlib load succeeded
com.apple.AppleFSCompressionTypeDataless load succeeded
Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SAT0@1F,2/AppleAHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/Corsair Neutron SSD Media/IOGUIDPartitionScheme/OS X@2
BSD root: disk0s2, major 1, minor 2
Kernel is LP64
XCPM: registered
GeForceSensors (pci1@0): early shadow VBIOS succeeded
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
No interval found for . Using 8000000
AppleRTL8169Ethernet: Ethernet address 94:de:80:69:cb:75
NVDAStartup: Official
NVDAGK100HAL loaded and registered
Controller: Intel Lynx Point (vendor ID: 8086, device ID: 8c20)
Controller: NVidia (Unknown) (vendor ID: 10de, device ID: 0e0a)
[IOBluetoothHCIController][start] -- completed
Previous Shutdown Cause: 0
DSMOS has arrived
NTFS driver 3.10 [Flags: R/W].
NTFS volume name , version 3.1.
NTFS-fs warning (device /dev/disk0s3, pid 35): ntfs_system_inodes_get(): Windows is hibernated.  Will not be able to remount read-write.  Run chkdsk.
X86PlatformPlugin::setRingTable - No ring table found!
X86PlatformPlugin::configResourceHandler - Failed to set ring table!
[AGPM Controller] unknownPlatform
X86PlatformShim::sendCStates - PMIOCSETCSTATE result 0xffffffff for state C1
X86PlatformShim::sendCStates - PMIOCSETCSTATE result 0xffffffff for state C3
X86PlatformShim::sendCStates - PMIOCSETCSTATE result 0xffffffff for state C6
X86PlatformShim::start - Failed to send CStates
X86PlatformShim::sendPStates - pmCPUControl (PMIOCSETPSTATETABLE) returned 0xffffffff
X86PlatformShim::start - Failed to send PStates
X86PlatformShim::sendStepper - failed to set initial p-state to P0 (-1)
X86PlatformShim::loadStepperContext - pmCPUControl (pmioctlPStateContext_t) failed, result = 0xffffffff
X86PlatformShim::sendStepper - Failed to load normal stepper dictionary!
X86PlatformShim::loadStepperContext - pmCPUControl (pmioctlPStateContext_t) failed, result = 0xffffffff
X86PlatformShim::sendStepper - Failed to load normal stepper dictionary!
X86PlatformShim::start - Failed to send stepper
X86PlatformShim::propertyChangedHandler - Error: pmCPUControl (PMIOCSETVARVALUE) returned 0xffffffff
X86PlatformShim::propertyChangedHandler - Error: pmCPUControl (PMIOCSETVARVALUE) returned 0xffffffff
GeForceSensors (pci1@0): chipset: GK104 (NVE4) bios: 80.04.31.00
GeForceSensors (pci1@0): started
CODE SIGNING: cs_invalid_page(0x1000): p=187[GoogleSoftwareUp] clearing CS_VALID
CODE SIGNING: cs_invalid_page(0x1000): p=219[ksadmin] clearing CS_VALID
CODE SIGNING: cs_invalid_page(0x1000): p=223[ksadmin] clearing CS_VALID
considerRebuildOfPrelinkedKernel com.apple.driver.X86PlatformPlugin triggered rebuild

 

 

HWMonitor shows during different tasks:

782MHz (idle)

3.17GHz

3.27GHz

3.37GHz (when running "yes" in terminal)

 

Should there be any more states between 782MHz and 3.17GHz?
I.e. somewhere in the 1.x GHz - 2.x GHz range.

 

I'm also missing the adverised 3.6GHz max frequency.

Link to comment
Share on other sites

 Share

×
×
  • Create New...