How dortania/opencore-legacy-patcher works
OpenCore Legacy Patcher helps users run newer macOS versions on unsupported Macs. The main workflow is to identify the Mac’s hardware, build an OpenCore configuration, and use it to boot macOS; users can also download or prepare installers and apply post-install root patches. The repository separates hardware detection, EFI configuration, installer/catalog handling, and system patching. The graph reflects the README’s major capabilities and the available source excerpts; several GUI-to-backend connections are inferred from module roles rather than verified calls.
Main entry points: sys_patch.py Root patch coordinator · gui_main_menu.py Main menu · gui_sys_patch_start.py Patch screens · device_probe.py Hardware probe
Components 23
User interface
- Patcher GUI
opencore_legacy_patcher/wx_gui/gui_entry.py - Main menu
opencore_legacy_patcher/wx_gui/gui_main_menu.py - Build screen
opencore_legacy_patcher/wx_gui/gui_build.py - Installer screens
opencore_legacy_patcher/wx_gui/gui_macos_installer_download.py - Patch screens
opencore_legacy_patcher/wx_gui/gui_sys_patch_start.py
Hardware and EFI
- Hardware probe
opencore_legacy_patcher/detections/device_probe.py - macOS detection
opencore_legacy_patcher/detections/os_probe.py - Hardware datasets
opencore_legacy_patcher/datasets/model_array.py - EFI build
opencore_legacy_patcher/efi_builder/build.py - Platform builders
opencore_legacy_patcher/efi_builder
Installers and updates
- Update catalog
opencore_legacy_patcher/sucatalog/products.py - Network downloads
opencore_legacy_patcher/support/network_handler.py - Installer handling
opencore_legacy_patcher/support/macos_installer_handler.py - Installer creation
opencore_legacy_patcher/wx_gui/gui_macos_installer_flash.py
System patching
- Patch detection
opencore_legacy_patcher/sys_patch/patchsets/detect.py - Hardware patchsets
opencore_legacy_patcher/sys_patch/patchsets/hardware - Root patch coordinator
opencore_legacy_patcher/sys_patch/sys_patch.py - Volume mounting
opencore_legacy_patcher/sys_patch/mount/mount.py - Kernel cache rebuild
opencore_legacy_patcher/sys_patch/kernelcache/rebuild.py - Kernel debug kits
opencore_legacy_patcher/support/kdk_handler.py - Metal libraries
opencore_legacy_patcher/support/metallib_handler.py
Other components
- Mac user
- Apple update services
Connections 24
- Mac user → Patcher GUI: uses
- Patcher GUI → Main menu: opens
- Main menu → Build screen: selects build
- Main menu → Installer screens: selects installer
- Main menu → Patch screens: selects patching
- Build screen → Hardware probe: probes hardware
- Hardware probe → Hardware datasets: consults
- Build screen → EFI build: requests build
- EFI build → Hardware probe: uses detected model
- EFI build → Platform builders: dispatches builders
- Installer screens → Update catalog: lists installers
- Update catalog → Network downloads: fetches catalog data
- Network downloads → Apple update services: requests data
- Installer screens → Installer handling: uses installer handling
- Installer creation → Installer handling: prepares installer
- Patch screens → macOS detection: checks macOS
- Patch screens → Hardware probe: uses detected hardware
- Patch screens → Root patch coordinator: starts root patching
- Root patch coordinator → Patch detection: determines patches
- Patch detection → Hardware patchsets: selects patch definitions
- Root patch coordinator → Volume mounting: mounts system volume
- Root patch coordinator → Kernel cache rebuild: rebuilds caches
- Root patch coordinator → Kernel debug kits: checks KDK
- Root patch coordinator → Metal libraries: checks Metal libraries