Intel HD Graphics Hackintosh Guide: Ivy Bridge and Haswell
Step-by-step configuration for Intel HD Graphics 2500, 4000, 4400, 4600, 5000, and 5200 on legacy Hackintosh systems. Includes framebuffer patches, BIOS settings, and troubleshooting tips.
If you're building a Hackintosh with a Sandy Bridge, Ivy Bridge, or Haswell CPU, the integrated Intel HD Graphics controller is likely your only display output. These iGPUs are old, but they still handle daily desktop work, media playback, and legacy software up to macOS 10.15 Catalina. Here are the specific configuration steps, framebuffer patches, and known limitations for HD 2500, 4000, 4400, 4600, 5000, and 5200.
Identifying Your iGPU Generation and macOS Support Ceiling
Before editing any configuration files, confirm which Intel HD Graphics variant your CPU integrates. The table below lists the common processors and their iGPU model, along with the last macOS version that officially supports them without binary patches.
| iGPU Model | CPU Generation | Last natively supported macOS | Notes |
|---|---|---|---|
| HD 2500 | Ivy Bridge (3rd gen) | macOS 10.15 Catalina | No Metal support; software rendering in some apps |
| HD 4000 | Ivy Bridge (3rd gen) | macOS 10.15 Catalina | Partial Metal support; works up to Big Sur with patches |
| HD 4400 | Haswell (4th gen) | macOS 10.15 Catalina | Full Metal support; usable in Big Sur with device-id spoof |
| HD 4600 | Haswell (4th gen) | macOS 10.15 Catalina | Full Metal; most compatible Haswell iGPU |
| HD 5000 | Haswell (4th gen, mobile/low-power) | macOS 10.15 Catalina | Rare in desktop builds; similar to HD 4600 |
| HD 5200 | Haswell (4th gen, Iris Pro) | macOS 10.15 Catalina | Crystal Well L4 cache; requires special framebuffer |
If you intend to run macOS Big Sur or newer on these iGPUs, you will need to spoof the device-id to a supported model and accept that some graphical features (e.g., Sidecar, Metal-accelerated effects) may be broken. A detailed breakdown of injection methods for legacy GPUs is covered in the article How to Inject Legacy GPUs in macOS Big Sur (AMD & Nvidia).
Pre-Installation: BIOS Settings for Intel Graphics
Most motherboard firmware hides or disables the internal GPU when a discrete card is present. For a Hackintosh relying solely on Intel HD Graphics, ensure the following BIOS settings are correct:
- Primary Video Adapter: Set to IGFX (or Onboard). If the option reads Auto, change it explicitly.
- DVMT Pre-Allocated: Set to 64 MB or higher. 32 MB may cause boot loops on macOS.
- DVMT Total Gfx Mem: Set to MAX (often 1024 MB on Ivy Bridge, 1536 MB on Haswell).
- VT-d: Disable unless you have a working DMAR table in your ACPI.
- Above 4G Decoding: Disable for most Z77/Z87 boards; enable only if using a boot-arg like
npci=0x2000. - Fast Boot: Disable.
After saving changes, boot from your USB installer. If the screen goes black after the Apple logo, the framebuffer is likely incorrect for your iGPU.
Framebuffer Basics: What Each Patching Option Does
macOS uses a set of framebuffer kexts (AppleIntelFramebufferCapri for Ivy Bridge, AppleIntelFramebufferAzul for Haswell) that define how the GPU connects to physical ports. Each framebuffer contains a list of connectors — each connector describes a port type (LVDS, HDMI, DVI, DisplayPort), its index, and the pipe used. If your physical port layout does not match the default framebuffer, you will get no display output or a garbled image.
The core patching tools are:
- Clover —
config.plist>Graphicssection; inject Intel, setig-platform-idand optionallydevice-id. - OpenCore —
config.plist>DeviceProperties>Addwith PciRoot(0x0)/Pci(0x2,0x0); setig-platform-idanddevice-idas Data values. - WhateverGreen — kext that simplifies patching via boot arguments like
-igfxvesaorigfxframe=. Always use the latest version compatible with your macOS target.
For a detailed reference on platform-IDs and connector layouts, see the dedicated article Configuring Intel HD Graphics 2500, 4000, 4400, 4600, 5000, and 5200 on Legacy Hackintosh.
Step-by-Step Configuration by iGPU
Intel HD Graphics 2500 (Ivy Bridge)
This is the most limited iGPU in the lineup. It lacks hardware acceleration for H.264 encoding and has no Metal support. The only framebuffer that works reliably is 0x01660003 (desktop, no HDMI audio). Inject ig-platform-id as 0x01660003 and set device-id to 0x01660000 if you experience boot hangs. Expect maximum resolution of 2560×1600 over DisplayPort; HDMI is limited to 1920×1200.

Intel HD Graphics 4000 (Ivy Bridge)
HD 4000 is more capable: it supports OpenCL 1.2 and partial Metal (as of Catalina). Use 0x01660000 for desktop (dual-link DVI, HDMI, DP) or 0x01660004 for mobile (LVDS). If you have a 1080p display connected via HDMI and experience a black screen after login, add 0x01660000 as device-id in addition to the platform-id. For dual-monitor setups, verify that both monitors are powered on before boot; macOS sometimes ignores the second display if it is in sleep mode during initialization.
Intel HD Graphics 4400, 4600, 5000 (Haswell)
These three iGPUs share the same framebuffer family (Azul). The platform-IDs that work best are:
- HD 4400 —
0x0A160000(desktop). Spoof device-id to0x0A260000if boot fails. - HD 4600 —
0x0C260000(desktop, 3 displays, HDMI audio). This is the safest starting point for any Haswell iGPU. - HD 5000 —
0x0A2E0008(mobile, eDP). Desktop builds with HD 5000 are rare; try the HD 4600 framebuffer first.
If your display remains black after boot, add -igfxvesa to boot arguments. This forces VESA mode (no acceleration) but confirms that the GPU is detected. From there, experiment with different platform-IDs.
Intel Iris Pro HD 5200 (Haswell)
The HD 5200 (Crystal Well) includes a 128 MB eDRAM L4 cache. macOS recognizes it only when the correct framebuffer is injected. Use 0x0D260007 (desktop, 3 displays, HDMI audio) and set device-id to 0x0D260000. Without the eDRAM patch, the system will boot but the GPU may report incorrect VRAM amounts. Add enable-cflonl1 property if using OpenCore (set to 01000000).
Common Pitfalls and Diagnostic Steps
Even with the correct platform-id, you may encounter issues. Here are the most frequent ones and how to isolate them:
- Black screen after boot, but system is running (remote access works). — The framebuffer connector for your port is wrong. Boot with
-igfxvesa, then test each display port one at a time. Once you find a working port, patch the connector map. - Garbled or distorted image. — Incorrect
device-idor missingframebuffer-patch-enable. Verify that the injecteddevice-idmatches the actual hardware revision. - System panics during boot with
AppleIntelFramebufferCapriorAzul. — Remove anyFakePCIIDkexts related to Intel graphics; they are unnecessary with modern WhateverGreen. Ensure your SMBIOS matches the iGPU generation (e.g., Macmini6,2 for Ivy Bridge, iMac14,2 for Haswell). - No HDMI audio output. — HDMI audio requires a specific framebuffer that includes an HDMI connector with audio capability. For HD 4600, use
0x0C260000and addAudioinjection via Clover or OpenCore (layout-id 3 or 7).
If you are still stuck after trying the above, boot with verbose mode (-v) and look for lines containing IOGraphics or IntelAccelerator. A missing IOAccelerator entry usually means the GPU is not fully initialized.

Preserving Your Working Configuration
Once you have a stable display output, save a copy of your entire EFI folder (or Clover folder) to external media. Note the exact macOS build number and the version of WhateverGreen used. Over time, Apple may release security updates that alter the framebuffer kexts; having a known-good backup allows you to roll back quickly. For a complete walkthrough on backing up and documenting your setup, refer to the Fusion Drive on Legacy Hackintosh: The Definitive Guide, which includes a methodology for preserving boot configurations.
Limitations and Risks
Intel HD Graphics from the Ivy Bridge and Haswell era were not designed for macOS beyond Catalina. Running them on Big Sur or Monterey requires spoofing a supported device-id (e.g., HD 4600 spoofed as HD 630), which can cause unstable sleep/wake cycles and broken Quick Look previews.
Always test on a separate volume before modifying your primary installation. Keep a backup of your current config.plist and kexts, and verify that your board can fall back to a discrete GPU if the iGPU fails to initialize.
For users who need iMessage and iCloud functionality alongside Intel graphics, the SMBIOS selection must also be consistent with the iGPU generation — using a MacPro6,1 SMBIOS with an Ivy Bridge iGPU will break graphics acceleration. The article How to Set Up iMessage and iCloud on a Legacy Hackintosh (Clover/OpenCore) provides the SMBIOS mapping rules that apply here.
Start with a minimal configuration: inject only ig-platform-id and device-id, enable Inject Intel (Clover) or add PciRoot(0x0)/Pci(0x2,0x0) (OpenCore), and boot. From there, incrementally add patches for audio, dual monitors, or sleep. This approach reduces the number of variables and makes troubleshooting predictable.
