Reading a 2014 Hackintosh PCI Device List: What Every Entry Means
Decode a 2014 Hackintosh PCI device screenshot: GPU, Ethernet, audio, USB, and SATA entries explained for Yosemite and El Capitan builds.
If you've ever built a Hackintosh from vintage parts, you know the real moment of truth isn't when the installer boots — it's when you open System Information and look at the PCI Devices and Hardware lists. A screenshot from November 14, 2014, timestamped at 11:56:57 AM, shows a typical mid-2010s configuration that many of us still reference. That snapshot pairs an LGA 1150 motherboard with a Kepler-based NVIDIA GPU and a discrete Ethernet controller — a sweet spot for macOS Yosemite (10.10) and early El Capitan (10.11). Understanding what each entry in that list means, and how to replicate or troubleshoot it, is the key to keeping older hardware functional on legacy macOS releases.
Anatomy of a 2014 PCI Device List
The screenshot likely shows a collapsed view of the PCI tree under System Information → Hardware → PCI. On a properly configured Hackintosh from that era, you'd typically see these entries:
- Video Card (VGA Controller) — usually an NVIDIA GeForce GTX 660, GTX 760, or a Radeon HD 7xxx series.
- Ethernet Controller — most often an Intel I217-V or Realtek RTL8111 series.
- Audio Controller — integrated HD Audio (Realtek ALC892 or ALC1150) or a discrete PCIe sound card.
- USB Controller — Intel 8 Series/C220 Series USB xHCI.
- SATA Controller — Intel 8 Series/C220 Series SATA AHCI.
Each entry must match a kext or driver that macOS expects. If the device ID or vendor ID is unrecognized, the system may fail to load the correct driver, resulting in a black screen, no network, or no audio.

Graphics Card: The Kepler Advantage
In 2014, the most painless GPU for a Hackintosh was a Kepler-based NVIDIA card (GTX 6xx/7xx series). These cards required no injection of device properties in most cases — macOS natively recognized the device ID 0x11c0 (for a GTX 660) or 0x1189 (for a GTX 760). If the screenshot shows a GeForce GTX 660 with 2 GB VRAM, the PCI device entry would read:
Vendor: NVIDIA (0x10de)
Device: 0x11c0
Revision: 0xa2
Driver: NVDAGK100HAL.kext
If the driver field shows NVDAStartup.kext or NVDAGF100Hal.kext, the system is falling back to a generic driver — a sign that the device ID is not fully supported or that the board ID requires injection. For cases where the GPU is not recognized correctly, the technique described in Injecting GPU Properties on a Legacy Hackintosh: Device-ID, Framebuffers, and IOKit Personalities can force macOS to load the correct framebuffer and enable full acceleration.
A common mistake in 2014 was using a Fermi-based card (GTX 4xx/5xx) and expecting native support in Yosemite. Fermi cards require GraphicsEnabler=Yes in Chameleon or a manual device-ID injection in Clover. The screenshot would show a blank “Display” section if the GPU was not initialized — a clear indicator that the system was running without hardware acceleration.
Ethernet: Built-in or Not?
The PCI list also reveals whether the Ethernet controller is recognized as “Built-in.” If the entry shows Built-in: No or is missing the IOName property pci14e4,16b1 (for Broadcom), the system will not activate the network interface in macOS. For Intel I217-V Ethernet (common on Z87 and H87 boards), the PCI entry should look like:
Type: Ethernet Controller
Vendor: Intel (0x8086)
Device: 0x153b
Driver: IntelMausiEthernet.kext
If the driver is missing, macOS will fall back to AppleIntelE1000.kext, which may not support the I217-V revision. A dedicated guide for forcing the built-in flag and fixing network issues is available in Ethernet Built-in 4: Fixing Network on Legacy Hackintosh. The key step is adding the built-in property to the device’s IORegistry entry — without it, iMessage and FaceTime will also fail to activate.
Audio: The ALC892 Example
Audio controllers in the 2014 screenshot are almost always HD Audio devices from Realtek. The ALC892, for instance, appears as:
Vendor: Realtek (0x10ec)
Device: 0x0892
Subsystem: 0x1458a002 (Gigabyte)
Without a patched AppleHDA or a VoodooHDA kext, the audio device will show under PCI but will not produce sound. The layout-ID injection via Clover (e.g., layout-id: 1, 2, or 3 depending on the codec) is essential. If the screenshot shows Driver: AppleHDADriver but no output devices in System Preferences, the layout-id is likely missing or mismatched.
USB and SATA: The Foundation of Stability
The Intel 8 Series USB controller (device ID 0x8cb1 for xHCI) should appear with the driver AppleUSBXHCI.kext. If the driver is AppleUSBEHCI.kext, the system is using USB 2.0 fallback — a sign that the XHCI hand-off is not enabled in BIOS or that a USB injector kext is missing. Similarly, the SATA controller should show AppleIntelPchSATAHCIController as the driver. If the SATA controller is listed as Generic SATA Controller, macOS may not recognize the drive as internal, causing sleep/wake issues.

Using the Screenshot as a Diagnostic Tool
If you have a similar screenshot from your own build — or if you are trying to replicate a known working configuration — compare the following fields against a known-good setup:
| PCI Entry | Expected Driver | Common Failure |
|---|---|---|
| NVIDIA GPU (0x11c0) | NVDAGK100HAL.kext | Black screen on wake |
| Intel I217-V (0x153b) | IntelMausiEthernet.kext | Interface not built-in |
| Realtek ALC892 (0x0892) | AppleHDA.kext (patched) | No audio output |
| Intel 8 Series USB (0x8cb1) | AppleUSBXHCI.kext | USB 2.0 fallback |
If a driver is missing, check the IOKitPersonalities dictionary in the IORegistry for that device. For example, a GPU that loads the incorrect framebuffer may require a manual injection of @0,compatible and @0,device-type properties. The Graphics Card Injection 2 for Legacy Hackintosh: A Practical Guide covers the exact procedure for adding these properties via a Clover SSDT or a DeviceProperties patch.
Why the Timestamp Matters
The date of the screenshot — November 14, 2014 — places it just after the release of macOS Yosemite 10.10.1. At that time, the recommended bootloader was Clover r2953 or Chameleon 2.2. The ACPI tables in that era relied on a clean DSDT extracted from the motherboard, as Clover’s automatic fixes were less mature. If you are trying to reproduce a configuration from that screenshot, ensure your bootloader version matches the era — newer versions of OpenCore may break legacy device injection due to stricter ACPI handling.
One final detail: the screenshot’s file name often contains the board model or a user-generated identifier. If your screenshot is named Screen Shot 2014-11-14 at 11.56.57 AM.png, the board is likely a Gigabyte GA-Z87X-UD3H or an Asus Z87-Pro, both of which were popular choices for Yosemite builds. Cross-referencing the PCI subsystem IDs in your screenshot against the board’s manual can confirm the exact revision and guide kext selection.
When diagnosing a failure, open IORegistryExplorer and locate the device entry. If the IOName property is missing or incorrect, macOS will not bind the correct kext. For a GPU, inject the device-id and vendor-id as described in the injection guides; for Ethernet, force the built-in property with a value of 01; for audio, set the layout-id as a data-type property. These small adjustments, verified against a known-good 2014 screenshot, are often all that separates a stable Hackintosh from a kernel panic at boot.
