Asus Strix X299-E Gaming

Asus Strix X299-E Gaming

华硕ASUS 2021-02-03

OpenCore running on Asus X299-E Strix

Asus Strix X299-E Gaming

What’s this for? Not too many X299 hardware running macOS, let alone OpenCore so thought I’d post this ;p Please use this as a base and not a guide .For a proper guide, please follow the OpenCore Install Guide

Note: This system was built with the BIOS Version 2002, and I’ve had reports that Version 3006+ has broken a few things:

  • BIOS cannot properly unlock the MSR E2 register
    • v3105 resolves this issue
  • AWAC clock has been added
  • SetupVirtualMap is broken
    • Can simply disable this quirk, it’s not required for booting

What work and what doesn’t

Works:

  • macOS High Sierra, Mojave, Catalina and Big Sur
    • See below on note regarding Big Sur support
  • Native NVRAM
  • Bootcamp
  • Sleep
  • USB power(Including iPad Pro 12.9 Charging!)
  • CPU Power Management
  • iTunes, Netflix and all other DRM-based content
  • Handoff, AirDrop, Apple Watch Unlock and all other Apple services
  • Display Brightness and Volume with Apple Keyboard
  • Boot Chime to internal speaker(hooked up a genuine PowerMac speaker!)
  • OpenCore GUI
    • Above 2 will require the resources folder to be populated with files from here: OcBinaryData
  • Serial Debugging
    • If you do a lot of kernel debugging like I do, this board will be great. Remember to enable serial in the BIOS and have a Serial header to DB9, and another machine to recieve the signal(if the other machine doesn’t have serial, this DB9 to USB RS 232 adapter will work fine). I recommend having CoolTerm for serial logging, I found it the simplest to use.
    • You’ll also need the following added to boot-args for proper output:
debug=0x8 msgbuf=1048576 serial=5 

Doesn’t work:

  • Onboard Wifi: Won’t work, I removed it and use a genuine Apple Airport BCM94360CD Card with PCIe x1 adapter.
  • Onboard Bluetooth: Works inconsistently, replaced with BCM94360CD so didn’t look into it, see this thread for some ideas.
  • SideCar: Since 10.15.4, I’ve not been able to get sidecar working, been actively looking for fixes though: Sidecar not working on iGPU-less systems reliably

Big Sur note:

  • To run macOS 11, Big Sur, you’ll need the following:
    • Latest releases of all your kexts
    • Build of OpenCore 0.6.0 or newer
    • RTC patch

For the last one, this is due to Asus not mapping all the RTC regions for some reason. Specifically skipping regions 0x72 and 0x73. And in Big Sur, AppleRTC gets a lot saltier with this and won’t boot. So we force in the extra regions with a simple 0x02 to 0x04 replace, see below patch:

Under ACPI -> Patch:

Comment String Fix RTC Range
Enabled Boolean YES
Count Number 0
Limit Number 0
Find Data 5F435253 11180A15 47017000 70000102 47017400 74000104 22000179
Replace Data 5F435253 11180A15 47017000 70000104 47017400 74000104 22000179

Alternatively you can also use the sample SSDT-RTC0-RANGE, which may be better suited if you plan to dual boot with Linux and Windows often. I documented the process in OpenCorePkg: SSDT-RTC0-RANGE.dsl

OpenCore Specifics

Kexts

config.plist

ACPI

Add
  • SSDT-EC-USBX-X299
    • Creates a fake EC and fixes USB power. Note I do not power off the original EC, reason for this is due to a huge mess around sleep and _GPE. Turning off this EC makes waking a pain without hacky fixes
  • SSDT-PLUG-X299
    • Sets Plugin-type=1 to SB.SCK0.CP00 allowing for proper CPU power management
  • SSDT-SBUS-MCHC
    • Creates SMBus device allowing AppleSMBus to load
  • SSDT-RTC0-RANGE-v3006
  • SSDT-BRG0-X299
    • Enforces an ACPI path for the dGPU in the top slot, required for macOS Big Sur if you require DeviceProperty injection
    • Adjust accordingly if the dGPU is in another slot

Booter

Quirks
Quirk Enabled Comment
AvoidRuntimeDefrag True Needed to boot
DevirtualiseMmio True Adds extra allocation areas
EnableWriteUnprotected False Conflicts with RebuildAppleMemoryMap below
ProvideCustomSlide True Ensures bad sectors aren’t used for booting
RebuildAppleMemoryMap True Fix allocations due to memory map issues
SetupVirtualMap False BIOS v3006+ break with this quirk enabled
SyncRuntimePermissions True Needed for booting Windows and linux correctly

DeviceProperties

PciRoot(0x0)/Pci(0x1F,0x3)

To enable the on-board ALC S1220A

layout-id | Data | 01000000
PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

Used for fixing Navi GPUs when using WhateverGreen and iMacPro1,1, this arg is not required if you don’t use WEG(ie. MacPro7,1)

  • Note this assumes the Navi GPU is in the top slot, adjust accordingly to your board
  • macOS 11, Big Sur, will also require SSDT-BRG0-X299 for this to work correctly
agdpmod | String | Pikera 

Kernel

Quirks
Quirk Enabled Comment
DisableIOMapper True Needed if you plan to use VT-D in Windows or Linux
PanicNoKextDump True Helps with troubleshooting
PowerTimeoutKernelPanic True Helps with audio related kernel panics

NVRAM

7C436110-AB2A-4BBB-A880-FE41995C9F82
arg value
boot-args -v debug=0x100 keepsyms=1

SMBIOS

  • iMacPro1,1 or MacPro7,1 SMBIOS
    • Note that MacPro7,1 is Catalina+ only
    • iMacPro1,1 will need WhateverGreen.kext as well

Hardware Specifics

Hardware:

  • i9 7920X
  • Noctua NH D15
  • Asus Strix X299-E Gaming
  • Multiple GPUs tested:
    • Pegatron GT 220 1GB
    • HP GT 710 2GB
    • MSI Armour RX 580 8GB
    • MSI AirBoost Vega 56 8GB
    • Gigabyte RX 5700XT 8GB
      • This guy will need either agdpmod=pikera on iMacPro1,1 or remove WhateverGreen entirely for MacPro7,1
  • WD Black SN750 1TB NVMe
  • 32GB 2666Mhz (4x8GB)
  • Apple BCM94360CD(pulled from a genuine iMac14,2)

Main important BIOS settings:

  • Asus Multicore: Auto
  • CPU Core Ratio: All Core Sync
  • MSR Lock: Disabled
    • If can’t disable, turn on AppleCpuPmCfgLock and AppleXcpmCfgLock. Without this, you won’t go far for install.
    • Newer BIOS updates do show this option, make sure you’re on v3105 for best results
  • Legacy USB: Disabled
  • Above 4G encoding: Enabled
  • CSM: Disabled
  • OS Type: Windows UEFI

I’ve also provided a BIOS-settings.txt here, you can actually load it off a USB so you know you didn’t miss any weird settings: X299_Strix_OpenCore_setting.txt

同类内容
ASUS TUF B460M  I5 10500 ES  RX5700
AsRock B460M Pro4 i5 10600