-
Notifications
You must be signed in to change notification settings - Fork 26
Post Installation
TODO: Everything To get everything on this board working in OS X, several post installation steps need to be done.
There are two ways to enable proper power management for Ivy Bridge CPUs running OS X. The traditional way, used on real Ivy Bridge Macs, is to let AppleIntelCPUPowerManagement.kext control power management. Macs with Haswell (and newer) processors use a different way, XNU CPU Power Management (XCPM). Power management is managed by the kernel in this case, and AppleIntelCPUPowerManagement.kext (AICPUPM) is never loaded. While this is not officially used with Ivy Bridge CPUs, it supports them. XCPM can enable extra states that AppleIntelCPUPowerManagement doesn't use. For example, when using AICPUPM with an iMac SMBIOS, you are limited to the standard low frequency (1600MHz for most Ivy Bridge desktop CPUs) and the turbo frequencies (3900MHz for a stock i7-3770K) with no other states in between. With XCPM, 1600MHz, 2500MHz, 2900MHz, 3400Mhz, and 3800MHz states are achieved with an i5-3570K.
Follow this guide, using ALC 898 as the codec. Make sure you take note of the revision of your board. The green ports on the front and back of the board do not work with revision 1.0 of the Z77X-UD5H, but they do work fine with revision 1.1
Download the latest version of PikeR
To get everything on this board working in OS X, several kexts/drivers/etc. are required:
- FakeSMC+HWSensors (RehabMan fork) - OS X driver for emulating SMC device and monitoring various hardware sensors
- cloverALC - OS X driver for onboard Realtek ALC898 Audio Controller
- IntelMausiEthernet - OS X driver for onboard Intel 82579V Gigabit Ethernet Controller
- AtherosE2200Ethernet - OS X driver for onboard Qualcomm Atheros AR8161 Gigabit Ethernet Controller
- MarvellAHCIPortInjector - OS X driver for injecting Marvell 88SE9172 into AppleAHCIPort (shows in System Information)
-
ssdtPRGen.sh - Generates SSDT for your CPU (make sure you use the argument
-w 3on Yosemite) to enable OS X power management (requires proper SMBIOS entry)
Since the Clover wiki exists, I will only post what's mandatory in Clover's config.plist, not everything.
<key>DSDT</key>
<dict>
<key>Name</key>
<string>DSDT.aml</string>
</dict>Since we are using an already-patched DSDT, we don't need any of Clover's DSDT patching.
<key>SSDT</key>
<dict>
<key>DropOem</key>
<true/>
<key>Generate</key>
<false/>
</dict>We are also using a custom SSDT generated with ./ssdtPRGen -w 3, so we need to drop the OEM SSDT tables and disable Clover's SSDT generation features.
<key>Arguments</key>
<string>kext-dev-mode=1</string>All the custom kexts we are using (FakeSMC, cloverALC, IntelMausiEthernet, AtherosE2200Ethernet, MarvellAHCIPortInjector) are unsigned, so we need to enable this, or else we cannot boot.
<key>AFGLowPowerState</key>
<false/>Helps eliminate some popping caused by the audio controller going to sleep. Doesn't always prevent it, so you might want to use antipop.
<key>ResetHDA</key>
<true/>Needed to prevent audio from breaking after sleep.
<key>FixOwnership</key>
<false/>
<key>Inject</key>
<false/>Neither of these options are necessary, since we edited the USB devices in our DSDT
<key>ATI</key>
<false/>
<key>Intel</key>
<false/>
<key>NVidia</key>
<false/>Clover graphics injection should be disabled. Use a graphics DSDT patch instead.
cloverALC will add two entries here for AppleHDA patching. You shouldn't have to add any other entries for audio.
<key>Comment</key>
<string>TRIM Enabler Patch</string>
<key>Find</key>
<data>QVBQTEUgU1NEAA==</data>
<key>Name</key>
<string>IOAHCIBlockStorage</string>
<key>Replace</key>
<data>AAAAAAAAAAAAAA==</data>This is a useful patch that enables TRIM on non-Apple SSDs. Since it's a Clover kext patch, it's applied automatically at every boot, so no need to manually patch the kext.
If you need a modified AMD framebuffer personality, you can insert the patch here as well.
<key>MLB</key>
<string>XXXXXXXXXXXXX</string>You can generate a MLB using my simpleMLB script. Please read the comments in the script before using it.
<key>ROM</key>
<string>UseMacAddr0</string>The ROM value should be set to the MAC address of your first NIC (don't generate one).
Use Clover Configurator to generate a valid SMBIOS for Clover. I recommend using either iMac13,2 or Macmini6,2. Make sure the serial number is generated properly (should not be a real serial, you can check here if it's valid or not). You also need a SmUUID value, which you can generate using uuidgen.
<key>InjectKexts</key>
<true/>
<key>InjectSystemID</key>
<true/>These two values should always be set to true.