Hackintosh v3 (i7-9700K + Radeon RX 5700 XT) - OpenCore 0.9.9 + Kexts + BIOS - macOS 14.4.1 (Sonoma)
Installation guide for my Hackintosh v3 build dual-booting macOS Sonoma 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.
BTC: 3ELvsExgq8S24FdGtm4mupQvb3BwiHwWuB
CPU_FAN
and F_USB2
)M2A
slot)M2M
slot)View the build on PCPartPicker: https://pcpartpicker.com/list/kBK7TC
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:
Follow the OpenCore Install Guide to setup the initial config.plist file and configure for Intel Desktop Coffee Lake.
AAPL,ig-platform-id=0300913E
and exclude the framebuffer-patch-enable
and framebuffer-stolenmem
properties.AppleXcpmCfgLock
and AppleXcpmCfgLock
quirks.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.
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):
Select Save and Exit to save the new BIOS settings
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.
Install macOS (external)
option from the OpenCore Boot MenuMacintosh SSD
APFS
GUID Partition Map
Macintosh SSD
drive as the destination
macOS Installer
from the OpenCore Boot MenuMacintosh SSD
from the OpenCore Boot Menu and proceed through the normal macOS setupBased heavily on Dortania's OpenCore Post-Install Guide.
Macintosh SSD
and copy over the entire EFI directory from the USB driveMacintosh SSD
from the OpenCore Boot MenuNote: You can now remove the USB drive but keep it handy for debugging issues with your Hackintosh.
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 > PollAppleHotKeys
→ True
Misc > Security > AuthRestart
→ True
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.
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
.
HS11
) can prevent sleep issues caused by the AIO controllerHS14
and enable one of the disabled portsXhciPortLimit
quirk in your OpenCore configuration once completeThe 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/offitlwm
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.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.
Misc > Boot > HideAuxiliary
→ TRUE
Note: The auxiliary entries can still be accessed from the GUI by pressing the spacebar key.
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.
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 > AppleDebug
→ FALSE
Misc > Debug > Target
→ 3
-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.
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.
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.
Launch Boot Camp Assistant and select the Action > Download Windows Support Software
menu item
Copy the downloaded files to a Windows-compatible USB drive and reboot to Windows
Remove all unnecessary Boot Camp drivers:
$WinPEDriver$
(keep the parent folder)BootCamp/Drivers/
except Apple/
BootCamp/Drivers/Apple/
except BootCamp.msi
Run BootCamp/Setup.exe
to install the Boot Camp software.
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.
Screenshots of my current BIOS settings on my working system
Advanced CPU Settings
Platform Power
IO Ports
USB Configuration
SATA and RST Configuration
Miscellaneous
A sanitized version of my working config file can be found here.
All values are the average of three runs
See the GitHub repository issues tracker
BlueToolFixup.kext
from BrcmPatchRAM 2.6.8
BlueToolFixup.kext
from BrcmPatchRAM 2.6.7
BlueToolFixup.kext
from BrcmPatchRAM 2.6.6
BlueToolFixup.kext
from BrcmPatchRAM 2.6.5
BlueToolFixup.kext
from BrcmPatchRAM 2.6.4
BlueToolFixup.kext
from BrcmPatchRAM 2.6.3
BlueToolFixup.kext
from BrcmPatchRAM 2.6.2
BlueToolFixup.kext
from BrcmPatchRAM 2.6.1
IntelBluetoothInjector.kext
and added BlueToolFixup.kext
from BrcmPatchRAM 2.6.0 to resolve Bluetooth issues.