A fully working OpenCore build for the ASUS PRIME Z370-A paired with an Intel i7-9700, Gigabyte Vega 64, ALC1220S audio, and full Bluetooth support. 🚀
- OpenCore: 1.0.7
- Lilu: 1.7.2
- WhateverGreen: 1.7.0
- AppleALC: 1.9.7
| Component | Model | Status/Notes |
|---|---|---|
| Motherboard | ASUS PRIME Z370-A | Working perfectly |
| CPU | Intel Core i7-9700 (Coffee Lake) | Native Power Management |
| GPU | Gigabyte RX Vega 64 8GB | Native support (OOB) |
| Audio | Realtek ALC1220S | layout-id=7 |
| Storage | WD Black SN850X NVMe | Fully compatible |
| Bluetooth | Intel / Broadcom | Fully working (requires -ibtcompatbeta boot-arg on Tahoe) |
- 🖥️
iMacPro1,1(Recommended): Best for a dGPU-only build (Vega 64). Ensure the iGPU is disabled in the BIOS. Enables native DRM (Apple TV+, Netflix in Safari, Prime Video). - 🖥️
iMac19,1: Use this if you need to keep the iGPU enabled for compute tasks.
⚠️ WithiMacPro1,1, the CPU will appear as Intel Xeon in "About This Mac" — this is expected and does not affect performance.
Start by loading Optimized Defaults (
F5) before applying the settings below.
| Action | Setting | BIOS Path |
|---|---|---|
| 🔴 Disable | Fast Boot | Boot |
| 🔴 Disable | Secure Boot | Boot → Secure Boot |
| 🔴 Disable | CSM | Boot → CSM |
| 🔴 Disable | CFG Lock (MSR 0xE2) | Advanced → CPU Power Management |
| 🔴 Disable | VT-d | Advanced → System Agent (SA) Config |
| 🔴 Disable | Intel SGX | Advanced → CPU Configuration |
| 🔴 Disable | Intel Platform Trust (PTT/TPM) | Advanced → PCH-FW Configuration |
| 🔴 Disable | Serial / COM Port | Advanced → Onboard Devices |
| 🔴 Disable | iGPU (Intel UHD 630) |
Advanced → SA Config → Graphics Config |
| 🟢 Enable | VT-x | Advanced → CPU Configuration |
| 🟢 Enable | Hyper-Threading | Advanced → CPU Configuration |
| 🟢 Enable | Execute Disable Bit | Advanced → CPU Configuration |
| 🟢 Enable | Above 4G Decoding | Advanced → System Agent (SA) Config |
| 🟢 Enable | XHCI / EHCI Hand-off | Advanced → USB Configuration |
| 🔵 Set | SATA Mode → AHCI | Advanced → PCH Storage Configuration |
| 🔵 Set | DVMT Pre-Allocated → 64 MB | Advanced → SA Config → Graphics Config |
| 🔵 Set | OS Type → Windows 8.1/10 UEFI Mode | Boot → Secure Boot |
- Fast Boot — Can prevent OpenCore bootloader from loading correctly.
- Secure Boot — Incompatible with OpenCore; must be off.
- CSM (Compatibility Support Module) — Must be OFF for pure UEFI mode; active CSM causes
gIOerrors at OpenCore boot. - CFG Lock (MSR 0xE2)
⚠️ CRITICAL — macOS cannot boot with this locked. If not visible in BIOS, enableAppleCpuPmCfgLock+AppleXcpmCfgLockinconfig.plist → Kernel → Quirks. - VT-d — Can disrupt macOS IOMMU. Alternative: set
DisableIoMapper=YESinconfig.plist → Kernel → Quirks. - Intel SGX — Unused, may cause instability.
- Intel Platform Trust (PTT/TPM) — Not needed under macOS.
- Serial / COM Port — Can conflict with ACPI SSDTs.
- iGPU (Intel UHD 630)
⚠️ REQUIRED with iMacPro1,1 — TheiMacPro1,1SMBIOS has no iGPU in the Apple model. Leaving it enabled will cause kernel panics. The Vega 64 handles all rendering.
- VT-x — Required for OpenCore Kernel Quirks and macOS virtualization.
- Hyper-Threading — Used natively by the macOS scheduler; improves multi-core performance.
- Execute Disable Bit — Required for macOS memory security.
- Above 4G Decoding — Mandatory for the RX Vega 64 (large GPU BAR).
- XHCI / EHCI Hand-off — Essential for native macOS USB controller management without kernel panics.
- SATA Mode: AHCI — RAID mode is not recognized by macOS.
- DVMT Pre-Allocated: 64 MB — Minimum recommended (leave at 64 MB even with iGPU disabled).
- OS Type: Windows 8.1/10 UEFI Mode — Required for UEFI Secure Boot screen to remain compatible.
| Quirk | Value | Notes |
|---|---|---|
AppleCpuPmCfgLock |
YES |
Set to NO if CFG Lock is disabled in BIOS |
AppleXcpmCfgLock |
YES |
Set to NO if CFG Lock is disabled in BIOS |
DisableIoMapper |
YES |
Required if VT-d is not disabled in BIOS |
XhciPortLimit |
YES |
Only for macOS ≤ 11 (Big Sur); disable on Monterey+ |
ResizeAppleGpuBars |
0 |
Required with Above 4G Decoding enabled |
ProvideCurrentCpuInfo |
YES |
Coffee Lake CPU power management |
| SSDT | Role |
|---|---|
SSDT-PLUG |
CPU Power Management (P-States & C-States) |
SSDT-EC-USBX |
Embedded Controller + USB power |
SSDT-AWAC |
RTC clock fix for Z370 (replaces AWAC with RTC) |
SSDT-PMC |
Power Management Controller — required for Z370 chipset |
These settings cover the Platform Misc Configuration and PCH / SA PCI Express sections of the ASUS Z370-A BIOS. ASPM (Active State Power Management) reduces power consumption on idle PCIe links.
| Setting | Value | Priority | Reason |
|---|---|---|---|
| PCI Express Native Power Management | Disabled |
🔴 Important | Let BIOS manage ASPM — macOS has no full native control on Z370. Enabling can cause kernel panics or wake failures. |
| Native ASPM | Disabled |
🔴 Important | Only useful under Windows Vista+. Under macOS, BIOS-managed ASPM is more stable. |
| DMI Link ASPM Control (PCH PCIe) | Disabled |
🔴 Important | The DMI link (CPU to PCH) is critical — any interruption can cause freezes or black screens. |
| ASPM (PCH PCI Express) | Disabled |
🟠 Recommended | Disable globally for stability. Can be re-enabled per-device via DeviceProperties if needed. |
| L1 Substates (PCH PCI Express) | Disabled |
🟠 Recommended | L1 sub-states (L1.1 / L1.2) can cause latency spikes or spurious wake events on Hackintosh. |
| ASPM Control (SA PCIe) | Disabled |
🟠 Recommended | System Agent ASPM is irrelevant with iGPU disabled (iMacPro1,1) and a potential source of conflicts. |
| PEG ASPM (SA PCIe) | Disabled |
🔴 Important | PEG slot = PCIe x16 for the Vega 64. Enabling ASPM on this link can cause GPU stutters or black screen on wake. |
| State | Description |
|---|---|
L0 |
Active — all PCIe transactions running, no power savings |
L0s |
Light standby — fast entry/exit, minimal savings |
L1 |
Deep standby — significant savings, higher wake latency |
L1.1 / L1.2 |
L1 sub-states — maximum savings, incompatible with some Hackintosh hardware |
If your NVMe SSD (WD SN850X) runs hot at idle, you can enable ASPM only for that device via config.plist DeviceProperties — without touching global BIOS settings:
<!-- Replace PciRoot path with your NVMe path (check with Hackintool -> PCIe tab) -->
<key>PciRoot(0x0)/Pci(0x1D,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>pci-aspm-default</key>
<data>02010000</data>
</dict>Use Hackintool -> PCIe tab to get the exact PciRoot path of your NVMe and verify its current ASPM state with:
ioreg -l -p IODeviceTree | grep pci-aspm-default
To update your EFI without breaking your system, follow the Dortania Update Guide.
- Download the latest
OpenCorePkgrelease. - Replace
BOOTx64.efi,OpenCore.efi, andOpenRuntime.efi. - Update your Kexts in the
EFI/OC/Kextsfolder. - Run a Clean Snapshot (
Cmd/Ctrl + Shift + R) in ProperTree.
- Format a USB drive as Mac OS Extended (Journaled) with a GUID Partition Map.
- Run the
createinstallmediacommand for your desired macOS version. - Mount the USB's
EFIpartition and copy this repository'sEFIfolder into it.
- Boot from the USB and select Install macOS in the OpenCore picker.
- Format your NVMe as APFS (GUID Partition Map).
- Install macOS. The system will reboot multiple times; always boot from the macOS Installer partition until complete.
- Load Optimized Defaults (
F5), then apply all BIOS settings above - Verify UEFI mode is active (no Legacy/CSM)
- iGPU confirmed disabled in Graphics Configuration
- CFG Lock disabled (or quirks enabled in config.plist)
- Above 4G Decoding enabled
- SATA in AHCI mode
- XHCI/EHCI Hand-off enabled
- Secure Boot + CSM disabled
- SMBIOS
iMacPro1,1generated with GenSMBIOS (unique values per machine) - Audio Layout-id =
7(ALC1220S)
- Dortania OpenCore Install Guide
- Acidanthera for OpenCore and Kexts.