Legacy NVIDIA GPUs in Hackintosh: What Works with Each macOS Version
Learn which NVIDIA GPUs work with macOS 10.6 through 10.14, including Kepler, Maxwell, Pascal, Fermi, and Tesla. Covers Web Drivers, black screen fixes, and sleep/wake issues.
When building a Hackintosh around a legacy NVIDIA GPU, the first decision isn't which card to buy, but which macOS generation you intend to run. NVIDIA driver support on macOS falls into three distinct periods: the pre-Metal Web Driver era (10.6–10.8), the native-Metal era (10.9–10.13), and the post-10.13 era where NVIDIA dropped official macOS support entirely. Each period imposes hard limits on GPU choice, connector compatibility, and boot-argument requirements. Ignoring these boundaries is the single most common cause of boot loops, black screens, and corrupted NVRAM among retro Hackintosh builders.
Understanding the Three Driver Eras
Apple’s own GPU drivers for NVIDIA hardware ended with the Kepler architecture (GeForce 600/700 series) in macOS 10.13 High Sierra. For Maxwell and Pascal cards (GeForce 900/1000 series), NVIDIA provided separate Web Drivers that worked only on 10.10–10.13. For Fermi and earlier cards (GeForce 400/500 and below), native drivers exist in 10.6–10.8, but support degrades rapidly after 10.9. The table below summarises the safe pairing boundaries:
| macOS Version | Supported NVIDIA Architectures | Driver Source | Critical Limitation |
|---|---|---|---|
| 10.6 Snow Leopard – 10.8 Mountain Lion | Tesla (8000/200/300), Fermi (400/500) | Apple native | No Metal support; no Kepler or newer |
| 10.9 Mavericks – 10.11 El Capitan | Kepler (600/700), Maxwell (900) via Web Driver | Apple native for Kepler; NVIDIA Web Driver for Maxwell | Web Driver required for Maxwell; Fermi loses OpenCL acceleration |
| 10.12 Sierra – 10.13 High Sierra | Kepler (600/700), Maxwell (900), Pascal (1000) | Apple native for Kepler; NVIDIA Web Driver for Maxwell/Pascal | Web Driver must match exact macOS build number; no support past 10.13.6 |
| 10.14 Mojave and later | Kepler only (limited) | Apple native (partially dropped) | No Web Driver; no Maxwell/Pascal support at all |
If you plan to stay on High Sierra, you can use a GTX 980 or GTX 1080 with the correct Web Driver. If you need Mojave for specific software, you are restricted to a Kepler card such as the GTX 680 or GT 740 — and even then, you must patch the driver kext to avoid a kernel panic on wake.
Kepler: The Safe Harbour for 10.9–10.14
Kepler-based GPUs (GK104, GK106, GK107 cores) are the only NVIDIA family with native Apple driver support spanning from Mavericks through to the early stages of Mojave. A GTX 660, GTX 760, or GTX 780 Ti will boot without any injection flags on most Hackintosh builds, provided the board uses a reference or near-reference VBIOS. The catch is that Apple dropped support for some Kepler variants in 10.14.5: the GTX 770 (GK104) and GTX 780 (GK110) may show a black screen on login unless you add nvda_drv=1 or disable SIP and inject the correct IOPCIMatch. For a stable Mojave build, the GT 730 (GK208) or Quadro K600 remain the most predictable choices.
One overlooked detail is the framebuffer limit on Kepler cards connected to a 4K display. The native driver caps the pixel clock at 297 MHz on the first DisplayPort output, which prevents 60 Hz operation at 3840×2160. Using a second DisplayPort or an active DisplayPort-to-HDMI adapter often bypasses this limit, but the only reliable fix is to switch to a Maxwell card with a Web Driver — or accept 30 Hz.
Maxwell and Pascal: Web Driver Dependency
NVIDIA’s Web Drivers for macOS are version-locked to the exact build of the operating system. For example, the driver for 10.13.6 build 17G65 will not load on 10.13.6 build 17G66. If you update macOS without first checking that a matching Web Driver exists, you will end up with a system that boots to a grey screen or a login loop. The safest workflow is:
- Install the target macOS version offline.
- Boot with
-x(safe mode) andnv_disable=1to reach the desktop with basic VESA graphics. - Download and install the Web Driver for that exact build from NVIDIA’s official repository.
- Add
nvda_drv=1to your boot-args and reboot.
If you lose video output after a driver update, boot with nv_disable=1 and re-run the Web Driver installer. Never rely on a “driver updater” tool that modifies the system volume outside of the official installer — this is a common source of NVRAM corruption on X99 and Z77 boards.
Pascal cards (GTX 1050 Ti through GTX 1080 Ti) require the same Web Driver treatment, but they also impose a power-state limitation. The macOS driver does not support the full P-state table on Pascal GPUs, so the card may idle at a higher voltage than under Windows, increasing fan noise. Some users mitigate this by forcing a lower performance state via AGPM (Apple Graphics Power Management) injection, but the results vary by board partner and VBIOS revision.
Fermi and Tesla: The Snow Leopard–Mountain Lion Sweet Spot
For builds targeting macOS 10.6 through 10.8, Fermi cards (GTX 460, GTX 560 Ti, GTX 570) and Tesla cards (GTX 285, Quadro FX 4800) are the most compatible choices. These GPUs use the legacy NVCAP injection method rather than WhateverGreen. If you are assembling a Snow Leopard rig, you will need to manually set GraphicsEnabler=Yes in Chameleon or Chimera and provide a valid NVCAP value in com.apple.Boot.plist. A typical NVCAP for a single DVI + HDMI output Fermi card is 04000000-00000300-06000000-00000007. Getting this wrong causes a kernel panic at IOGraphicsFamily — the system will hang before the login window appears.
The older GraphicsEnabler method is discussed in detail alongside its successor in the article on Graphics Card Injection for Legacy Hackintosh: Three Generations from GraphicsEnabler to WhateverGreen. That piece covers the transition from NVCAP-based injection to the modern WhateverGreen approach, which is essential reading if you are mixing GPUs across multiple macOS versions.
One practical tip for Tesla cards: the Quadro FX 4800 (GT200 core) works natively in 10.6.3 with no injection at all if you use the EFI string method in Chameleon. However, the card’s dual-link DVI output is picky about monitor EDID. If you see vertical lines on boot, force the EDID override by placing a custom DisplayProductID-717 file in /System/Library/Displays/Overrides.
Connector Layout and Multi-Monitor Pitfalls
Regardless of GPU architecture, the macOS display driver expects a specific connector order in the VBIOS. A card whose ports are wired as DVI-D, HDMI, DP1, DP2 may work perfectly, while a card with DVI-I, DP1, HDMI, DP2 from the same vendor may show a black screen on the second monitor. The only way to confirm the connector order is to dump the VBIOS with nvflash under Windows and examine the connector table, or test each port in turn after a fresh install. For Maxwell and Pascal cards, the Web Driver also applies its own connector priority: the first DisplayPort output is always the primary, and HDMI outputs may be limited to 1920×1200 unless the driver detects an Apple Cinema Display EDID.
Diagnosing a Black Screen at Boot
A black screen after the Apple logo is the most frequent failure symptom with NVIDIA GPUs in a Hackintosh. The diagnostic steps are:
- Boot with
nv_disable=1. If the desktop appears, the issue is driver-related. - Check that the Web Driver (if required) matches the macOS build exactly. Run
sw_vers -buildVersionin Terminal and compare with the driver version string. - Verify that
SystemParametersin your config.plist does not containNvidiaWeb=Trueif you are using a Kepler card — that flag forces the system to load the Web Driver even when the native driver is sufficient, which often causes a conflict. - If the board uses an Intel integrated GPU alongside the NVIDIA dGPU, disable the iGPU in BIOS or set
ig-platform-idto0x12345678to prevent the system from initialising the wrong framebuffer. - For Fermi cards, ensure that
NVCAPis injected and thatGraphicsEnableris set toYes. A missing or malformed NVCAP string is the most common cause of a black screen on 10.6–10.8.
If the screen remains black after all checks, try a different output port. Some cards do not initialise the HDMI output until after the login window loads, so connecting a monitor via DVI or DisplayPort during installation can reveal a working system that simply chose the wrong connector.
Sleep and Wake with NVIDIA GPUs
Wake-from-sleep failures are endemic to Hackintosh builds with NVIDIA GPUs. The symptom is a black screen after sleep, while the system is still running (fans spinning, audio playing). The root cause is usually a mismatch between the GPU’s power state on wake and the driver’s expectation. For Kepler cards on 10.13, adding darkwake=0 to boot-args resolves the issue in about 70% of cases. For Maxwell and Pascal cards, the fix is more invasive: you must patch the AGPM kext to align the GPU’s performance state with the Mac model you are emulating. A common working combination is to set SMBIOS to iMac14,2 and replace the AGPM plist entry for that model with the values from a MacPro6,1 entry. This is not a guaranteed fix, and some boards (especially X99) never achieve reliable wake with a Pascal GPU.
If you are comfortable editing ACPI tables, adding a _PS0 method to the PEGP device in your DSDT can force the GPU into a lower power state before sleep. This is an advanced technique and should only be attempted after making a full backup of your EFI partition.
Preserving a Working Configuration
Once you have a stable NVIDIA GPU configuration, save the entire EFI folder — not just the config.plist. The VBIOS version, boot-args, and ACPI patches that work for one card may fail for another card of the same model from a different manufacturer. Keep a text file alongside the EFI backup that records the exact macOS build number, Web Driver version, SMBIOS model, and any NVCAP or IOPCIMatch values you injected. When you later replace the GPU or update macOS, you can compare the new hardware against this reference rather than starting the diagnostic process from scratch.
