Building a High Sierra Hackintosh: Hardware, Patching, and Bootloader Guide
A practical guide to building a macOS High Sierra Hackintosh: APFS risks, CPU/GPU compatibility, Clover vs OpenCore, sleep/wake fixes, and step-by-step preparation.
When macOS 10.13 High Sierra shipped in September 2017, it introduced the Apple File System (APFS) for SSDs, a mandatory Metal API for graphics, and quietly dropped support for several older hardware generations. For Hackintosh builders, this release marked a clear dividing line: machines that could run Sierra smoothly often needed firmware updates, new kexts, or outright hardware swaps to boot High Sierra. Understanding exactly where that line falls—and how to cross it safely—is the focus of this guide.
High Sierra is still a viable target for a retro Hackintosh, especially if you need 32‑bit application support (which Mojave would later remove) or want to run older NVIDIA Kepler cards without web drivers. But its quirks are numerous: APFS conversion can corrupt a non‑Apple SSD’s partition map, the NVMe driver is picky about controller firmware, and sleep/wake failures are common on boards without proper ACPI patches. This article covers the hardware, patching, and bootloader strategies that work with High Sierra, along with the risks you must accept before pressing “Install.”
APFS: The Silent Game‑Changer
High Sierra automatically converts any SSD to APFS during installation unless you explicitly disable it. On a genuine Mac, this is safe. On a Hackintosh, the results depend on the SSD’s controller and the way the bootloader presents the drive. Many Samsung 850/860 EVO drives convert without issue, but older OCZ, Kingston, or SM‑based SSDs have reported failures where the partition becomes unreadable after the conversion. The safest approach is to install High Sierra on a separate HDD or an SSD you’re willing to sacrifice, then manually convert a cloned copy later if you need APFS features like snapshots or space sharing.
If you must keep HFS+, pass the rootless=0 boot‑arg? No—that’s a Sierra holdover. In High Sierra, the trick is to use a modified Installer script that skips the APFS conversion. The cleanest method, however, is to install to a GUID partition table (GPT) drive formatted as HFS+ via Disk Utility in Sierra, then upgrade to High Sierra: the installer will detect the drive is already HFS+ and may leave it alone, though this is not guaranteed. Always back up the entire drive before attempting any upgrade.

CPU Support: From Haswell to Coffee Lake (with Caveats)
High Sierra runs natively on Haswell (4th‑gen) through Kaby Lake (7th‑gen). Broadwell‑E (5th‑gen) works with a corrected DeviceProperties inject for the IMEI. Skylake‑X and Kaby Lake‑X (LGA 2066) require a modified kernelXCPM patch to avoid kernel panics on certain C‑States. Coffee Lake (8th‑gen) was never supported by Apple’s stock kernel, but with a fake CPU ID (e.g., 0x0906E9 for Kaby Lake) and a patched XCPM, High Sierra runs on Z370 boards. However, the iGPU on Coffee Lake (UHD 630) is not accelerated in High Sierra—you’ll need a discrete graphics card.
For legacy builds, the sweet spot is a 4th‑gen Haswell i5 or i7 with a Z87/Z97 board. These require almost no CPU‑related patches, and the iGPU (HD 4600) works with full acceleration using the ig-platform-id 0x0D220003 or 0x0A260006. If you’re building a retro Hackintosh from spare parts, a Haswell setup with 16 GB DDR3 and a SATA SSD is the most predictable High Sierra machine you can assemble.
Graphics Cards: The Metal Tax
High Sierra requires a GPU that supports Metal. This kills support for all NVIDIA cards older than Kepler (GT 6xx/7xx), all AMD cards older than GCN 1.0 (HD 7xxx series), and all Intel IGPUs earlier than HD 4000 (Ivy Bridge). Even if a card can display a picture, without Metal it will lack Core Image acceleration, causing UI lag and broken video playback.
NVIDIA: The Pascal (GTX 10‑series) and Kepler (GTX 6xx/7xx) cards are the most practical. For Pascal, you must install the NVIDIA Web Driver for your exact macOS build number (e.g., 17G65 for 10.13.6). The driver is not automatically updated—you must check the build number after every minor update and reinstall the matching driver. Kepler cards work out of the box with the native macOS driver, making them the best drop‑in option for a no‑fuss build. If you’re considering a newer card, read our dedicated guide on Why GTX 16 Series Cards Won’t Work in a Hackintosh (and What to Use Instead)—the lesson applies to High Sierra as well.
AMD: Polaris (RX 4xx/5xx) and Vega (56/64) are natively supported. The RX 580 is a common choice, but be aware that High Sierra’s driver for Polaris is not identical to Mojave’s—some cards with non‑reference BIOS may produce artifacts in OpenGL applications. The R9 280/380 (GCN 1.1/1.2) also work but require a kernel patch for the AMD9500Controller kext to load properly.

NVMe, SATA, and the Boot Volume
High Sierra includes native NVMe support, but it is limited to Apple‑branded SSDs or controllers that expose a compatible IONVMeController personality. Many third‑party NVMe drives—especially Samsung PM981 and Intel 660p—will not be detected as a boot volume. They may appear in Disk Utility but cause kernel panics during installation. The workaround is to use a SATA SSD for the macOS volume and keep the NVMe drive as a data store. If you must boot from NVMe, stick to Samsung 960 EVO/PRO or WD Black SN750 (with firmware revision 1.0 or later) and apply the NVMeFix kext to prevent unexpected wake issues.
SATA SSDs are the safest choice. Ensure your motherboard’s SATA controller is set to AHCI in the BIOS. High Sierra’s TRIM support for third‑party SSDs still requires the trimforce command, which you can enable after installation. Be aware that enabling TRIM on some older SSDs (e.g., SandForce‑based) can cause read errors after a few months—check the drive’s firmware compatibility before enabling it.
Bootloader Choices: Clover and OpenCore
High Sierra was the last macOS version where Clover was the de facto bootloader for the community. OpenCore 0.5.0 and later do support High Sierra, but the configuration overhead is higher, and some features (like Boot Chime) won’t work. For a straightforward High Sierra build, Clover r5119 or later (with the OsxAptioFix3Drv or AppleImageLoader drivers) is still the most documented path.
Key Clover patches for High Sierra:
- KernelXCPM: Enable for Skylake and newer to prevent panic on idle.
- AppleIntelMCEReporterDisabler: Required on many HEDT platforms to avoid wake‑from‑sleep crashes.
- USBFixOwnership: Often needed on Z370 and H370 boards to prevent USB port enumeration failures.
- OsxAptioFixDrv: Use
OsxAptioFix3Drvfor increased memory allocation—essential for NVMe boot volumes.
For those who prefer OpenCore, the minimum version is 0.5.6, and you must disable AppleCpuPmCfgLock and AppleXcpmCfgLock in the config if your firmware doesn’t have the CFG lock unlocked. A detailed walkthrough of ACPI patching for power management is available in our guide on Hackintosh Power Management: CPU, GPU, and Sleep for Legacy macOS, which covers the specific SSDT modifications needed for High Sierra’s XCPM.
Sleep, Wake, and USB
High Sierra’s power management is more rigid than Sierra’s. If your system uses a Haswell or newer CPU, the XCPM kernel extension controls CPU frequency scaling. A misconfigured SSDT-PLUG will cause the system to sleep immediately after wake, or fail to wake at all. Common fixes include:
- Including a
SSDT-USBXto inject the correct power‑draw values for USB ports. - Patching the
EHCIcontroller if your board still relies on it (most Z97 and earlier boards). - Adding
darkwake=0ordarkwake=8boot args to prevent network‑related wakes from crashing the display.
USB port mapping is critical. High Sierra uses the AppleUSBXHCI kext, which imposes a limit of 15 ports per controller. If your motherboard has more than 15 physical ports, you must either use a USB port mapping kext (like USBInjectAll with a custom SSDT) or disable unnecessary ports in the BIOS. Failure to do so can cause random USB re‑enumerations that lead to wake failures.
Audio and Networking
AppleALC version 1.3.0 or later supports High Sierra’s audio stack. Most ALC‑series codecs (ALC887, ALC892, ALC1150, ALC1220) work with the correct layout‑id. For Ethernet, Intel I219 and I211 chipsets are natively supported; Realtek RTL8111 requires the RealtekRTL8111 kext, which is stable on High Sierra. Broadcom BCM94360 wireless cards provide native AirDrop, but third‑party Wi‑Fi chipsets (like Atheros AR9285) need IO80211Family patches borrowed from Sierra.
If you experience audio crackling after sleep, add alcverbs=1 to your boot args and rebuild the kernel cache. This forces the controller to reinitialize the codec after a wake event.
Risks and Preparation
Before you install High Sierra, create a full backup of any existing system, preferably with a sector‑by‑sector clone. APFS conversion is irreversible without reformatting. If you plan to dual‑boot with Windows, note that Windows cannot read APFS natively (third‑party tools exist but are unreliable). Keep a spare SATA drive with Sierra installed as a rescue system—you will need it to re‑patch kexts if High Sierra’s installer rejects your bootloader.
Finally, test your hardware using a USB installer before committing to an internal drive. Boot with -v (verbose) and watch for panics related to AppleIntelLpss, IOBluetooth, or AppleACPIEC. Document the panic message and search for the specific kext or patch that addresses it. High Sierra’s community patches are well‑documented on the usual forums, but remember that every motherboard is different—what works on a Gigabyte Z97X‑UD5H may not work on an ASUS Z97‑A.
Start with a known‑good configuration: a Haswell i5‑4590, 16 GB DDR3, a Kepler‑based GTX 760, and a Samsung 860 EVO SATA SSD. Install Clover r5122 with the minimal set of drivers. Once you have a booting system, add one component at a time—a newer GPU, an NVMe drive, additional USB hubs—and test sleep/wake after each addition. This incremental approach reduces the time spent diagnosing multi‑variable failures and gives you a stable reference point if something goes wrong.
