Adventures in OpenCore Legacy Patcher

Here’s the thing about being a Mac owner. At some point Apple decides your seemingly capable device isn’t up to the task of running the next version of macOS. And whilst you become stranded on your current version, Apple will provide a further two years of security updates and then it’s game over.

Of course, you can keep using your device, but it’s up to you whether you’re comfortable continuing to allow a device access to the internet when it’s no longer receiving security updates.

If that’s a deal breaker then there are options available. A common decision is to switch the laptop to one of the Mac-compatible Linux distributions available. However, that won’t satiate a desire for the latest software features which only come with those out of reach macOS upgrades.

That leaves the second option of buying a new device, at no small cost. Macs aren’t cheap, and it’s always our hope to make them last as long as possible.

However, there’s now a third option in the form of the OpenCore Legacy Patcher (OCLP). Incredibly, it is possible to upgrade an unsupported Mac to the latest macOS version, but it’s not without its caveats and pitfalls.

A Tale of Two Macs

I have two usable MacBook Airs knocking around at home. One is the 13” 2017 model which can run Monterey and – at time of writing – continues to receive security updates from Apple. But it is, in my opinion, one of the worst laptops Apple have ever put out in their obsessive quest for ultra-thin devices, a trend which they’ve thankfully given up on in recent years. It’s not a laptop I really enjoy using.

The other laptop is the much older 11” mid-2013. I love this laptop with its smaller form factor whose dimensions no longer exist in the Apple lineup. Only problem is it’s too old to receive security updates anymore, being stranded on Big Sur. Even at 10 years old, the laptop still runs flawlessly but is forever stuck on a version of macOS with no security patches.

As you can see, I'd given this ten-year old laptop a lot of love over the years

So imagine my delight when I came across this article which talks about something remarkable called the OpenCore Legacy Patcher Project. OCLP lets you artificially upgrade an unsupported Mac all the way up to Sonoma. It sounds like a dream come true, but is it?

Living on the Edge

Let’s discuss what it’s like to use an artificially upgraded device. Is it as responsive as a supported version of macOS? No, of course it isn’t. Later versions of macOS are definitely more demanding of memory and there’s more disk swapping happening when lots of apps are open at once. It seems prudent to give the laptop a reboot more often than you might usually, and this helps speed things back up.

Perhaps the biggest issue I encountered was with Safari. Running on version 17 there were some odd bugs which can potentially render the browser completely unusable. Thankfully, trusty old Firefox has no such issues.

Be warned, OCLP is hungry for disk space, which can be a challenge on older Macs.

Beyond that, things seemed mostly stable except for the odd spinning beachball and some performance degradation, which is to be expected when running a later operating system than the hardware officially supports.

How Does the OpenCore Legacy Patcher Work?

The OCLP website summarises:

OpenCore is a sophisticated boot loader used to inject and patch data in memory, instead of on disk. This means that we’re able to achieve a near-native experience on many unsupported Macs.

In real terms, whist your Mac would usually try and boot into macOS once switched on, OCLP inserts what’s called a boot loader to ensure its own code is run before anything else.

Then OCLP cleverly makes some ad-hoc changes in memory to fool macOS into allowing your outdated Mac to boot into an unsupported version. After that, it’s business as usual as your laptop will boot as normal.

There’s other stuff probably happening behind the scenes on the system level as well, such as kernel patches and ad-hoc drivers to support hardware where Apple may have removed the official drivers from the macOS distribution.

Once patched, you’re golden until you want to update macOS, which is a kettle of fish which we’ll talk about shortly.

But Then I Took It Too Far

I went mad with power.

Having coerced my 11" 2013 MacBook Air onto Ventura, I felt emboldened enough to have a go with my 13" 2017 Air and try and get it onto Sonoma, the latest and greatest version of macOS.

But doing so would take me too close to the sun. This laptop is essentially my main backup for when I’m out and about and don’t have access to my main machine, a desktop Mac.

I did hesitate before attempting the upgrade though; Even though this model will continue to get security updates on Monterey until later this year, I figured there’s no harm in future proofing the device.

And at first things went OK, but I soon began to run into some serious issues.

Firstly, the battery life seemed to take a hit. I noticed the laptop would often suddenly cut out with the battery seemingly at ~80%. Attempting to power back on would inform me the battery was empty and I needed to charge it. I can’t 100% confirm I should blame this on an unsupported upgrade, but I did replace the battery in this laptop only a few years ago so it seemed off that the battery was already failing. Obviously, these kind of shenanigans are a complete deal-breaker for a portable device.

Then there was the macOS update process. In theory, OCLP supports minor updates to macOS. The caveat is you need to ensure you have the latest version of the patcher downloaded to your laptop before applying the system update.

OCLP should have downloaded its own latest update in advance of you running a macOS update. Once you're done, it should prompt you to put back any missing drivers.

This should happen automatically before you attempt a system update, as macOS updates the kernel and system files, overwriting OCLP’s patches. As a result, after rebooting you’ll find things like the WiFi no longer function.

That’s no problem though, as OCLP will detect you’ve just run an update and offer to re-patch the system again. In principle, this should simply involve a reboot and everything will be working again.

After OCLP updates, it should be a case of a simple reboot.

However, I often ran into a specific issue whereby the MacBook would get stuck on boot.

Oh s---!

This is where things get hairy as you need to first of all identify the issue, and then resolve it by following the guide on the OCLP website. You need to be confident in booting to the terminal, mounting volumes at the command line and intentionally deleting system files! Not for the faint hearted.

I was able to get my device out of this sticky situation on a couple of occastions, but then the other day I ran into a whole new issue where the built in trackpad and keyboard wouldn’t function at all. Oddly, connecting a USB mouse and keyboard worked, and upon some research it seems the cause was a bug which affects USB hubs on external monitors, but somehow also impacted OCLP.

So, this was the final straw and I realised OCLP laptop wasn’t going to be stable or reliable enough to work for my needs. I dug out an old USB key with El Capitan on it, nuked my 13" and after resetting it to factory settings I was able to upgrade back to Ventura, and the stability I was so sorely missing.

I’ve also made the decision not to further update my 11" laptop as right now it’s stable as-is running OCLP.

Come later this year I’ll have to decide what to do once Apple’s support comes to an end, but I don’t think this should reflect on the remarkable job the OCLP team have done in even getting to this stage. I remain truly impressed.

Don’t Try This At Home?

So, at the end of this experiment what did I make of OpenCore Legacy Patcher, and more importantly should you give it a try?

OCLP is a remarkable technical achievement. It shows if Apple truly wanted to support these older machines for longer, they could probably find a way to make it work. I suspect they’re too focused on the march towards an Apple Silicon world and deprecating legacy Intel support. This is a repeat of the journey from PowerPC to Intel which was painful for some, but resulted in a better world for most users.

As a result, the OCLP maintainers are playing a cat-and-mouse game with Apple which is inevitably going to become harder over time as legacy drivers are further deprecated.

If you do choose to try OCLP, you should be cautious about installing any macOS version updates. If you do want to keep current, check whether the newer macOS versions are fully supported and be aware of any issues before attempting an update, even minor ones.

In my case, although I wanted the newer macOS features my real motivation was to keep receiving the security upgrades. In the end, I’ve realised it’s too unstable and not really worth the security tradeoffs.

All in all, my recommendation is don’t use this on your primary machine. In fact, I think you should only be using this on a tertiary Mac which you don’t rely on, perhaps a machine dedicated for hobbyist activities.

You absolutely shouldn’t be doing this on a laptop you rely on whilst travelling. Stability should always be number one, and in spite of its technical acrobatics OCLP simply can’t guarantee this.

Enjoyed this post? You may also enjoy some of these other Mac related shenanigans: