Intel HD Graphics on Legacy Hackintosh: A Practical Guide for Ivy Bridge, Haswell, and Broadwell

Step-by-step guide to configuring Intel HD Graphics 2500, 4000, 4400, 4600, 5000, and 5200 on legacy Hackintosh systems with Clover and OpenCore.

Building a legacy Hackintosh around an Ivy Bridge or Haswell processor often means relying on Intel HD Graphics as your only practical GPU option. Maybe you don't have a discrete card, or you need a clean, low-power setup for a specific macOS version. The integrated graphics on these CPUs aren't plug-and-play. Each generation needs a distinct combination of framebuffer injection, device-id spoofing, and ACPI patches. This guide covers the six most common Intel HD Graphics variants found in Sandy Bridge (HD 2500), Ivy Bridge (HD 4000), Haswell (HD 4400, HD 4600, HD 5000), and Broadwell (HD 5200) systems, with concrete steps for macOS 10.8 through 10.15.

Identifying Your iGPU Generation and macOS Target

Before touching any configuration file, confirm the exact GPU model through system information or a Linux live USB. The table below lists the typical CPU families and their integrated graphics:

GPU Model CPU Generation macOS Support Range Bootloader Requirement
HD 2500 Ivy Bridge (3rd gen) 10.8 – 10.13 Clover or OpenCore
HD 4000 Ivy Bridge (3rd gen) 10.8 – 10.15 Clover or OpenCore
HD 4400 Haswell (4th gen) 10.8 – 10.15 Clover or OpenCore
HD 4600 Haswell (4th gen) 10.8 – 10.15 Clover or OpenCore
HD 5000 Haswell (4th gen) 10.8 – 10.15 Clover or OpenCore
HD 5200 (Iris Pro) Broadwell (5th gen) 10.10 – 10.15 Clover or OpenCore

HD 2500 lacks full Core Image acceleration in macOS 10.14 and later because Apple dropped Metal driver support for it. If you plan to run Mojave or higher, use a discrete GPU or stick with HD 4000 and above.

Framebuffer Injection: The Core Principle

All Intel HD Graphics in this family require a framebuffer personality injected via ACPI or device properties. The framebuffer defines port mapping, display pipeline configuration, and memory allocation. Without it, macOS either boots to a black screen or shows only 7 MB of VRAM (no acceleration).

For Clover, you inject the framebuffer through the Graphics section of config.plist or via DeviceProperties. For OpenCore, you must add the correct device-id and ig-platform-id under DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0). The exact ig-platform-id depends on the GPU and the display output type (LVDS, HDMI, DP, or eDP).

HD 2500 – The Problematic Entry

HD 2500 is the least compatible iGPU on this list. Apple never shipped a Mac with this exact GPU, so you must spoof the device-id to 0x01620006 (the ID of HD 4000) and use the HD 4000 framebuffer 0x01660003. Even then, expect no QE/CI on macOS 10.14 and above. For High Sierra and earlier, the spoof works reliably with Clover’s FakeID section:

  • Set FakeID -> IntelGFX to 0x01620006
  • Set ig-platform-id to 0x01660003
  • Add AAPL,ig-platform-id under DeviceProperties with the same value

Always test with a single display connected via the motherboard’s DVI or VGA port. HDMI output may remain black without additional EDID injection.

HD 4000 – The Most Forgiving iGPU

HD 4000 is natively supported in macOS from 10.8.4 onward. The recommended ig-platform-id for desktop Ivy Bridge CPUs (e.g., i5-3570K, i7-3770K) is 0x01660003 (three outputs: LVDS, HDMI, DP). For laptops, use 0x01660004 (LVDS + DP). If you experience boot loops, try 0x01660000 or 0x01620001 — these are fallback framebuffers with fewer ports.

No device-id spoofing is required for HD 4000. Just inject the correct platform-id and ensure your SMBIOS matches an Ivy Bridge Mac (MacBookPro9,1 or Macmini6,1 for desktops).

HD 4400 and HD 4600 – Haswell Tweaks

Haswell iGPUs behave similarly but require a different set of platform-ids. For HD 4600 (desktop), use 0x0D220003 for a single HDMI or DP output, or 0x0D260007 for dual displays. For HD 4400 (found in i5-4210U and similar), use 0x0A160000 or 0x0A260005.

A common problem with Haswell iGPUs is black screen after wake from sleep. To mitigate this, add the following ACPI patch in Clover or OpenCore:

  • Rename _DSM to XDSM on the IGPU device scope (prevents conflicting property injection)
  • Or inject enable-backlight-registers-fix property (AppleBacklightInjector kext)

If you are using OpenCore, the WhateverGreen kext handles most sleep/wake issues automatically, but you still need the correct ig-platform-id in your config.

HD 5000 and HD 5200 – Mobile and Iris Pro Considerations

HD 5000 is a Haswell mobile GPU (e.g., i5-4250U). Its native macOS support is limited to MacBookAir6,2 and MacBookPro11,1 SMBIOS. Use ig-platform-id 0x0A260006 for dual display (LVDS + DP). The Iris Pro HD 5200 (Broadwell) requires ig-platform-id 0x16220007 and a MacBookPro12,1 SMBIOS. HD 5200 only works on macOS 10.10 and later — no support for Mavericks or earlier.

For both GPUs, ensure your BIOS allocates at least 64 MB of DVMT pre-allocated memory. Anything below 32 MB will cause a kernel panic on boot. Set “IGD Memory” to 64 MB or higher in BIOS settings.

BIOS Settings That Make or Break Intel Graphics

Regardless of the GPU model, the following UEFI/BIOS settings are critical for a stable Hackintosh with Intel HD Graphics:

  • Primary Display: set to “IGFX” (internal graphics) — do not leave it on “Auto” if a discrete card is absent
  • DVMT Pre-Allocated: 64 MB minimum; 96 MB or 128 MB recommended for dual 4K displays
  • DVMT Total Gfx Mem: “MAX” or 1024 MB if available
  • VT-d: disable unless you have a working DMAR table in your ACPI
  • XHCI Handoff: enable (prevents USB issues that can interfere with display detection)
  • Fast Boot: disable — it may skip IGPU initialization

If your BIOS lacks a DVMT setting (common on OEM boards), you may need to patch the framebuffer memory allocation via ACPI. This is advanced and risky — always back up your current firmware settings first.

Kexts and Patches for Acceleration

Beyond framebuffer injection, two kexts are essential for full graphics acceleration on legacy Intel HD Graphics:

  • WhateverGreen.kext — handles connector patching, backlight control, and sleep/wake fixes. Version 1.4.0 or later supports all GPUs listed here. Older versions may lack support for HD 5200.
  • Lilu.kext — required as a dependency for WhateverGreen. Use Lilu 1.4.0 or higher for macOS 10.15 compatibility.

If you are running macOS 10.13 or earlier, you may also need IntelGraphicsFixup.kext (now merged into WhateverGreen). Avoid mixing both — use only WhateverGreen for modern setups.

Diagnosing Black Screen and 7 MB VRAM

The two most frequent symptoms of misconfigured Intel HD Graphics are black screen after boot (no display output) and “Display 7 MB” in System Information (no hardware acceleration). Here is a diagnostic checklist:

  1. Verify that ig-platform-id matches your GPU and output type. Test multiple platform-ids if the first fails.
  2. Ensure your SMBIOS is correct for the GPU generation. Using a MacPro6,1 SMBIOS with HD 4000 will cause a black screen because macOS expects a discrete GPU.
  3. Check that Lilu and WhateverGreen are loaded. In OpenCore, add -liludbg to boot args and inspect the log for “IGPU” entries.
  4. If using Clover, disable “Inject Intel” in the Graphics section and rely solely on DeviceProperties — this avoids double injection.
  5. Test with a different display cable (HDMI vs. DVI). Some motherboards route HDMI through a separate controller that macOS cannot initialize without a custom connector patch.

For a deeper dive into the injection mechanics, see the detailed post on Configuring Intel HD Graphics 2500, 4000, 4400, 4600, 5000, and 5200 on Legacy Hackintosh, which includes specific plist snippets for both Clover and OpenCore.

Sleep, Wake, and Backlight

Sleep issues with Intel HD Graphics are typically caused by missing or incorrect backlight registers. On laptops, inject the property applesmc-backlight-control or use the SSDT-PNLF.aml table from WhateverGreen’s build repository. On desktops, sleep failure is rare unless you are using an unsupported display resolution (e.g., 4K on HD 2500). If the system sleeps but the display stays black on wake, add igfxonln=1 to your boot args — this forces a display re-detection on wake.

For HD 5200 (Iris Pro), a known issue is the loss of display after a warm reboot. The workaround is to perform a cold boot (power off, wait 10 seconds, power on) or add enable-hdmi20=1 in the device properties for the IGPU.

Preserving Your Working Configuration

Once you have a stable Intel HD Graphics setup, back up your entire EFI partition and note the exact BIOS settings. Future macOS updates (especially minor point releases) may reset the framebuffer cache and cause a black screen. Keep a copy of your working config.plist on a separate USB drive. If you plan to upgrade to a newer macOS version, test with a spare disk first — some iGPUs lose support in later releases (e.g., HD 2500 in Mojave).

For those building a system around HD 4600 or HD 4000, these GPUs remain the most reliable choice for legacy Hackintosh projects targeting High Sierra or Mojave. They offer native acceleration, stable sleep, and broad display compatibility without the complexity of discrete GPU spoofing.