Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/lzhoang2801/OpCore-Simplify/llms.txt

Use this file to discover all available pages before exploring further.

With your hardware report loaded, macOS version selected, devices customized, SMBIOS chosen, and ACPI patches and kexts reviewed, you are ready to build. Selecting Option 6 — Build OpenCore EFI from the main menu kicks off the final stage of the workflow, which downloads all required files, assembles the EFI folder, and writes a ready-to-use config.plist into the Results/ directory.

OCLP Warning

If any device in your hardware profile requires OpenCore Legacy Patcher for the chosen macOS version, OpCore Simplify presents a warning before any files are downloaded or modified:
OpenCore Legacy Patcher Warning

1. OpenCore Legacy Patcher is the only solution to enable dropped GPU and Broadcom WiFi
   support in newer macOS versions, as well as to bring back AppleHDA for macOS Tahoe 26.

2. OpenCore Legacy Patcher disables macOS security features including SIP and AMFI, which may
   lead to issues such as requiring full installers for updates, application crashes, and
   system instability.

3. OpenCore Legacy Patcher is not officially supported for Hackintosh community.

Important:
Please consider these risks carefully before proceeding.

Do you want to continue with OpenCore Legacy Patcher? (yes/No):
Typing yes proceeds with the build. Typing no returns you to the macOS version selector so you can choose a fully native version instead.
For macOS Tahoe 26 patching, you must use OpenCore-Patcher 3.0.0 or newer from the lzhoang2801/OpenCore-Legacy-Patcher repository. Official Dortania releases and older versions are not supported for Tahoe 26.

Pre-Build: Downloading Files

Before the EFI is assembled, OpCore Simplify downloads all required components from the internet. This step is labeled Gathering Files and shows progress for each item:
  • OpenCorePkg — the latest DEBUG/RELEASE build from Dortania’s build repository.
  • OcBinaryData — picker icons and audio resources bundled with OpenCorePkg.
  • Kexts — every enabled kext, sourced from Dortania Builds first, then direct GitHub releases for anything not listed there.
  • macserial — the serial number generator used during SMBIOS configuration.
Please wait for download OpenCorePkg...
from https://github.com/dortania/build-repo/...

Please wait for download OcBinaryData...
from https://github.com/acidanthera/OcBinaryData/...

Please wait for download Lilu...
from https://github.com/acidanthera/Lilu/...

Download Caching

All downloaded files are cached in the OCK_Files/ directory inside the OpCore Simplify folder. A history.json file tracks the product name, release ID, download URL, and SHA-256 hash for every cached item. On each build, OpCore Simplify compares the current release ID and a folder integrity check against the cached values. A file is only re-downloaded when a newer release is available or the cached copy fails its integrity check. This means subsequent builds are significantly faster if your dependencies have not changed.
OCK_Files/
├── history.json          ← tracks product IDs and SHA-256 hashes
├── OpenCorePkg/
│   └── EFI/
│       └── OC/
├── Lilu/
│   └── Lilu.kext
├── VirtualSMC/
│   └── VirtualSMC.kext
└── ...
If a download fails but you already have a valid cached copy, OpCore Simplify falls back to the cached version automatically and prints Using previously downloaded version of <name>.

The 5 Build Steps

Once all files are present, OpCore Simplify runs through five steps, each tracked in a progress bar:
1

Copy EFI Base to Results Folder

The OpenCorePkg/EFI/ tree from OCK_Files/ is copied into the Results/ directory, establishing the base folder layout with all stock drivers, tools, and resources in place. A fresh config.plist is loaded from the copied Sample.plist.
2

Apply ACPI Patches

The ACPI engine processes your DSDT and SSDTs, generates any required SSDT files (USB power, EC, GPIO, etc.), and writes them into Results/EFI/OC/ACPI/. ACPI rename patches and delete entries are written into the ACPI section of config.plist. Disable patches for any hardware customization-excluded devices are also applied here.
3

Copy Kexts and Snapshot to config.plist

All enabled kexts are copied from their OCK_Files/<product>/ directories into Results/EFI/OC/Kexts/. An OC snapshot is then performed, which populates the Kernel → Add array in config.plist with the correct path, bundle identifier, and load order for every kext.
4

Generate config.plist

ConfigProdigy writes every remaining section of config.plist based on your hardware profile, disabled devices, SMBIOS model, macOS version, OCLP flag, and enabled kexts. This includes DeviceProperties, Kernel patches, NVRAM variables, PlatformInfo, UEFI drivers, boot arguments, and more.
5

Clean Up Unused Drivers, Resources, and Tools

Any EFI driver, OpenCanopy picker resource variant, or OC tool that is not referenced by the generated config.plist is deleted from the Results/ folder, keeping the output lean and free of unused files. The Resources/Audio/ directory is also removed since OpCore Simplify does not configure boot chime audio.

Output Structure

After a successful build, the Results/ folder contains a complete, ready-to-use EFI:
Results/
└── EFI/
    └── OC/
        ├── ACPI/          ← generated SSDT files (.aml)
        ├── Drivers/       ← only the drivers referenced in config.plist
        ├── Kexts/         ← all enabled kexts
        ├── Resources/
        │   └── Image/     ← picker theme (unused variants removed)
        ├── Tools/         ← only the tools referenced in config.plist
        └── config.plist   ← fully generated configuration
The Results/ directory is wiped and recreated on every build, so each run produces a clean output.

Post-Build: Before Using the EFI

Immediately after a successful build, OpCore Simplify displays a Before Using EFI screen that lists the steps you must complete before booting from the EFI.

BIOS/UEFI Settings

The required BIOS changes are determined automatically from your hardware profile:
ConditionRequired Change
Original report was Legacy BIOS but EFI was built for UEFIEnable UEFI mode (disable Legacy/CSM)
Secure Boot is not Disabled in the reportDisable Secure Boot
Desktop system with a recent Intel chipset and no Resizable BAR detectedEnable Above 4G Decoding and Disable Resizable BAR / Smart Access Memory
See BIOS Settings for a complete guide to these and other recommended firmware changes.

USB Mapping

A placeholder UTBDefault.kext is included in the EFI so the system can boot with all USB ports active during initial setup. After booting, you must map your USB ports properly:
  1. Boot macOS using the generated EFI.
  2. Run USBToolBox to map your USB ports and generate UTBMap.kext.
  3. Copy UTBMap.kext into EFI/OC/Kexts/.
  4. Remove UTBDefault.kext from EFI/OC/Kexts/.
  5. Open config.plist with ProperTree and run an OC Snapshot (Cmd/Ctrl + R) to update the Kernel → Add entries.
  6. If your system has more than 15 USB ports on a single controller, enable the XhciPortLimit kernel patch in config.plist.
  7. Save and reboot.
See USB Mapping for a step-by-step walkthrough.

Finding Your EFI

After dismissing the post-build screen, OpCore Simplify automatically opens the Results/ folder in your file manager. You can also find it at:
<OpCore Simplify directory>/Results/EFI/OC/config.plist
Copy the EFI/ folder to the EFI partition of your USB installer or target drive to start using it.

BIOS Settings

Required and recommended BIOS/UEFI settings for your hardware before booting the EFI.

USB Mapping

How to create a proper USB map with USBToolBox and integrate it into your EFI.

Build docs developers (and LLMs) love