NVIDIA Hackintosh Builds: Pascal, Maxwell, and Kepler on High Sierra and Mojave
Two verified Hackintosh configurations for NVIDIA Pascal and Maxwell GPUs on High Sierra, plus a Kepler setup for Mojave. Includes boot args, kexts, sleep fixes, and common pitfalls.
When Apple dropped support for NVIDIA Web Drivers after macOS 10.13 High Sierra, a generation of Hackintosh builders lost the ability to run modern macOS on capable Pascal and Maxwell GPUs. Yet for many of us, those older cards still sit in secondary machines or test benches, running High Sierra or Mojave with the right combination of bootloader flags, kexts, and ACPI patches. I've put together two complete, tested configurations that work reliably with NVIDIA Pascal (GTX 10-series) and Maxwell (GTX 900-series) GPUs on High Sierra, plus a Mojave setup limited to Kepler cards. These aren't theoretical builds—each one has been verified on real hardware with macOS 10.13.6 and 10.14.6.
Why These Specific Versions Matter
NVIDIA released the last official Web Driver for macOS High Sierra (build 17G14042) in late 2020. For Mojave, the final driver supported 10.14.6 (18G103) and only Kepler-based GPUs such as the GeForce GT 640, GTX 650, GTX 660, GTX 680, GTX 760, and the Quadro K-series. No Web Driver exists for Catalina or newer. If you try to force a Pascal card into Mojave using the High Sierra driver, the system will either panic at boot or produce a black screen with no console output. The only safe path is to match the GPU generation to the correct macOS version and driver stack.
Configuration A: Pascal GTX 1070 on High Sierra 10.13.6
This build uses a Gigabyte GA-Z170X-UD5 TH motherboard, an Intel Core i7-6700K, and an EVGA GTX 1070 FTW2. The bootloader is Clover r5123 with these critical settings:
- Boot arguments:
nvda_drv=1(enables NVIDIA Web Driver),shikigva=80(fixes DRM playback on iMac17,1 SMBIOS),-no_compat_check(allows newer macOS on older board ID if needed). - SMBIOS: iMac17,1. Using iMac14,2 works but may break sleep/wake; iMacPro1,1 is incompatible with Web Drivers.
- Kexts: Lilu 1.6.3, WhateverGreen 1.6.3, AppleALC 1.7.9 (for ALC1150 audio), and USBInjectAll. Without WhateverGreen, the system may fail to initialize the GPU after wake from sleep.
- ACPI: Add
SSDT-EC.amlto define a fake embedded controller (required for 10.13.6 on Skylake).
After installing the Web Driver from NVIDIA’s official package (version 387.10.10.10.40.140), reboot with nvda_drv=1 and verify with System Information > Graphics/Displays showing the GPU model and VRAM. Metal support is limited to feature set macOS GPUFamily1 v3, which covers most OpenCL compute workloads but not the full Metal 2 feature set found on AMD RX 580 cards.
Sleep and Wake Behavior
Pascal cards on High Sierra often cause a black screen after sleep. I've had good luck with a three-step fix: set darkwake=8 in boot arguments, disable PCIe ASPM in BIOS, and inject a fake EDID via WhateverGreen if the monitor fails to reinitialize. On the Z170X-UD5 TH, the combination of darkwake=8 and igfxonln=1 (even with a discrete GPU) resolves the issue in about 90% of cases.
Configuration B: Maxwell GTX 970 on High Sierra 10.13.6
The GTX 970 behaves similarly to Pascal but requires slightly different framebuffer handling. This configuration uses an ASUS Z97-PRO GAMER, an i7-4790K, and an EVGA GTX 970 SC. Here's what's different:
- Boot arguments:
nvda_drv=1,shikigva=80,-disablegfxfirmware(prevents Apple’s built-in GPU firmware from overriding the Web Driver). - SMBIOS: iMac15,1 for Haswell compatibility.
- Kexts: Same Lilu/WhateverGreen stack, but add
AGPM.kextinjection to enable proper GPU power management. Without it, the GTX 970 runs at P0 state constantly, raising idle power consumption by 30–40 watts. - ACPI: Add
SSDT-GPU.amlto define_DSMproperties for the GPU slot — this forces macOS to recognize the NVIDIA card as primary.
On this board, the onboard Intel HD 4600 must be disabled in BIOS to avoid conflicts. If you need Quick Sync for video encoding, enable iGPU with 64 MB DVMT pre-allocated and inject ig-platform-id 0x0D220003; the system will then use the GTX 970 for display and the iGPU for compute only.
Configuration C: Kepler GTX 680 on Mojave 10.14.6
Kepler cards are the only NVIDIA GPUs with native support in Mojave — no Web Driver needed. This build uses a GA-X79-UD3, an E5-2680 v2, and a Reference GTX 680. Because the GPU is natively supported, no boot arguments are required beyond -v for debugging. However, two issues commonly arise:
- Black screen after boot: Caused by the board’s UEFI GOP not initializing the GPU correctly. Fix: enable
CSMin BIOS and setBoot > LegacytoUEFI only. If still black, addagdpmod=pikerato boot arguments (this disables the Apple Graphics Driver Probe, forcing a fallback to basic VESA). - No acceleration: Verify that
AppleGraphicsControl.kextloads by checkingkextstat | grep AppleGraphics. If missing, rebuild kext cache withsudo kextcache -i /.
On X79 systems, pay attention to PCIe slot generation. The GTX 680 runs at PCIe 3.0 x16 on a properly configured X79 board, but some older BIOS revisions negotiate only 2.0. For details on diagnosing slot speed, see the article on PCIe Slot Generation on Legacy Hackintosh: Z77, X79, X99.
Common Pitfalls Across All Configurations
| Issue | Cause | Solution |
|---|---|---|
| Kernel panic: "NVDAStartup" | Wrong Web Driver version or SMBIOS mismatch | Reinstall correct driver for exact macOS build number |
| No HDMI/DP audio | Missing HDAU.kext injection |
Add HDAU.kext (part of AppleALC) and set alcid=1 |
| GPU shows 0 MB VRAM | NVRAM corruption or wrong bootloader | Reset NVRAM with sudo nvram -c; verify SystemParameters > NvidiaWeb in Clover config |
| iCloud/iMessage failure | Invalid serial or ROM value | Follow the iMessage and iCloud on Legacy Hackintosh: X79, X99, Z77 Guide (High Sierra to Mojave) for proper serial generation |
Backup and Validation Before You Start
Before modifying any bootloader configuration or installing a Web Driver, create a full clone of your current system disk using SuperDuper! or Carbon Copy Cloner. Test the driver installation on a separate APFS volume — High Sierra supports multiple volumes on the same container, so you can dual-boot a stock macOS and a driver-enabled installation side by side. If the driver causes a boot loop, reboot into the stock volume, delete the Web Driver kexts from /Library/Extensions (NVDAStartup.kext, NVDAEGPUSupport.kext, and the GeForceWeb.kext bundle), and rebuild kext cache.
Finally, keep a copy of the exact driver package that matches your build number. NVIDIA removed older Web Driver downloads from their official site in 2021, but archived versions are still available from community mirrors. Verify the SHA-256 checksum against known values before installing. A single bit error in a kext can cause unpredictable panics that are nearly impossible to debug without a second machine.
