How to Inject Device Properties for Radeon HD 6000 in Hackintosh (The ‘6’ Technique)

Step-by-step guide to manually inject device properties for AMD Radeon HD 6670, 6870, and other 6000 series GPUs in legacy Hackintosh systems running macOS 10.7 to 10.13.

macOS System Report displaying AMD Radeon HD 6870 with Metal support and 1024 MB VRAM

Drop a Radeon HD 6670 or HD 6870 into a legacy Hackintosh running macOS 10.8 through 10.13, and you'll likely end up with a generic display adapter or a black screen. The problem is that macOS doesn't have the right device properties in the I/O registry. Injecting those properties — specifically for the AMD 6000 series — is a common fix, but it's easy to get wrong. This guide walks you through the exact method veterans call the “6” technique, named after the connector‑count and family‑ID pattern these GPUs need.

Why the “6” Matters

Radeon HD 6000 cards (Northern Islands) use a specific set of framebuffer personalities. The number “6” appears in several places: the family ID 0x6719 for a typical HD 6770, the six display connectors on some reference boards, and the six‑byte device‑ID that must be injected when the card’s native ID is not recognised by macOS. Clover’s Graphics > InjectATI flag alone rarely works for these cards because the bootloader lacks the correct framebuffer data. You must supply the properties manually via DeviceProperties or a custom SSDT.

Before proceeding, back up your EFI partition and current config.plist. An incorrect injection can cause a kernel panic at boot; recovery requires booting from a USB installer or removing the offending entry from the config. Also verify that your motherboard’s UEFI/BIOS sets the primary display to PEG and disables CSM if possible — legacy VBIOS mode can interfere with property injection.

Step‑by‑Step Injection for Radeon HD 6000

1. Identify Your Card’s Device ID

Boot into macOS with the card installed (even if unaccelerated) and run system_profiler SPDisplaysDataType in Terminal. Note the “Device ID” (e.g., 0x68B8 for HD 6870). If the system doesn’t boot, check the card’s BIOS or use a Linux live USB to extract the PCI ID. Write down the Vendor ID (always 0x1002 for AMD) and the Subsystem ID if available.

2. Choose a Framebuffer Personality

For HD 6000 cards, the most reliable personality is Duckweed (HD 6450/6570/6670) or Pondweed (HD 6750/6770/6850/6870). Higher‑end cards like HD 6950/6970 may need Eulemur or Ursus. The personality determines connector mapping and power‑play tables. You can find a list of valid personalities in the AGPM Editing for Hackintosh guide, which also covers voltage tuning for these GPUs.

3. Add DeviceProperties in config.plist

Open your Clover config.plist (or OpenCore equivalent) with a plist editor. Navigate to DeviceProperties > Add and create a dictionary for your GPU’s PCI path. For a typical discrete card on a single GPU system, the path is PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0). Inside that dictionary, add the following keys (values are Data or String as shown):

  • device-id (Data) — 68B8 for HD 6870 (fill the 4‑byte hex value)
  • vendor-id (Data) — 1002
  • model (String) — AMD Radeon HD 6870
  • ATY,Card# (String) — Duckweed or Pondweed
  • ATY,Family# (String) — Radeon HD 6xxx
  • hda-gfx (String) — onboard-1 (enables HDMI audio)

For OpenCore, the same keys go into the DeviceProperties > Add section, but the PCI path must match the device’s ACPI path (use gfx0 or PEGP). Refer to your DSDT or use the DevicePath method described in the Fixing Ethernet Built‑In 6 guide — the same principle applies to graphics devices.

4. Disable InjectATI and Set Boot Arguments

In Clover, uncheck Graphics > InjectATI — you are injecting properties manually, so the automatic injection would conflict. Add debug=0x100 and keepsyms=1 to Boot Arguments for verbose output during testing. If you use OpenCore, set NVRAM > Add > boot-args accordingly.

Common Injection Keys and Values for HD 6000

Key Type Example Value Purpose
device-id Data 68B8 Override the PCI device ID
vendor-id Data 1002 Confirm AMD vendor
ATY,Card# String Pondweed Framebuffer personality
ATY,Family# String Radeon HD 6xxx Family name for kext matching
hda-gfx String onboard-1 HDMI audio codec binding
@0,connector-type Data 00040000 Override a specific connector (rarely needed)

If you need to inject a custom connector type (e.g., for a dual‑link DVI monitor), you can add @0,connector-type through @5,connector-type as Data values. The hex values correspond to the connector sense IDs. This is an advanced step; start with the basic keys above and only tweak connectors if you get a black screen on a specific port.

macOS System Report displaying AMD Radeon HD 6870 with Metal support and 1024 MB VRAM

Troubleshooting Injection Failures

  • Black screen after boot — Check that your monitor is plugged into the correct port. Some personalities map connectors differently; try a different cable or switch to the second DVI port. If still black, remove the ATY,Card# key and use a different personality.
  • No acceleration (only 7 MB VRAM) — The device-id injection may have failed. Verify the PCI path in IORegistryExplorer. The card should appear under IOService:/AppleACPIPlatformExpert/PCI0@0/.../PEGP@1 or similar. If the path is different, adjust the DeviceProperties dictionary.
  • Kernel panic at “IOConsoleUsers” — Usually caused by a conflicting framebuffer. Disable InjectATI and ensure no other graphics injection kexts (like WhateverGreen) are loaded for this card. For HD 6000, you do not need WhateverGreen; the injection is purely via properties.
  • HDMI audio not working — Confirm that hda-gfx is set to onboard-1 and that AppleHDA is loaded. You may need a separate audio patch for the HDMI codec; that is outside the scope of this guide.

After a successful injection, the card should show full Metal support (on macOS 10.12 and earlier) or OpenGL acceleration. Run Geekbench Metal or Unigine Valley to confirm stability. If the system crashes under load, revisit the AGPM editing guide to adjust the voltage curve for your specific card model.

One final note on version limitations: Radeon HD 6000 injection works reliably from OS X Lion (10.7) through High Sierra (10.13). Starting with Mojave (10.14), Apple dropped support for these GPUs entirely, so injection will not restore acceleration — only a framebuffer image is possible. If you are building a legacy system, stick to 10.13.6 as the last usable macOS version for this family.