Skip to content

My Hackintosh EFI based on ASRock Z390 Phantom Gaming-ITX/ac and OpenCore.

Notifications You must be signed in to change notification settings

zanderzhng/EFI_Asrock_Z390_Phantom_ITX_OC

Repository files navigation

Part and function list

Item Model Notes
CPU Intel i7 8700
MotherBoard ASRock Z390 Phantom Gaming-ITX/ac TB3 might be working
WIFI DW1820A Apple Watch Unlock / Handoff Not Working
Bluetooth DW1820A Good
Memory Asgard 32GB * 2
dGPU AMD RX 6600
System macOS 13.2.1 OTA upgrading working

Configs

BIOS Settings (BIOS Version 4.30)

Location Item Default Value My Value Reason and Result
Advanced Fast Boot Disabled Disabled DK.
Advanced CFG Lock Disabled Disabled Need more resarch
Advanced VT-d Enabled Enabled Enable quirk DisableIoMapper then no need to disable VT-d.
Advanced CSM Enabled Disabled Disable it seems to be useful when using external GPU.
Advanced VT-x Enabled Enabled Need more research
Advanced Above 4G decoding Disabled Disabled Need more research
Advanced Hyper Threading Enabled Enabled Need more research
Advanced Execute Disable Bit Enabled Enabled Need more research
Advanced EHCI/XHCI Hand-off Disabled Enabled Boot stalls if with USB devices connected. Seems to be the only necessary change in BIOS.
Others OS type No option No option No option
Advanced Intel SGX Enabled Disabled Could be useful by disabling it.
Security Intel(R) Platform Trust Technology Disabled Disabled Need more research.
Advanced Thunderbolt Enabled Enabled Following others research, not tested.
Advanced iGPU Multi-Monitor Disabled Disabled Probably necessary for those using dGPU.

Functions

Bluetooth working

OpenCore Config Details

Not all the configs were explained here

ACPI

ACPI SSDT Patch

SSDT-AMAC fix RTC bug

macOS requires RTC._STA to return 0x0F, meaning RTC enabled. While Asrock BIOS (ASUS and some other compaines too) enabled AWAC and disabled RTC by default (Probably for Windows).
After reviewing the codes, I replaced the old renaming hotpatch with SSDT-AWAC SSDT patch. The renaming hot patch replaced the If ((STAS == One)) of RTC._STA in DSDT with If ((0xFF || 0xFFFF)) , so the RTC._STA will always return 0x0F. It might lead to a conflict in the future, since both RTC and AWAC are enabled at the same time.
If you failed to boot, you may find the renaming method in an older commit, or use SSDT-RTC0 instead.
Reference: FIX for boot hangs after BIOS update (ACPI PATCH), ACPISamples

SSDT-PLUG enables Native Power Management

XCPM was said to bring better performance ( or sth blah blah ). At least it's harmless.
Check status by sysctl -n machdep.xcpm.mode. 1 for enabled. You might need to change PR00 to CPU0, depending on your MB model. You could query this by ioreg -p IODeviceTree -c IOACPIPlatformDevice -k cpu-type -k clock-frequency | egrep name | sed -e 's/ *[-|="<a-z>]//g'
You might need to enable Intel SpeedStep in your BIOS. For my MB it's enabled by default.
Reference: Fixing Power Management, SKL+平台XCPM+HWP完整原生电源管理探究, macOS Native CPU/IGPU Power Management, SSDT-PLUG.dsl

SSDT-PPMC fix energy saver options

This SSDT fix seems to be harmless.
You could verify it by looking into Preferences. You should be able to see 5 options (including power nap) instead of 2.

Kernel

Quirk

  • DisableIoMapper = YES.

This option is a preferred alternative to dropping DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.

About

My Hackintosh EFI based on ASRock Z390 Phantom Gaming-ITX/ac and OpenCore.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published