Fixing ACPI Error 3327 on Ivy Bridge and Haswell Hackintosh Systems

Step-by-step guide to resolve ACPI namespace lookup error 3327 on Ivy Bridge and Haswell motherboards for Hackintosh. Includes DSDT renaming and SSDT dropping.

macOS verbose boot showing ACPI error 3327

A particular ACPI error shows up on certain Ivy Bridge and Haswell motherboards during boot: ACPI Error: [_SB_.PCI0.PEG0.PEGP._LOD] Namespace lookup failure, AE_NOT_FOUND (20130517/psargs-3327). The trailing “3327” is the line number in the ACPI parser where the failure triggers, but in the Hackintosh community the shorthand “3327” has come to denote the entire class of namespace lookup errors caused by a malformed Device (PEGP) object in the DSDT. The “2” hints that two separate patches are usually needed—one for the DSDT itself and one for the SSDT that may shadow the same device path.

These errors typically appear on boards where the firmware exposes a PEGP entry under the PCI root but does not properly set up the _LOD (Linked On-Demand) method. macOS 10.12 (Sierra) and 10.13 (High Sierra) are particularly sensitive to this pattern because their I/O Kit expects a fully defined device scope before attempting to power-gate the GPU. If your system hangs at IOConsoleUsers: gIOScreenLockState 3 after the error, you are likely dealing with this exact issue.

macOS verbose boot showing ACPI error 3327

Identifying the Responsible Tables

Before patching, extract all ACPI tables from your firmware. Use Clover (F4 at the picker menu) or acpidump from a Linux live USB. Look for the file DSDT.aml and any SSDT that contains PEGP—often SSDT-2.aml or SSDT-6.aml depending on the vendor. To find the exact label, run:

iasl -d *.aml
 grep -l "PEGP.*_LOD" *.dsl

If a match appears only in DSDT.dsl, then only one table needs modification. If it also appears in an SSDT, both must be corrected—this is the “two-part” nature of the fix.

Approach 1: Renaming the Device in DSDT

The safest method is to rename the Device (PEGP) to something that macOS will not try to evaluate for _LOD, such as Device (PEG2). Open your DSDT.dsl in a text editor and locate the offending device—usually under Scope (_SB.PCI0.PEG0). Change:

Device (PEGP) { ... }

to

Device (PEG2) { ... }

Then update any references to PEGP within the same scope to PEG2. Do not change references in _CRS or _PRW that are external—only the device name and its child method references.

After editing, recompile with iasl -ta DSDT.dsl and verify no new errors. Place the resulting DSDT.aml into /EFI/CLOVER/ACPI/patched/. Reboot. If the 3327 error persists, the problem also exists in an SSDT.

Text editor view of DSDT.dsl with PEGP renamed to PEG2

Approach 2: Dropping the Offending SSDT

When an SSDT also defines a PEGP device with a partial _LOD, macOS will combine it with the DSDT scope and still trigger the error. The cleanest fix is to drop that specific SSDT in the bootloader. In Clover’s config.plist, under ACPI -> DropTables, add an entry with the table signature (SSDT) and the exact table ID (e.g., CpuPm or SaSsdt). To find the ID, inspect the DefinitionBlock header of the offending SSDT. For example:

DefinitionBlock ("", "SSDT", 2, "APPLE ", "CpuPm", 0x00001000)

would use CpuPm as the TableId. Add the drop entry:

<key>DropTables</key>
<array>
    <dict>
        <key>Signature</key>
        <string>SSDT</string>
        <key>TableId</key>
        <string>CpuPm</string>
    </dict>
</array>

Dropping an SSDT may affect CPU power management or other features. If your system becomes unstable, you must merge the necessary _PR_ scopes from that SSDT into the DSDT before dropping it. This is an advanced step and is covered in detail in the Fixing ACPI Panics on X79/X99 Hackintosh for macOS High Sierra article.

Combined Fix: Rename + Drop

Many users find that a single approach is insufficient. The reliable two-step sequence is:

  • Step 1: Rename Device (PEGP) to Device (PEG2) in DSDT.aml.
  • Step 2: Drop the SSDT that contains the duplicate PEGP definition.

After both changes, clear NVRAM (press N at Clover boot menu) and boot with -v debug=0x100. The 3327 error should no longer appear, and the boot should proceed past IOConsoleUsers.

Important Caveats

This patch is most often needed on boards with integrated Ivy Bridge graphics (HD 2500/4000) or dGPU-only Haswell setups where the onboard GPU is disabled. On newer platforms like Kaby Lake, the ACPI structure for GPU power management was rewritten, so this error is rare—see the The Kaby Lake Conundrum: CPU Compatibility in Sierra 10.12.4 for the generational differences. Always test with a backup USB installer before committing changes to your primary EFI partition. A single typo can render the system unbootable; keep a copy of the original DSDT.aml on hand.

After patching, run iasl -da -dl DSDT.aml and confirm that the Device PEGP entry no longer has the _LOD method that caused the error. No other warnings should appear for the PEGP scope.