Guide about installing macOS Big Sur on ASUS P8P67 PRO/EVO (REV3.0) based PC
This Hackintosh was build with help of Qraxin/Asus-P8P67-OpenCore-EFI repository and OpenCore guide Desktop Sandy Bridge as base.
- macOS: Big Sur 11.4
- bootloader: OpenCore 0.7.1
Table of Contents
-
Use version 3602 (get ROM for PRO/EVO Board from BIOS folder)
-
Check for correct BIOS settings (F8/DEL on post):
EZ-Mode - System Performance - Asus Optimized Advanced Mode - Advanced - CPU - Intel VT-d: Enabled - SATA - Mode Selection: AHCI - S.M.A.R.T.: Enabled - USB - Legacy: Enabled - Legacy USB 3.0: Enabled - EHCI Hand-off: Enabled - Onboard Devices - Renesas USB 3.0: Disabled - Bluetooth: Disabled - VIA 1394: Disabled - Marvell Storage: AHCI - Serial Port: Disabled - Boot - PCI ROM: Legacy ROM - Option ROM: Force BIOS
This Hackintosh was created on an ASUS P8P67 PRO Mainboard with an Intel Core i7 2600K Processor and 16GB RipjawsX DDR3 RAM. It is running now on an ASUS P8P67 EVO Mainboard. MSI GeForce GTX 760 and Asus Radeon RX 570 graphic cards have been working with different display setups.
Graphics
Asus Radeon RX 570 was used with two 4K Monitors on DP and HDMI (DVI has problems).
MSI GeForce GTX 760 was used with two Displays on DVI, no 4K on HDMI possible (v1.4a).
WiFi
For native WiFi and BT support a BCM94360CD Fenvi FV T919 card is used to get Apple Watch Unlock working and reduce issues with BT. Alternatively an ASUS PCE-AC55BT B1 PCI-E adapter can be used with a BroadCom BCM4352 BCM94352Z NGFF M.2 card as chip.
Bluetooth
The onboard Bluetooth is disabled. The Bluetooth of the Broadcom BCM94352Z causes unwanted wake from sleep, therefore a SSDT-GPRW patch is used. Alternatively a Plugable Bluetooth 4 USB Adapter can be used (works ootb).
SATA
For eSATA/SATA and RAID a DIGITUS DS-30104-1 PCI-E card is used as the MARVELL 88SE9230 chip works with the CtlnaAHCIPort.kext.
USB
USB2 works ootb but a port mapping was created in the attempt of avoiding unwanted wake from sleep which is caused by the internal USB-connector of the BT-card. As the most promising solution (setting the USB-connector type to internal/255) is not working (BT isn't recognized anymore), the current solution is a SSDT-GPRW patch which disables wake by usb completely.
USB3
For USB3 an Inateck KT4006 PCI-E card (FL1100) is used which works ootb. The internal NEC/Renesas USB3.0 controller doesn't work on Big Sur and is disabled in bios.
a) Preparation
-
Format USB-Drive with GUID and APFS (Link)
-
Find the correct disk number of USB-Drive:
diskutil list
-
Replace {n} with corresponding disk number and {Volume} with desired Name:
diskutil apfs createContainer /dev/disk{n} diskutil apfs addVolume disk{n} APFS {Volume}
-
-
Download latest OpenCore: acidanthera/opencorepkg
- Chose
debug
for installation and config orrelease
for final use
- Chose
b) Install OpenCore
- Follow this guide OpenCore-Install-Guide
- Basically the files mentioned in file-swaps need to be copied/updated
- Copy
OpenCanopy.efi
toEFI/OC/Drivers
for GUI picker - Copy
VBoxHfs.efi
toEFI/OC/Drivers
for HFS+ support
- Copy
- Repeat this step when switching from
debug
torelease
version
- Basically the files mentioned in file-swaps need to be copied/updated
c) Add Config and Kexts
- Copy all ACPI patches from/to
EFI/OC/ACPI/
- Copy
config.plist
from/toEFI/OC/config.plist
- Copy all kexts from/to
EFI/OC/Kexts/
To create a working macOS Installer boot drive, you will need the following:
- An empty USB3 flash drive (minimum 32GB)
- A device already running macOS with App Store access
a) Download macOS Installer
- Open the Mac App Store on a device running macOS
- Download
Install macOS Big Sur
application - Close Installer when it opens automatically
b) Create Installer Stick
-
Follow this guide: macOS Big Sur 11: bootbaren USB-Stick erstellen
Create installer stick with this command:
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/Big\ Sur/ --nointeraction
c) Patch Installer Stick
Enable installation on unsupported hardware:
-
Download and unpack: barrykn/big-sur-micropatcher
-
Execute in Terminal
~/Downloads/big-sur-micropatcher-main/micropatcher.sh
- Connect macOS Installer and OpenCore Drive to your target machine
- Boot from OpenCore Drive (
F8
on BIOS post ->[UEFI] OpenCore Drive
) - Select macOS Installer (
Install macOS Big Sur
) - Begin installation on APFS formatted HDD/SSD
- On reboots select
(Install) Big Sur
drive (auto) - Finish the initial macOS setup process
a) OpenCore
- After successful install copy OpenCore to system EFI partition
- Repeat steps 1b - 1c but with EFI on macOS HDD as target
- Switch OpenCore from
debug
torelease
version (file-swaps) - To disable all logging apply following config-changes
- Switch OpenCore from
b) System-Tools
- Install the following from Tools folder:
Intel Power Gadget
to test CPU frequency and speed steppingOpenCore Configurator
(OCC) to modify/updateconfig.plist
Hackintool
to check for loaded kexts and system settings
c) Drivers/Kexts
- VoodooHDA (Big Sur 11.3 and later)
- Disable SIP kext signing (0x1) and filesystem protections (0x2):
OCC -> NVRAM -> csr-active-config ->03000000
- After reboot, copy
VoodooHDA.kext
toL/E
sudo cp -R /{path}/VoodooHDA.kext /Library/Extensions
- Open System Preferences and allow kext modification, then reboot
- Enable SIP filesystem protection (0x2) again and reboot:
OCC -> NVRAM -> csr-active-config ->01000000
- Disable SIP kext signing (0x1) and filesystem protections (0x2):
- MSU (optional for Marvell RAID)
- Install
Marvell RAID Utility
(MSU) from Driver folder - Open
MarvellTray
App from Programs and login with macOS user credentials
- Install
- Make a full backup with
Time Machine
or similar software - Check the official update-guide: OpenCore-Post-Install/update
- Download latest version of OpenCore
- Download updates for all installed kexts
- Update OpenCore Drive for testing purpose
- Use latest OpenCore, kexts and drivers
- Boot from OpenCore Drive
- If the system boots
- Mount EFI partition of macOS HDD
- Replace EFI from OpenCore Drive
- If the system boots
- Start macOS Update from
System Settings
->Software Update
- With OpenCore the update process should work automatically
- If
Software Update
showsMac version is up to date
, download macOS Installer from AppStore and initialize the update manually
- If
- Start macOS Update from
- If system doesn't boot on one of these steps
- Try to fix the problem or revert to the latest backup
For adding your SSDTs, Kexts and Firmware Drivers to create snapshots of your populated EFI folder (link) use corpnewt/ProperTree
Add ACPI patches
To manually add ACPI patches do the following
- Copy
{name}.aml
intoEFI/OC/ACPI
- Open
config.plist
in OCC - Add new entry in
ACPI
->Add
- Add
{name}.aml
as Path - Add a meaningful
Comment
- Select
Enabled
- Add
Add kexts
To manually add kexts do the following
- Copy
{name}.kext
intoEFI/OC/Kexts
- Open
config.plist
in OCC - Add new entry in
Kernel
->Add
- Add
x86_64
as Arch - Add
{name}.kext
as BundlePath - Add a meaningful
Comment
- If kext isn't codeless add
{name}
as ExecutablePath - Add
Contents/Info.plist
as PlistPath - (Optional: set
MinKernel
andMaxKernel
) - Select
Enabled
- Add
Sanity Checker
The OpenCore configuration can be validated by uploading the config.plist
to OpenCore Sanity Checker in order to perform a sanity check. It helps to find problems in the configuration and to optimize the setup.
Tips and tricks to solve already known problems
Reset NVRAM
NVRAM can be reset from OpenCanopy boot picker if auxiliary-entries are displayed in OpenCore (Link)
- Mount
EFI
and openconfig.plist
with OCC - Go to
Misc
->Boot
and setHideAuxiliary = NO
- On reboot select
Reset NVRAM
from tools
Default Boot Option
A default boot entry can be set with ctrl + enter
if the option is allowed in OpenCore (Link)
- Mount
EFI
and openconfig.plist
with OCC - Go to
Misc
->Security
and setAllowSetDefault = YES
- In OpenCanopy boot picker set default with
ctrl + enter
Add Boot Entry
As the P8P67 bios offers no option to simply add new boot entries, EasyUEFI from a parallel windows installation is used to create OpenCore boot entry
- Follow this guide Manually install Clover for UEFI booting and configure boot priority with EasyUEFI in Windows and use
EFI/BOOT/BOOTx64.efi
as file path
Boot Resolution
The display resolution during boot is very low, full display resolution (4K) is only reached on the last boot stage
- Default options
TextRenderer
set toBuiltinGraphics
andResolution
set toMax
(macos-decluttering) deliver best results (1280x800 or similar) - Custom options like
TextRenderer
set toSystemGraphics
andResolution
set to3840x2160
deliver worse results (1024x768 fallback) - Setting
UIScale
to02
(HiDPI-Mode) only increases the icon size - Switching the BIOS settings from
Legacy ROM
toUEFI ROM
has no improvement as suggested here, there or over there - The problem might be related with CSM or GOP for graphic cards
Boot Theme
As the best possible boot resolution with 1280x800 has a width distortion of 1.28 (1024/800) a custom boot theme is used with inverse distorted images to compensate. Modify Images:
- Open
.icns
file with apple preview - Drag and Drop
.tiff
images to folder - Resize Image width to 78,125% (1024/800)
- Resize Image area to original width
- Save Images as .png
- Create
.icns
image bundlecd /OpenCore/Utilities/icnspack/ ./icnspack image.icns image.png image@2x.png
- Replace original image bundle
AHCI Ports
Information copied from SATA Drives Not Shown in DiskUtility
- Make sure SATA Mode is AHCI in bios
- Certain SATA controllers may not be officially supported by macOS, for these cases you'll want to grab CtlnaAHCIPort.kext
- For very legacy SATA controllers, AHCIPortInjector.kext may be more suitable
Apple Watch Unlock
If unlock with Apple Watch doesn't work or make problems although using a BCM94360CD Fenvi
card, follow the steps of this blogpost comment: watchOS 7 Beta 5 - unlock mac doesn't work. Afterwards unlock with Apple Watch works like it should with a regular Mac.
AppleALC
The Audio Codec
of ASUS P8P67 EVO is Realtek ALC882, but although AppleALC lists ALC882
under Supported Codecs, none of the possible layout-ids (5, 7) worked.
Useful information, tips and tutorials used to create this Hackintosh
Several SSDT patches are used to fix following problems
- SSDT-EC-USBX.aml fixes embedded controller and USB
- SSDT-GPRW.aml prevents instant wake from sleep (BT/USB)
- Not needed when using a
BCM94360CD Fenvi
card
- Not needed when using a
- SSDT-PM.aml fixes power management and cpu speed stepping
- SSDT-SBUS-MCHC.aml fixes AppleSMBus support
The following configurations are not essential for the Hackintosh to work, but they improve functionality to get as close to a real Mac as possible.
Power Management
As iMac12,2
is the closest SMBIOS to P8P67 mainboards (link), it is used to generate SSDT for power-management. As SSDT-PLUG
is only compatible with Intel's Haswell and newer CPUs (link), Sandy Bridge needs to follow the ssdtPRgen method.
- OpenCore Configurator Paths
- Drop ACPI:
ACPI
->Delete
- SMBIOS:
PlatformInfo
->SMBIOS
->Button Up/Down
- Boot-Args:
NVRAM
->UUID
->7C4...F82
->boot-args
- Drop ACPI:
-
Select SMBIOS
iMac12,2
(CPU: Sandy Bridge i7 2600)- Add
-no_compat_check
boot-flag - Drop
CpuPm
andCpu0Ist
tables - Reboot with new SMBIOS
- Add
-
Use ssdtPRGen.sh from ACPI/Tools folder to generate
SSDTs
-
Change SMBIOS to
iMac18,3
(GPU: Radeon Pro 570)- Set
ProzessorType
to1795
(decimal for 0x0703) - Remove
-no_compat_check
boot-flag - Remove drop of
CpuPm
andCpu0Ist
tables - Reboot with new SMBIOS
- Set
USB Mapping
An USB port-mapping was created using this guide: USB Anschlüsse Patchen
The following exported files can be found in USB folder:
SSDT-EC-USBX.aml/dsl
patch files for EC and USBXSSDT-UIAC.aml/dsl
patch file forUSBPorts.kext
Patch Engine: acidanthera/Lilu
- Lilu.kext (v1.5.4)
Graphics: acidanthera/WhateverGreen
- WhateverGreen.kext (v1.5.1)
Sensors: acidanthera/VirtualSMC
- VirtualSMC.kext (v1.2.5)
- SMCSuperIO.kext (v1.2.5)
- SMCProcessor.kext (v1.2.5)
CPU Sync: acidanthera/CpuTscSync
- CpuTscSync.kext (v1.0.3)
Audio: SourceForge/VoodooHDA
- VoodooHDA.kext (v2.9.7)
Ethernet (Intel): acidanthera/IntelMausi
- IntelMausi.kext (v1.0.7)
SATA: dortania/extra-files
- CtlnaAHCIPort.kext (v341.0.2)
Audio: acidanthera/AppleALC
- AppleALC.kext
Ethernet (Realtek): Realtek/RTL8110SC(L)
- AppleRTL8169Ethernet.kext
WiFi: acidanthera/AirportBrcmFixup
- AirportBrcmFixup.kext
Bluetooth: acidanthera/BrcmPatchRAM
- BrcmBluetoothInjector.kext
- BrcmFirmwareData.kext
- BrcmPatchRAM3.kext
Driver
Tools
- Intel Power Gadget
- OpenCore Configurator
- headkaze/Hackintool
- Piker-Alpha/ssdtPRGen
- acidanthera/MaciASL
OpenCore Disabling SIP
SIP or more properly known as System Integrity Protection, is a security technology that attempts to prevent any malicious software and the end user from damaging the OS. You can choose different values to enable or disable certain flags of SIP in OpenCore-Install-Guide.
Nec Renesas uPD720200
The internal USB3.0 could be activated with GenericUSBXHCI.kext
prior macOS Big Sur. But it caused unwanted restarts as an unwanted side effect.
- RehabMan/GenericUSBXHCI.kext
- How to get Nec Renesas uPD720200 USB3.0 to work?
- NEC/Renesas uPD720200A USB3.0 XHCI controller support
Realtek RTL8110SC/8169SC
The second ethernet controller is a Realtek RTL8110SC/8169SC which can probably be activated by AppleRTL8169Ethernet.kext
, but not RealtekRTL8111.kext
(check the links).