/Asus-P8P67Pro-Hackintosh

Install OS X Big Sur on Asus P8P67 Pro/Evo Mainboard

Primary LanguageASL

ASUS P8P67 PRO/EVO Hackintosh

Guide about installing macOS Big Sur on ASUS P8P67 PRO/EVO (REV3.0) based PC

P8P67-Pro Hackintosh

Information

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


BIOS

  • 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

Hardware

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.


Install macOS

1. Create OpenCore Drive

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 or release for final use

b) Install OpenCore

  • Follow this guide OpenCore-Install-Guide
    • Basically the files mentioned in file-swaps need to be copied/updated
      • Copy OpenCanopy.efi to EFI/OC/Drivers for GUI picker
      • Copy VBoxHfs.efi to EFI/OC/Drivers for HFS+ support
    • Repeat this step when switching from debug to release version

c) Add Config and Kexts

  • Copy all ACPI patches from/to EFI/OC/ACPI/
  • Copy config.plist from/to EFI/OC/config.plist
  • Copy all kexts from/to EFI/OC/Kexts/

2. Create macOS Installer Drive

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:


3. Install macOS

  • 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

4. Post Installation

a) OpenCore

  • After successful install copy OpenCore to system EFI partition
  • Repeat steps 1b - 1c but with EFI on macOS HDD as target

b) System-Tools

  • Install the following from Tools folder:
    • Intel Power Gadget to test CPU frequency and speed stepping
    • OpenCore Configurator (OCC) to modify/update config.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 to L/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
  • MSU (optional for Marvell RAID)
    • Install Marvell RAID Utility (MSU) from Driver folder
    • Open MarvellTray App from Programs and login with macOS user credentials

Update macOS

  • 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 shows Mac version is up to date, download macOS Installer from AppStore and initialize the update manually
  • If system doesn't boot on one of these steps
    • Try to fix the problem or revert to the latest backup

OpenCore Config

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 into EFI/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 kexts

To manually add kexts do the following

  • Copy {name}.kext into EFI/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 and MaxKernel)
    • Select Enabled

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.


Troubleshooting

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 open config.plist with OCC
  • Go to Misc -> Boot and set HideAuxiliary = 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 open config.plist with OCC
  • Go to Misc -> Security and set AllowSetDefault = 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

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 to BuiltinGraphics and Resolution set to Max (macos-decluttering) deliver best results (1280x800 or similar)
  • Custom options like TextRenderer set to SystemGraphics and Resolution set to 3840x2160 deliver worse results (1024x768 fallback)
  • Setting UIScale to 02 (HiDPI-Mode) only increases the icon size
  • Switching the BIOS settings from Legacy ROM to UEFI ROM has no improvement as suggested here, there or over there
    • 🚨 Warning 🚨 ASUS RX570 doesn't work with UEFI ROM settings (black screen -> needs CMOS-reset), although latest official firmware has UEFI-support
    • GeForce GTX 760 works with UEFI ROM BIOS-settings, but doesn't improve resolution during boot. The latest official firmware also has UEFI-support
  • 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 bundle
    cd /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

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.


Resources

Useful information, tips and tutorials used to create this Hackintosh

ACPI Patches

Several SSDT patches are used to fix following problems


Advanced Config

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
  1. Select SMBIOS iMac12,2 (CPU: Sandy Bridge i7 2600)

    • Add -no_compat_check boot-flag
    • Drop CpuPm and Cpu0Ist tables
    • Reboot with new SMBIOS
  2. Use ssdtPRGen.sh from ACPI/Tools folder to generate SSDTs

    • Ignore warning about improperly 'cpu-type' (0x0703 instead of 0x0603)
    • Output folder: ~/Library/ssdtPRGen/
    • Rename SSDT.aml to SSDT-PM.aml
    • Add to EFI/OC/ACPI and config.plist
  3. Change SMBIOS to iMac18,3 (GPU: Radeon Pro 570)

    • Set ProzessorType to 1795 (decimal for 0x0703)
    • Remove -no_compat_check boot-flag
    • Remove drop of CpuPm and Cpu0Ist tables
    • Reboot with new SMBIOS

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 USBX
  • SSDT-UIAC.aml/dsl patch file for
  • USBPorts.kext

Kexts in use

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)

Optional Kexts

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

Drivers and Tools

Driver

Tools


Useful Links

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.

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).