/hackintosh

Hackintosh v3 (i7-9700K + Radeon RX 5700 XT) - OpenCore 0.6.8 + Kexts + BIOS - macOS Big Sur 11.3

Hackintosh v3

Installation guide for my Hackintosh v3 build dual-booting macOS Big Sur and Windows 10. This build is based on Dortania's OpenCore Install Guide. The previous version of this guide using the Clover bootloader can be found here. The version numbers reported in this guide were the releases available at the time of installation and more than likely can be replaced with the latest iteration.

  • EFI: Copy of current EFI directory from macOS boot drive
  • EFI_install: Copy of EFI directory from the USB drive used during installation

About This Mac

Table of Contents

The Build

  • CPU: Intel Core i7-9700K
  • CPU Cooler: Corsair H100i PRO (Connected to CPU_FAN and F_USB2)
  • Motherboard: Gigabyte Z390 AORUS PRO WIFI
  • Memory: Corsair Vengeance RGB Pro 16 GB DDR4-3600
  • Storage (macOS): Samsung 970 Evo 1 TB M.2 NVME SSD (M2A slot)
  • Storage (Windows): Intel 660p Series 1 TB M.2 NVME SSD (M2M slot)
  • Video Card: Gigabyte Radeon RX 5700 XT 8 GB GAMING OC
  • Power Supply: Corsair RM650 80+ Gold
  • Case: NZXT H510
  • Monitor: Dell S2719DGF 27" LED QHD FreeSync Monitor
  • Keyboard: Keychron K8
  • Mouse: Logitech G603

View the build on PCPartPicker: https://pcpartpicker.com/list/kBK7TC

Installation

USB Creation

Follow the OpenCore Install Guide to create the macOS installer, prepare the base OpenCore system, and gather the necessary files to boot macOS. The drivers, kexts, and SSDTs I used are as follows:

OpenCore Configuration

Follow the OpenCore Install Guide to setup the initial config.plist file and configure for Intel Desktop Coffee Lake.

  • To enable the iGPU (UHD 630) for headless compute tasks, set AAPL,ig-platform-id=0300913E and exclude the framebuffer-patch-enable and framebuffer-stolenmem properties.
  • The Gigabyte Z390 AORUS PRO WIFI motherboard has supported disabling CFG-Lock since BIOS version F12j, which means you can disable the AppleXcpmCfgLock and AppleXcpmCfgLock quirks.
  • If you already know the MAC address of your ethernet adapter, enter it under PlatformInfo > Generic > ROM. If you don't, this can be updated during post installation using System Preferences > Network > Ethernet > Advanced > Hardware > MAC Address to identify the correct value.

A sanitized version of my USB drive config file can be found here.

BIOS Settings (Version F12k)

Enter Advanced Mode and Load Optimized Defaults to reset the default BIOS settings. Modify the following settings (may vary depending on motherboard model and BIOS version):

  • Tweaker
    • Advanced CPU Settings
      • Vt-d → Disabled
  • Settings
    • IO Ports
      • Initial Display Output → PCIe 1 Slot
      • Internal Graphics → Enabled
      • DVMT Pre-Allocated → 64MB
      • Above 4G Decoding → Enabled
      • USB Configuration
        • XHCI Hand-off → Enabled
      • SATA and RST Configuration
        • SATA Mode Selection → ACHI
    • Miscellaneous
      • Intel Platform Trust Technology (PTT) → Disabled
      • Software Guard Extensions (SGX) → Disabled
    • Smart Fan 5
      • CPU_FAN (or whichever header was used for the AIO CPU cooler)
        • Speed Control → Full Speed
  • Boot
    • CFG Lock → Disabled
    • Fast Boot → Disabled
    • Windows 8/10 Features → Windows 8/10
    • CSM Support → Disabled
    • Secure Boot
      • Secure Boot Enable → Disabled

Select Save and Exit to save the new BIOS settings

Install macOS

I performed the installation with the USB drive, keyboard, and mouse plugged into the USB 2.0 ports at the top of the motherboard. My display was connected to the graphics card via DisplayPort.

  1. Restart computer and set the USB drive as the default BIOS boot device
  2. Select the Install macOS Big Sur (external) option from the OpenCore Boot Menu
  3. Launch Disk Utility and format the destination drive (Samsung 970 Evo)
    • Name: Macintosh SSD
    • Format: APFS
    • Scheme: GUID Partition Map
  4. Launch Install macOS and select the Macintosh SSD drive as the destination
    • As the system restarts, keep selecting macOS Installer from the OpenCore Boot Menu
  5. Once the installation is complete, select Macintosh SSD from the OpenCore Boot Menu and proceed through the normal macOS setup

Post Installation

Based heavily on Dortania's OpenCore Post-Install Guide.

Make macOS Drive Bootable

  1. Mount the EFI partition of Macintosh SSD and copy over the entire EFI directory from the USB drive
  2. Restart the computer and select the internal drive (Samsung 970 Evo) as the default BIOS boot device
  3. Select Macintosh SSD from the OpenCore Boot Menu
  4. You should now have a bootable macOS installation!

Note: You can now remove the USB drive but keep it handy for debugging issues with your Hackintosh.

Enable FileVault

FileVault is used to encrypt the startup disk on your Hackintosh. Enabling it is entirely optional, but probably a good idea for the security conscious. Before turning on the feature, you will need to make sure that OpenCore is properly configured to interact with the encrypted drive. Follow the OpenCore Post-Install Guide to prepare your config.plist file for use with FileVault.

The following (optional) changes were made:

  • Misc > Boot > PollAppleHotKeysTrue
  • Misc > Security > AuthRestartTrue

You can now enable FileVault in Security & Privacy in System Preferences like on a real Mac. Once the encryption process is complete, your account password will be required to decrypt the startup disk every time your Hackintosh starts up.

Note: You should also make these changes to your USB drive OpenCore configuration so that it can properly boot your system if the Macintosh SSD EFI partition gets messed up. If you don't update the configuration, then the OpenCore bootloader may not be able to properly handle the FileVault-encrypted drive.

FileVault Enabled

Map USB Ports

Follow the OpenCore Post-Install Guide to map USB on your system. The complete USB port layout for the Gigabyte Z390 AORUS PRO WIFI motherboard is detailed in the image below with the ports I enabled indicated in red. If you have the same motherboard and want to use this exact USB port mapping, you can download my USBMap.kext.

  • No ACPI patches were necessary to rename mappings
  • Disabling the internal USB 2.0 headers (HS11) can prevent sleep issues caused by the AIO controller
  • If you don't need Bluetooth/Wi-Fi, you can disable HS14 and enable one of the disabled ports
  • You can disable the XhciPortLimit quirk in your OpenCore configuration once complete

Gigabyte Z390 AORUS PRO WIFI USB Port Map

Enable Bluetooth and Wi-Fi

The Intel CNVi modules that provide integrated Bluetooth and Wi-Fi functionality on motherboards are not natively supported by macOS but can be enabled using IntelBluetoothFirmware and itlwm on supported devices. The Gigabyte Z390 AORUS PRO WIFI contains a compatible Intel Wireless-AC 9560 CNVi (Vendor ID: 0x8087, Device ID: 0x0AAA). Hackintool can be used to determine the specific model on your motherboard (System > Peripherals > Bluetooth).

In order to use these kexts, you must must enable the internal USB port used by the CNVi module during USB mapping. Download the latest IntelBluetoothFirmware.kext and itlwm.kext, place in your EFI/OC/Kexts directory, and add to your OpenCore configuration. Reboot and you should be able to use both Bluetooth and Wi-Fi on your Hackintosh without any additional hardware.

  • IntelBluetoothInjector.kext seems necessary to turn Bluetooth on/off
  • itlwm shows up as an Ethernet adapter and requires use of the standalone app HeliPort to connect/disconnect from Wi-Fi networks. You can Option-click on the menu bar icon and select "Launch at Login" to have it automatically start.

BluetoothWiFi

Enable OpenCore GUI

Follow the OpenCore Post-Install Guide to set up the GUI for the bootloader. I also removed auxiliary entries (macOS Recovery and Reset NVRAM) from the picker and changed the background color from black to gray.

  • Misc > Boot > HideAuxiliaryTRUE
  • NVRAM > Add > 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 > DefaultBackgroundColorBFBFBF00

Note: The auxiliary entries can still be accessed from the GUI by pressing the spacebar key.

OpenCore Bootloader GUI

Enable LauncherOption

Follow the OpenCore Post-Install Guide to run OpenCore directly from firmware without requiring a launcher. This will add OpenCore to the motherboard boot menu and prevent issues where Windows or Linux could overwrite EFI/BOOT/BOOTx64.efi. This file can now be safely removed. Be sure to select OpenCore as the default boot option in your BIOS.

OpenCore Selected as Default BIOS Boot Option

Disable verbosity and debugging

Once your installation is complete and/or stable, you can disable verbose output and debug logging during booting. Follow the OpenCore Post-Install Guide to declutter macOS and OpenCore.

  • Misc > Debug > AppleDebugFALSE
  • Misc > Debug > Target3
  • Remove -v from NVRAM > Add > 7C436110-AB2A-4BBB-A880-FE41995C9F82 > boot-args

If you installed using the DEBUG version of OpenCore, replace all the drivers with the RELEASE versions.

Dual-Boot Windows

I used an existing installation of Windows 10 on the Intel 660p Series NVMe drive. The steps taken during that installation process (removing macOS drive and placing Windows drive in M2M motherboard slot) should be unnecessary when LauncherOption is enabled since Windows will not be able to mess up the OpenCore EFI. For more information, check out the Multiboot with OpenCore Guide.

One of the benefits of OpenCore is that you can now use Startup Disk to reboot your system directly into Windows without further user input, just like on a real Mac.

Startup Disk

Install Boot Camp Utilities

In order to return to macOS from Windows without requiring user input during boot, Apple's Windows Support Software must be installed. The OpenCore Post-Install Guide includes instructions on using a third-party tool to download these drivers. However, they can also be directly downloaded on macOS using Boot Camp Assistant.

  1. Launch Boot Camp Assistant and select the Action > Download Windows Support Software menu item

  2. Copy the downloaded files to a Windows-compatible USB drive and reboot to Windows

  3. Remove all unnecessary Boot Camp drivers:

    • All folders in $WinPEDriver$ (keep the parent folder)
    • All folders in BootCamp/Drivers/ except Apple/
    • All folders/files in BootCamp/Drivers/Apple/ except BootCamp.msi

    Remaining Boot Camp Files

  4. Run BootCamp/Setup.exe to install the Boot Camp software.

  5. You can now use the Boot Camp Control Panel on the taskbar to restart directly into macOS without requiring further user input, just like on a real Mac running Boot Camp.

Boot Camp Assistant and Control Panel

Final BIOS Settings

Screenshots of my current BIOS settings on my working system

Tweaker

Advanced CPU Settings

Settings

Platform Power

IO Ports

USB Configuration

SATA and RST Configuration

Miscellaneous

Boot
Smart Fan 5 Settings

Final OpenCore Configuration

A sanitized version of my working config file can be found here.

Benchmarks

All values are the average of three runs

Issues

See the GitHub repository issues tracker

Upgrade Log

References

Resources