April Q&A Session 3: ACPI Errors, Ethernet Drops, and GPU Patches for Old macOS
Three real Hackintosh Q&A fixes: ACPI panic after X79 CPU swap, RTL8111 Ethernet sleep drops on Z77, and GTX 780 GPU artefacts on Sierra 10.12.6.
This month’s Q&A batch arrived with a consistent theme: aging hardware pushed past its originally intended macOS version. Several readers reported issues that trace back to mismatched ACPI tables, kext version drift, or GPU patches that no longer apply cleanly after a minor point release. Below are three questions that cover the most common failure modes I see on X79, Z77, and early Z370 builds running Sierra through High Sierra.
1. ACPI Panic on X79 After Replacing the CPU
Q: “I swapped an E5-2670 v1 for an E5-2680 v2 on my X79 board. The system boots to a black screen with a panic message about ‘No HPETs available’ and then reboots. I didn’t touch the ACPI files. What changed?”
A: The panic almost certainly comes from the SSDT-PM (power management table) being tied to the original CPU’s processor-level C-states and P-states. Ivy Bridge-EP (v2) uses a different microcode signature than Sandy Bridge-EP (v1), and macOS’s kernel parses the APIC and HPET entries during early boot. If your SSDT still maps CPU0–CPU7 with Sandy Bridge’s logical core layout, the kernel sees a mismatch in the timer interrupt routing and panics.
The fix is to regenerate the CPU-related SSDT using a current version of ssdtPRGen.sh (build 22.0 or later) with the -p flag set to match the new CPU’s TDP and core count. Do not reuse the old SSDT.aml from your Clover/AptioMemoryFix folder. After regeneration, verify that the HPET device in your DSDT has the IRQNoFlags entries (0, 8, 11) enabled — some X79 UEFI revisions disable them by default. I covered this exact scenario in the guide on Fixing ACPI Panics on X79/X99 Hackintosh for macOS High Sierra, including the specific IRQ patch for boards with Award or AMI UEFI.
One more detail: if you are booting with cpus=1 to bypass the panic temporarily, be aware that the kernel will not enable power management on the remaining cores. Use that flag only for diagnostic shell access, not for daily use.

2. Realtek RTL8111 Ethernet Drops Connection After Sleep on High Sierra
Q: “My GA-Z77X-UD5H loses the Ethernet link every time the machine wakes from sleep. I have to unplug the cable or reload the kext. The chip is RTL8111E, and I’m using the latest RealtekRTL8111.kext v2.2.2.”
A: This is a known quirk with the RTL8111E revision C (chip ID 0x8168) when macOS reinitialises the PCIe power state after S3 sleep. The kext’s setPowerState method does not always re‑assert the MII link status if the PHY was powered down during sleep. The workaround is not to switch kexts — v2.2.2 is correct for High Sierra — but to apply an ACPI _PS0 method override for the ethernet device.
In your DSDT or a separate SSDT, locate the PEG0 (or RP01) scope that contains the LAN0 device. Add a method that calls _SB.PCI0.PEG0.LAN0._PS0 on wake. If you are not comfortable editing AML, a simpler route is to add the boot argument darkwake=0 in Clover’s boot‑args section. This tells the kernel to skip the deep idle state for network devices. The trade‑off is slightly higher power draw during sleep (about 0.5 W), but it resolves the link drop reliably on Z77 boards.
For a permanent fix, consider injecting pci-aspm-default=0 into your device properties for the ethernet controller. This disables Active State Power Management on that specific PCIe lane. I documented the exact device-id and vendor-id values for the RTL8111E in the article Fixing Realtek RTL8111 Ethernet on Hackintosh High Sierra: Chip Revisions, Kexts, and ACPI Patches. Verify your chip revision with System Information before applying the patch — the RTL8111F variant uses a different power management register.
3. GPU Artefacts on Sierra 10.12.6 with NVIDIA GeForce GTX 780
Q: “My GTX 780 (Kepler GK110) shows horizontal lines and colour corruption in the Finder and Safari. I’m running Sierra 10.12.6 with the NVIDIA Web Driver 378.10.10.10.15.114. Everything was fine on 10.12.5.”
A: The issue is not the GPU itself but the interaction between the Web Driver and the AGPM (Apple Graphics Power Management) plist that shipped with 10.12.6. Apple updated the AGPM kext to include new board‑ids for iMac15,1 and MacPro6,1, and the GTX 780’s Vendor10deDevice1004 entry was reassigned to a lower clock‑gating profile. The driver then applies incorrect voltage/frequency steps during window server operations, causing memory corruption on the VRAM.
The fix is to replace the AGPM plist injection with a manual override. Use Clover Configurator or a plain text editor on /System/Library/Extensions/AppleGraphicsPowerManagement.kext/Contents/Info.plist (back it up first). Locate the Vendor10deDevice1004 dictionary under MacPro6,1 and change the Heuristic dictionary’s ID value from 12 to 9. This forces the driver to use the same power table as the GTX Titan (GK110). After the edit, rebuild the kernel cache:
sudo touch /System/Library/Extensions && sudo kextcache -u /
Reboot and test with a GPU‑intensive window like a 4K video in QuickTime. If artefacts persist, also disable NvidiaGraphicsFixup.kext (if you have it) — that kext can conflict with the Web Driver’s own connector table on GK110 cards. The GTX 780 does not need the fixup for HDMI audio; the driver handles display detection natively on Sierra.

One final note for anyone running Kepler cards on High Sierra: Apple dropped support for GK110 in the built‑in NVDAGK100Hal.kext starting with 10.13.4. If you plan to upgrade, you must stay on the Web Driver track and verify that your exact card model appears in the driver’s NVDARequiredOS list. The GTX 780 is supported up to driver 387.10.10.10.40.105 (High Sierra 10.13.6). Beyond that, you will need to patch the driver’s Info.plist manually or switch to an AMD card.
