INDEX
I recently stumbled over an interesting project on Github called OpCore Simplify. It's designed to automate and streamline the creation of OpenCore EFI configurations for Hackintosh setups. It supports a wide range of hardware, including modern CPUs and GPUs, and macOS versions from High Sierra to Sequoia.
In terms of building an OpenCore config semi-automatically, OpCore Simplify the first tool of its kind. Although you can run it under macOS, in my experience it best works under Microsoft Windows.
How It Works:
-
Hardware Detection: OpCore Simplify includes a Python-Script called Hardware Sniffer that gathers detailed hardware information from a Wintel system by applying:
- Data Collection via WMIC: Hardware Sniffer utilizes the Windows Management Instrumentation Command-line utility (WMIC) to extract comprehensive details about system components, including the MAINBOARD, CPU, GPU, monitors, network adapters, audio devices, USB controllers, input devices, storage controllers, biometric sensors, Bluetooth devices, SD controllers, and system devices.
- Advanced Detection Techniques:
- Motherboard Chipset Identification: The tool analyzes PCI device information to accurately identify Intel chipset models.
- CPU Codename Recognition: It determines the CPU codename by evaluating the processor's family, model, and stepping values, eliminating the need to query external sources like Intel ARK or AMD websites.
- GPU Codename Recognition: Hardware Sniffer identifies GPU codenames using device IDs, facilitating precise hardware identification.
- Input Device Connection Type: The script detects the connection types of input devices (such as touchpads and touchscreens), distinguishing between interfaces like I2C, PS/2, SMBus, and USB.
- Output Generation: After collecting and analyzing the hardware data, Hardware Sniffer can export the information in JSON format. This structured output is particularly useful for integration with tools like OpCore Simplify, which automate the creation of OpenCore EFI configurations for Hackintosh systems.
By automating the detection and reporting of hardware components, Hardware Sniffer streamlines the process of configuring macOS installations on non-Apple hardware, ensuring that all necessary drivers and settings are appropriately accounted for in the resulting OpenCore EFI.
-
ACPI Patches and Kexts: Based on the detected hardware, the tool applies necessary ACPI patches and includes appropriate kernel extensions (kexts) to ensure compatibility and functionality. It integrates with SSDTTime for common patches and includes custom patches to prevent kernel panics and disable unsupported devices.
-
SMBIOS Configuration: The tool generates a suitable System Management BIOS (SMBIOS) configuration tailored to your hardware, which is essential for macOS compatibility.
-
EFI Folder Generation: After gathering all necessary files and configurations, OpCore Simplify creates an OpenCore EFI folder customized for your system. This folder includes the bootloader, configuration files, ACPI patches, and kexts required for macOS installation.
-
User Guidance: The tool provides instructions on additional steps, such as USB mapping using USBToolBox and adding the generated USBMap.kext to your EFI, to ensure a fully functional Hackintosh setup.
I've tried OpCore Simplify on one my Ivy Bridge laptop which requires quite a complex configuration to boot macOS 13 and newer. Below, I've explained how I did, so you can check out for yourself if you want to try it.
Caution
Don't use the settings shown in the screenshots for your system. It's just an example, NOT a config guide!
- Run MS Windows
- Download OpCore Simplify (click on
<> Code
and select "Download Zip") - Extract the zip file
- Run the
OpCore-Simplify.bat
file (if Windows wants to block the script, click on "More info" so that the button to run the script appears!) - This will start a Terminal Window and download required files. Once that's done, you will be greeted by the following screen:
- Select option 1 and hit Enter
- This will start the hardware detection – Type e and press Enter:
- Once the hardware detection is completed, a report is shown:
- Press Enter to return to the main screen:
- Select option 2 and hit Enter
- Select the macOS version you want to install by entering the corresponding number, here 24 for macOS Sequoia:
- Back in the main screen, select Option 3 and press Enter:
- This shows the available SSDT hotfixes available for your system:
- Select/de-select the SSDTs you need for your system. Most required patches will be pre-enabled automatically. If you are uncertain which ones you need (or not), please refer to the OpenCore Install Guide. Once your done reviewing the SSDTs, type b and press Enter to return to the main menu.
- Back in the main screen, select Option 4 and press Enter to select/modify the kexts to add to your OpenCore EFI folder. If you are using a laptop, make sure to inspect the selected kexts for Wi-Fi/BT and Touchpad especially:
- Return to the main screen and select Option 5 and press enter to select an SMBIOS best matching your CPU, here it's
MacBookPro10,1
, since my Laptop has an i7 Ivy Bridge Mobile CPU: - Return to the main screen and select option 6 to start building the OpenCore EFI folder and
config.plist
. Once that's done you will be notified about the next steps to map USB ports: - Map your USB ports as explained and add the required kext(s) to the
EFI/OC/Kexts
folder located under: - Open your
config.plist
with ProperTree and create an OC Snapshot:
Since OpCore Simplify dumps the target system's ACPI tables and generates a hardware report (Report.json
), these resources can be used by more experienced users to configure an OpenCore EFI folder for them. The user you want to assist must run OpCore Simplfiy in Windows, create a hardware report (Steps 1-12) and send it to you.
- Run MS Windows
- Download OpCore Simplify (click on
<> Code
and select "Download Zip") - Extract the zip file
- Run the
OpCore-Simplify.bat
file (if Windows wants to block the script, click on "More info" so that the button to run the script appears!) - This will start a Terminal Window and download required files. Once that's done, you will be greeted by the following screen:
- Select option 1 and hit Enter
- This will start the hardware detection – Type e and press Enter:
- Once the hardware detection is completed, a report is shown:
- Press Enter and Q to quit OpCore Simplify
- In File Explorer, navigate to the
OpCore-Simplify-main
folder - Inside should now be a
SysReport
folder containingACPITables
andReport.json
: - Zip the
SysReport
folder and send it to the person who wants to assist you.
- Once you receive the
SysReport.zip
, unzip it - Run OpCore Simplify in Windows
- Chose Option 1: "Select Hardware Report"
- Drag and Drop the
Report.json
file into the Terminal Window: - Press Enter to import the data. Once that's done, you will have something like this:
- Press Enter to continue
- Drag and drop the
ACPITables
folder into the Terminal Window: - Press Enter again to import the tables. Once that's done, you will be back in the main screen showing the results, including the compatible macOS version as well as the recommended SMBIOS:
- Continue to configure the EFI as explained in "Use case 1", build it, zip it up and send it the user you want to help for testing.
The official OpenCore installation guide only covers Intel CPUs up to 10th Gen "Comet Lake". However, while Apple has officially dropped support for newer Intel processors, it's still possible to run macOS on 11th Gen and later CPUs. There are two main considerations when using these newer processors:
- The integrated GPU (iGPU) won't function since no framebuffer patches are available
- The config needs adjustments to properly handle Performance (P) and Efficiency (E) cores (12th gen+)
Currently, OpenCore Simplify supports generation OpenCore EFIs up to 14th gen Intel Core.
- Put your newly generated EFI folder on a FAT32 formatted USB flash drive and try to boot macOS with it.
- If it works out of the box, congrats! You can mount your system's EFI partition and put the EFI folder on it to boot from an internal disk.
- If it doesn't work, consult the OpenCore Troubleshooting Guide.
- If macOS is not installed already, create a USB Installer and put your EFI folder on it.
- Restart your system from the USB flash drive and install macOS. Windows users can also use UnPlugged to do so.
- For troubleshooting, consult the OpenCore Troubleshooting Guide.
The OpCore Simplify repo has a discussion section where you can share your experiences which might be helpful for the developer to improve the tool.
In my test, this particular Ivy Bridge laptop didn't boot with the generated EFI and config. Since then, I've tested OpCore Simplify on two other systems (a laptop and a desktop pc) and both booted macOS out of the box without issues. That's pretty impressive, especially when considering the timesave this tool allows: setting up and building an OpenCore EFI folder this way takes around 5 to 10 minutes (mapping USB ports excluded).
For owners of legacy systems (1st to 6th Gen Intel Core), who already have an existing OpenCore EFI, I would recommend to use the corresponding guide in the OCLP Wintel section instead to manually prepare their config, when trying to install macOS Monterey or newer on their machines.
Overall, I think OpCore Simplify is the closest thing to a fully automated OpenCore configuration tool we have yet. It's a great starting point for new and inexperienced users who simply want to try OpenCore on relatively current hardware without spending hours trying to configure OpenCore manually using the OpenCore Configuration guide. I am very excited to see how this project will evolve in the future.