Hackintosh Q&A Recap: Fixing ACPI Patches for Ivy Bridge on High Sierra
Community solutions for sleep/wake, Intel Ethernet after OpenCore migration, and legacy NVIDIA GPU acceleration on Ivy Bridge Hackintosh builds.
The May Q&A session focused on three stubborn ACPI problems for Ivy Bridge Hackintosh builds running macOS 10.13 High Sierra: sleep/wake failures on older desktop motherboards, Intel Ethernet controllers breaking after a bootloader migration, and preserving GPU acceleration for legacy NVIDIA cards. Here's what the community figured out.
<
>
Q1: Missing ACPI Tables for Ivy Bridge Sleep/Wake
Question: I have an Ivy Bridge system (i5‑3570K, ASUS P8Z77‑V) that wakes from sleep to a black screen. My DSDT is patched for SBUS and HDEF, but the system still hangs on wake. What am I missing?
Answer: The black‑screen wake issue on Ivy Bridge often stems from an incomplete or incorrect LPC (Low Pin Count) injection. The LPC device is responsible for routing legacy interrupts and power management signals. If its SSDT is not properly configured, the system may not reinitialize the video card or SATA controller after sleep. Start by extracting the raw DSDT using Clover’s F4 key at the boot picker, then decompile it with iasl. Look for the LPC device name: it is usually LPCB or LPC under the SB bus. For Ivy Bridge, the correct device ID is 0x1E44. If your DSDT shows a different vendor ID, you need to inject the correct one via a SSDT or a Clover ACPI patch. An example patch entry in config.plist under ACPI -> Patches:
Comment: Change LPC device ID to 1E44
Find: 44 1E 00 00
Replace: 00 00 00 00
This hex swap tells macOS to use the native Ivy Bridge LPC kext. After applying, test sleep with pmset -a hibernatemode 0 to disable safe sleep, then reboot. A detailed walkthrough of LPC SSDT injection for Yosemite can be found in the article Decoding the 2015 Hackintosh Screenshot: LPC SSDT Injection for Yosemite; the same principles apply to High Sierra, though the kext version changes slightly.
Q2: Intel Ethernet I217‑V Fails After Clover to OpenCore Migration
Question: I migrated from Clover r5123 to OpenCore 0.8.9 on my Haswell Z87 build. The onboard Intel I217‑V Ethernet was working fine under Clover, but now it shows “cable unplugged” in macOS 10.14 Mojave. The kext is loaded, but no link.
Answer: This is a classic symptom of missing device‑property injection. Under Clover, the Ethernet controller was often patched via DeviceProperties -> Add or a dsdt.aml that set the correct device ID. OpenCore requires explicit device-id and built-in properties. For the Intel I217‑V, the native device ID is 0x1539, but macOS expects 0x15A2 or 0x15A3 depending on the kext version. In your config.plist, under DeviceProperties -> Add, add a dictionary for PciRoot(0x0)/Pci(0x19,0x0) with the following keys:
device-id(Data) –15A20000(little‑endian)built-in(Data) –01000000AAPL,slot-name(String) –Built-in
Also ensure you are using the latest IntelMausi.kext (version 1.0.7 or later) from the Acidanthera repository. If the link still fails, verify that your Booter -> Quirks includes ResizeAppleGpuBars=-1 and DevirtualiseMmio=true (common on Haswell with OpenCore). A common mistake is forgetting to remove the old Clover ACPI patches that duplicated the device‑property injection; this can cause a conflict.
<
>
Q3: GeForce 7 Series Acceleration in Yosemite
Question: I have a GeForce 7600 GS (G73) on an old P45 board. In macOS 10.10 Yosemite, the system detects the card but shows only 1024×768 resolution and no Quartz Extreme. Is there a working kext?
Answer: The GeForce 7 series (G70, G71, G73) relies on the legacy NVDAResman.kext and GeForce.kext from OS X 10.6–10.8. Apple dropped support for these GPUs starting with 10.9 Mavericks. In Yosemite, you can force the older kexts by copying them from a Snow Leopard installation, but this breaks OpenGL and can cause kernel panics if the NVDAResman version mismatches the kernel. A safer approach is to use the nv_disable=1 boot argument and inject a fake device ID that matches a supported Tesla card (e.g., 0x0391 for GeForce 7600 GT) – but even then, only basic VESA modes are available. For a detailed breakdown of supported cards and the workarounds that do not risk data loss, refer to the GeForce 6 and 7 Series Hackintosh Guide: What Works and What Breaks. The short answer: Yosemite is not a viable target for this GPU; consider downgrading to 10.6.8 or upgrading to a supported Kepler card (GT 6xx/7xx).
Q4: VoodooHDA Crackling After Sleep
Question: After wake from sleep, my VoodooHDA (v2.9.4) produces crackling audio on my Realtek ALC892. The only fix is a reboot. Can I patch this?
Answer: The crackling after sleep is typically caused by the HPET (High Precision Event Timer) not being properly reinitialized. VoodooHDA relies on HPET for timing. In your DSDT, ensure that the HPET device is set to HPET (_HID > 0x0D0 …) and that the IRQ line for the audio device is explicitly assigned. Use the following patch in Clover under ACPI -> Patches (or in OpenCore via ACPI -> Patch):
Comment: Fix HPET for audio after sleep
Find: 0A 0D 00 00 00 0A 0D 00 00 01 0A 0D 00 00 02
Replace: 0A 0D 00 00 00 0A 0D 00 00 01 0A 0D 00 00 03
This adds a third IRQ request (IRQ 2) to HPET, which VoodooHDA uses to restore timing. Additionally, set VoodooHDA -> EnableSnapToZero = Yes in the Info.plist to reduce pop noise. If the crackling persists, try booting with hda=0 to disable the native AppleHDA and force VoodooHDA to take exclusive control. Back up your config.plist before editing, as a wrong ACPI patch can cause instant kernel panic on the next boot.
Common Pitfalls from the Session
- Not backing up the original DSDT. Always keep a copy of the unmodified DSDT. A single malformed patch can brick the boot process, requiring a recovery USB or a CMOS reset.
- Mixing kext versions across macOS releases. For example, using an old
IO80211Family.kextfrom 10.11 on 10.13 will cause kernel panics on Wi‑Fi devices. Check the kext’sInfo.plistfor OS Bundle Requirements. - Ignoring the bootloader’s log. Both Clover and OpenCore write detailed boot logs. Enable
Target(OpenCore) orDebug(Clover) to capture the exact point where a patch fails. - Assuming a working configuration from a different chipset is portable. ACPI tables are motherboard‑specific. Always extract and patch your own DSDT.
Before applying any ACPI patch, always verify the hexadecimal difference in your DSDT dump against the original; a single byte error can cause a kernel panic at boot. One attendee in the session traced a month‑long sleep failure to a missing 0x00 in a Find/Replace sequence. Use a diff tool (e.g., diff on Linux or fc on Windows) to compare the patched and original binaries before copying them to the EFI partition.
