explaingit

dortania/opencore-legacy-patcher

17,387PythonAudience · generalComplexity · 3/5Setup · moderate

TLDR

A Python tool that lets older Macs unsupported by Apple run modern macOS versions (Big Sur through Sequoia) by applying boot-level and runtime patches without permanently modifying the Mac's firmware.

Mindmap

mindmap
  root((OpenCore Legacy Patcher))
    What it does
      Run modern macOS on old Macs
      No firmware modification
      Supports Macs from 2007
    Features
      Graphics acceleration
      Wi-Fi and Personal Hotspot
      OTA system updates
      Security features preserved
    Tech Stack
      Python
      OpenCorePkg bootloader
      Lilu runtime patcher
    Use Cases
      Extend old Mac life
      Install Sequoia on old hardware
      Keep security features active
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Install macOS Sequoia on a 2012 MacBook Pro that Apple no longer officially supports.

USE CASE 2

Restore graphics acceleration, Wi-Fi, and AirPlay features on an older Mac running a patched modern macOS.

USE CASE 3

Keep over-the-air macOS system updates working on an unsupported Mac without re-flashing its firmware.

Tech stack

PythonOpenCorePkgLilu

Getting it running

Difficulty · moderate Time to first run · 1h+

Only clean installs and macOS upgrades are supported, requires following a multi-step process using the provided GUI installer.

License not specified in the explanation.

In plain English

OpenCore Legacy Patcher is a Python tool that lets you install and run modern versions of macOS on older Apple computers that Apple itself has stopped supporting. The project's stated goal is to breathe new life into Macs no longer supported by Apple, allowing the installation of macOS Big Sur and newer on machines as old as 2007. In practice this means a Mac that Apple has cut off from updates can still run Big Sur, Monterey, Ventura, Sonoma, or Sequoia. The way it works is by building on top of two existing projects from Acidanthera: OpenCorePkg, a bootloader that pretends to be the firmware a newer Mac would have, and Lilu, which patches the operating system at runtime. On top of that foundation, this patcher adds the macOS-specific tweaks needed for old hardware, graphics acceleration for both Metal and non-Metal GPUs, Wi-Fi and Personal Hotspot support on older wireless chipsets, enhanced power management for non-Apple SSDs, and unlocking features like Sidecar and AirPlay to Mac. It supports Macs back to the Penryn generation, keeps over-the-air system updates working, and preserves security features like System Integrity Protection, FileVault 2, and Secure Boot. It does this without permanently modifying the Mac's firmware. Someone would use this if they own an older iMac, MacBook, or Mac mini that Apple has dropped from the supported-hardware list and they want current macOS releases instead of buying new hardware. Only clean installs and upgrades are supported. The project is written in Python and ships an installer GUI, community support lives on a Discord server. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
Walk me through using OpenCore Legacy Patcher to install macOS Sonoma on a 2013 iMac that Apple no longer supports.
Prompt 2
After running OpenCore Legacy Patcher, how do I apply root patches to restore Metal graphics acceleration on my older Mac?
Prompt 3
Does OpenCore Legacy Patcher preserve FileVault 2 and System Integrity Protection on unsupported Macs, and how does it do that?
Prompt 4
How do I receive and apply over-the-air macOS updates on a Mac running OpenCore Legacy Patcher without breaking the setup?
Prompt 5
What is the difference between OpenCorePkg and Lilu in the OpenCore Legacy Patcher setup, and what does each one do?
Open on GitHub → Explain another repo

← dortania on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.