# What is OpenCore?

OpenCore is no more than the most advanced and complex to setup bootloader for a PC. If feeling curious and/or adventurous, check the excellent-written official OpenCore documentation (opens new window). There is really no better explanation of the bootlader and it's advantages than the one from khronokernel:

OpenCore is an open-source unconventional first-in-class piece of software designed to intercept kernel loading to insert a highly advanced rootkit, designed to be an alternative to Clover. OpenCore aims to resolve the constraints and issues imposed by Clover by providing a more versatile and modular system. While OpenCore is primarily designed for Hackintosh systems, it can be used in any scenario where an emulated EFI is needed with many using it on KVMs and real Macs

# Advantages of OpenCore over Clover

  • On average, OpenCore systems boot faster than those using Clover as less unnessary patching is done
  • Better overall stability as patches can be much more persise: macOS 10.15.4 update as an example
  • OpenCore offers better overall security with better support for FileVault, no need to disable System Integrity Protection(SIP) and even secure boot-like functionality support via Vaulting, which consists of a 256 byte RSA-2048 signature from a vault.plist that will be shoved into OpenCore.efi
  • OpenCore supports boot hotkey via boot.efi - hold Option or ESC at startup to choose a boot device, Cmd+R to enter Recovery or Cmd+Option+P+R to reset NVRAM
  • OpenCore is designed with the future in mind and uses modern methods to load 3rd party kernel extensions without breaking System Integrity Protection which Clover uses
  • BootCamp switching and boot device selection are supported by reading NVRAM variables set by Startup Disk just like a real mac
  • Future development for AptioMemoryFix (a UEFI driver that fixes memory allocation for macOS) is directly tied to OpenCore, specifically being absorbed into OpenCore itself with the OpenRuntime.efi being used as an extension
  • UEFI and Legacy boot modes are supported
  • More sophisticated patching such as mask patching means macOS updates have very little chance of breaking AMD systems, with AMD OSX patches supporting all versions of High Sierra, Mojave and Catalina. All future AMD OSX development is tied to Opencore, so for 10.15.2+ you'll need OpenCore

# Important things to note about OpenCore and macOS

  • An ESP partition of at least 200MB is required on the drive macOS will be installed. If you plan to dual/triple boot with the same drive, it's recommended to install macOS first as it creates the ESP of the required size.
  • Kernel extensions are loaded in the order specified in your config file, so you must load an extension's dependencies before you load the extension itself.
  • SMBIOS data, ACPI patches and DSDT/SSDTs are applied to all operating systems. Modifying the SSDTs to properly adjust the supported ACPI interfaces is recommended. Adjustments are made using the Operating System Interface Level method provided by ASL. An adjustment looks somewhat like: if (_OSI ("Darwin")) {}