Compare commits

..

37 Commits
2.2.0 ... 2.3.1

Author SHA1 Message Date
Mykola Grymalyuk
1a871fd93c Sync CHANGELOG
Ref: 35bcb134f1
2025-04-01 19:31:31 -06:00
Mykola Grymalyuk
c2f773aa6e Merge pull request #1156 from dortania/jazzzny-vault-2
Fix vaulting
2025-04-01 19:26:47 -06:00
Jazzzny
3635fc1d0c Update sign.command 2025-04-01 18:35:16 -04:00
Mykola Grymalyuk
67bf7c5095 Increment build 2025-04-01 08:37:55 -06:00
Mykola Grymalyuk
d1459344e4 Sync PatcherSupportPkg 2025-03-30 14:14:04 -06:00
neon ball
27b48c97f9 Minor additions 2025-03-28 16:58:23 +02:00
Mykola Grymalyuk
8098cc6520 sys_patch.py: Fix Metallib logic 2025-03-24 11:19:28 -06:00
Mykola Grymalyuk
d1bf5abd2b Sync CHANGELOG 2025-03-23 11:53:36 -06:00
Mykola Grymalyuk
28e57d5d00 Sync OpenCorePkg 2025-03-23 11:52:58 -06:00
Mykola Grymalyuk
33d1b294eb Sync kexts 2025-03-23 11:35:06 -06:00
Mykola Grymalyuk
3c91e6e9ed Sync copyright label 2025-02-15 11:08:04 -07:00
Mykola Grymalyuk
803cfcb255 Merge pull request #1155 from dortania/remove-shim
CI: Remove deprecated application
2025-02-15 11:04:18 -07:00
Mykola Grymalyuk
653f7cc56a CI: Remove deprecated application 2025-02-15 10:48:44 -07:00
neon ball
bb715537bc Fix typo 2025-01-04 10:41:10 +02:00
neon ball
16c0e880cd Update TROUBLESHOOTING.md 2025-01-04 10:39:28 +02:00
neon ball
3881fcfad1 Update TROUBLESHOOTING.md 2025-01-04 10:34:11 +02:00
neon ball
1f6bff465a Fix one more link 2025-01-02 09:36:36 +02:00
neon ball
664444edbc Fix couple links 2025-01-02 09:35:21 +02:00
Mykola Grymalyuk
bad8d24edd Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2025-01-01 11:10:12 -07:00
Mykola Grymalyuk
743076a411 Disable crash analytics client side 2025-01-01 11:10:02 -07:00
neon ball
10af52634f Fix typo 2024-12-31 00:18:08 +02:00
neon ball
87fad93941 Add note about High Sierra required for Sonoma installers 2024-12-29 11:04:40 +02:00
neon ball
df4e30a814 Update UNINSTALL.md 2024-12-25 19:18:50 +02:00
neon ball
041a291a14 Add link 2024-12-25 04:31:33 +02:00
neon ball
ff4a875704 Couple fixes 2024-12-22 10:24:53 +02:00
neon ball
0673714d5b Update FAQ.md 2024-12-22 10:03:16 +02:00
neon ball
12d0bbc155 Update FAQ.md 2024-12-22 10:01:54 +02:00
neon ball
12d57e0c66 Fix typo 2024-12-22 09:56:42 +02:00
neon ball
4437eaaf69 Update FAQ.md 2024-12-22 09:53:41 +02:00
neon ball
73babf41fd FAQ point about AVX/AVX2 and list of Macs supporting them 2024-12-22 09:38:06 +02:00
neon ball
77c53d393c Re-title 2024-12-18 21:51:03 +02:00
neon ball
fdc45f928d Restructure 2024-12-18 21:45:26 +02:00
neon ball
886e9a6341 Change formatting 2024-12-17 15:52:35 +02:00
neon ball
f8242874ab Add note about Big Sur not supporting reversion 2024-12-17 15:46:30 +02:00
neon ball
9c0b4f4ff2 Summary for patches included in root patching 2024-12-16 02:38:52 +02:00
neon ball
550686c88c Fix typo 2024-12-11 23:32:22 +02:00
neon ball
e39247960b Improve FeatureUnlock/mediaanalysisd doc 2024-12-11 23:07:52 +02:00
69 changed files with 148 additions and 190 deletions

View File

@@ -2,7 +2,7 @@ name: CI - Build wxPython
on:
push:
paths-ignore:
paths-ignore:
- 'docs/**'
workflow_dispatch:
release:
@@ -84,23 +84,6 @@ jobs:
--run-as-individual-steps
--prepare-package
- name: Prepare Update Shim (--prepare-shim)
run: >
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3 Build-Project.command
--application-signing-identity "${{ env.ORG_MAC_DEVELOPER_ID_APPLICATION_IDENTITY }}"
--notarization-apple-id "${{ env.ORG_MAC_NOTARIZATION_APPLE_ID }}" --notarization-password "${{ env.ORG_MAC_NOTARIZATION_PASSWORD }}" --notarization-team-id "${{ env.ORG_MAC_NOTARIZATION_TEAM_ID }}"
--run-as-individual-steps
--prepare-shim
- name: Prepare App for Upload
run: /bin/mv ./dist/OpenCore-Patcher.app.zip ./OpenCore-Patcher-GUI.app.zip
- name: Upload App to Artifacts
uses: actions/upload-artifact@v4
with:
name: OpenCore-Patcher.app (GUI)
path: OpenCore-Patcher-GUI.app.zip
- name: Upload AutoPkg Package to Artifacts
uses: actions/upload-artifact@v4
with:
@@ -119,15 +102,6 @@ jobs:
name: OpenCore-Patcher-Uninstaller.pkg
path: ./dist/OpenCore-Patcher-Uninstaller.pkg
- name: Upload Binary to Release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: OpenCore-Patcher-GUI.app.zip
tag: ${{ github.ref }}
file_glob: true
- name: Upload AutoPkg Package to Release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d

View File

@@ -7,7 +7,6 @@ import os
import sys
import time
import argparse
import plistlib
from pathlib import Path
@@ -15,12 +14,9 @@ from ci_tooling.build_modules import (
application,
disk_images,
package,
sign_notarize,
shim
sign_notarize
)
from opencore_legacy_patcher import constants
def main() -> None:
"""
@@ -55,10 +51,6 @@ def main() -> None:
parser.add_argument("--prepare-package", action="store_true", help="CI: Prepare Package", default=False)
parser.add_argument("--prepare-assets", action="store_true", help="CI: Prepare Assets", default=False)
# CI/CD Parameters for additional steps
# If not specified, will not run additional steps
parser.add_argument("--prepare-shim", action="store_true", help="CI: Prepare Update Shim", default=False)
# Analytics Parameters
parser.add_argument("--analytics-key", type=str, help="Analytics Key", default=None)
parser.add_argument("--analytics-endpoint", type=str, help="Analytics Endpoint", default=None)
@@ -136,31 +128,6 @@ def main() -> None:
notarization_team_id=args.notarization_team_id,
).sign_and_notarize()
# Create Update Shim
if args.prepare_shim:
shim.GenerateShim().generate()
if Path("dist/OpenCore-Patcher.app").exists():
if Path("dist/OpenCore-Patcher (Original).app").exists():
Path("dist/OpenCore-Patcher (Original).app").unlink()
Path("dist/OpenCore-Patcher.app").rename("dist/OpenCore-Patcher (Original).app")
Path("dist/OpenCore-Patcher (Shim).app").rename("dist/OpenCore-Patcher.app")
# Update app version in Info.plist
plist_path = Path("dist/OpenCore-Patcher.app/Contents/Info.plist")
contents = plistlib.load(plist_path.open("rb"))
contents["CFBundleVersion"] = constants.Constants().patcher_version
contents["CFBundleShortVersionString"] = constants.Constants().patcher_version
plistlib.dump(contents, plist_path.open("wb"))
sign_notarize.SignAndNotarize(
path=Path("dist/OpenCore-Patcher.app"),
signing_identity=args.application_signing_identity,
notarization_apple_id=args.notarization_apple_id,
notarization_password=args.notarization_password,
notarization_team_id=args.notarization_team_id,
entitlements=Path("./ci_tooling/entitlements/entitlements.plist"),
).sign_and_notarize()
if __name__ == '__main__':
_start = time.time()

View File

@@ -1,5 +1,36 @@
# OpenCore Legacy Patcher changelog
## 2.3.1
- Resolve error on OpenCore Vaulted configs
- Regression from 2.3.0
## 2.3.0
- Disable crash analytics
- Disabled server side for years, removing client side
- `OpenCore-Patcher-GUI.app.zip` removed from release
- Deprecated in 1.5.0, use `OpenCore-Patcher.pkg` for installation
- Sync copyright label to 2025
- Resolve MetallibSupportPkg failing to be cached on units without Kernel Debug Kit requirements
- Resolve Broadwell widget rendering on macOS Sequoia
- Resolve non-Metal crashing on macOS Big Sur and Sequoia (15.4)
- Resolve T1 erroring on macOS Sequoia (15.4)
- Enabled non-metal beta menubar styling globally
- No changes to GUI settings
- Increment binaries:
- OpenCorePkg 1.0.4 - release
- Lilu 1.7.0 - release
- WhateverGreen 1.6.9 - release
- AirPortBrcmFixup 2.1.9 - release
- NVMeFix 1.1.2 - release
- RestrictEvents 1.1.5 - release
- FeatureUnlock 1.1.7 - release
- DebugEnhancer 1.1.0 - release
- CPUFriend 1.2.9 - release
- BlueToolFixup 2.6.9 - release
- CryptexFixup 1.0.4 - release
- PatcherSupportPkg 1.9.2 - release
## 2.2.0
- Resolved non-metal accessibility zoom on macOS Sonoma/Sequoia
- Resolved non-metal photos app on macOS Sequoia

View File

@@ -1,4 +1,4 @@
Copyright (c) 2020-2024 Dhinak G, Mykola Grymalyuk, and individual contributors.
Copyright (c) 2020-2025 Dhinak G, Mykola Grymalyuk, and individual contributors.
All rights reserved.

View File

@@ -1,34 +0,0 @@
"""
shim.py: Generate Update Shim
"""
from pathlib import Path
from opencore_legacy_patcher.volume import generate_copy_arguments
from opencore_legacy_patcher.support import subprocess_wrapper
class GenerateShim:
def __init__(self) -> None:
self._shim_path = "./ci_tooling/update_shim/OpenCore-Patcher.app"
self._shim_pkg = f"{self._shim_path}/Contents/Resources/OpenCore-Patcher.pkg"
self._build_pkg = "./dist/OpenCore-Patcher.pkg"
self._output_shim = "./dist/OpenCore-Patcher (Shim).app"
def generate(self) -> None:
"""
Generate Update Shim
"""
print("Generating Update Shim")
if Path(self._shim_pkg).exists():
Path(self._shim_pkg).unlink()
subprocess_wrapper.run_and_verify(generate_copy_arguments(self._build_pkg, self._shim_pkg))
if Path(self._output_shim).exists():
Path(self._output_shim).unlink()
subprocess_wrapper.run_and_verify(generate_copy_arguments(self._shim_path, self._output_shim))

View File

@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
<string>OpenCore-Patcher</string>
<key>CFBundleExecutable</key>
<string>OpenCore-Patcher</string>
<key>CFBundleIconFile</key>
<string>AppIcon.icns</string>
<key>CFBundleIdentifier</key>
<string>com.dortania.opencore-legacy-patcher</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>OpenCore Legacy Patcher</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>LSMinimumSystemVersion</key>
<string>10.10.0</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020-2024 Dortania</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSRequiresAquaSystemAppearance</key>
<false/>
</dict>
</plist>

View File

@@ -1,8 +0,0 @@
# OpenCore-Patcher Update Shim
To handle the new PKG installation method, old versions of OpenCore Legacy Patcher updating to newer versions will still require 'OpenCore-Patcher.app' to be available for download.
Thus the goal of this app is to install an embedded PKG under ./OpenCore-Patcher.app/Contents/Resources/OpenCore-Patcher.pkg to handle the update process.
Source is available at:
* https://github.com/dortania/OCLP-Helper

View File

@@ -11,6 +11,7 @@
* [Can I update to macOS betas?](#can-i-update-to-macos-betas)
* [Can I downgrade macOS while keeping data?](#can-i-downgrade-macos-while-keeping-data)
* [Why is my system slow?](#why-is-my-system-slow)
* [Applications crashing with "illegal instruction"](#applications-crashing-with-illegal-instruction)
* [What is Metal and non-Metal?](#what-is-metal-and-non-metal)
* [What are FeatureUnlock and mediaanalysisd?](#what-are-featureunlock-and-mediaanalysisd)
* [Why isn't iPhone Mirroring working?](#why-isn-t-iphone-mirroring-working)
@@ -20,7 +21,8 @@
## Application requirements
The patcher application requires **OS X Yosemite 10.10** or later to run.
* **OS X El Capitan 10.11** or later is required to make installers for macOS Ventura and later.
* **El Capitan 10.11** or later is required to make installers for macOS Ventura
* **High Sierra 10.13** or later is required to make installers for macOS Sonoma and newer.
The patcher is designed to target **macOS Big Sur 11.x to macOS Sequoia 15.x**.
* Other versions may work, albeit in a broken state. No support is provided for any version outside of the above.
@@ -87,8 +89,9 @@ macOS by default uses a sealed system volume that is unwritable. When the seal i
## Can I update to macOS betas?
If you are feeling brave and don't mind having to possibly recover your system. However, be advised that no help will be given in situations where a beta was installed.
OCLP patch development and testing happens at the beta phase in order to target a stable release, as such it is impossible for OCLP to support betas properly and previous versions may be incompatible. Only install a beta if you know what you're doing, have your expectations in check and don't mind having to fully reset to recover your system.
Be advised that no help will be given in situations where a beta was installed.
## Can I downgrade macOS while keeping data?
@@ -104,6 +107,33 @@ However, if your system is being **really** slow and you have no transparency in
Patches can also break if automatic updates are enabled and an update modifies the system volume, refer to [System version mismatch error when root patching](https://dortania.github.io/OpenCore-Legacy-Patcher/TROUBLESHOOTING.html#system-version-mismatch-error-when-root-patching) for more information.
## Applications crashing with "illegal instruction"
If the crash log includes a string saying "illegal instruction", this typically means the application requires AVX or AVX2 CPU instructions.
Since macOS Ventura, AVX2 is required from all Macs supported by it. While OCLP is able to patch macOS to boot without it, many applications are beginning to utilize AVX and AVX2 as well in newer versions because all supported Macs are expected to have them. This creates an issue for older systems where some applications cannot be ran on CPUs lacking such instructions. Some older Macs may need older versions of applications and cannot update to newer versions. AVX was introduced in Sandy Bridge CPU generation and AVX2 in Haswell generation.
In essence, this means that some models are now aging rapidly and newer OS won't always provide support for newer applications because of hardware requirements. If an application still supports macOS versions older than Ventura, it may have a chance of running on an older OS version on the old system, since some Macs running them natively don't support AVX2 and the app takes a different path.
Earliest Mac models supporting AVX instruction:
- Macmini5,x (2011)
- iMac12,x (2011)
- MacBookPro8,x (2011)
- MacBookAir4,x (2011)
- MacBook8,x (2015)
- MacPro6,1 (2013)
Earliest Mac models supporting AVX2 instruction:
- Macmini7,x (2014)
- iMac14,x (2013)
- MacBookPro11,x (2013)
- MacBookAir6,x (2013)
- MacBook8,x (2015)
- MacPro7,1 (2019)
## What is Metal and Non-Metal?
Metal is Apple's proprietary graphics API which fully superseded OpenGL rendering of the operating system starting from macOS Mojave. When the word "Non-Metal" is used, it describes GPUs that are not Metal supported and require using OpenGL instead.
@@ -123,9 +153,20 @@ Due to deprecation of OpenGL, many newer applications may require Metal renderin
## What are FeatureUnlock and mediaanalysisd?
FeatureUnlock is an extension to enable some macOS features, such as Sidecar or Universal Control. All features enabled by FeatureUnlock are listed [here](https://github.com/acidanthera/FeatureUnlock). Medianalysisd is utilized for face detection in Photos, as well as the Live Text feature.
**Important:** These features have the potential to cause instability in many places and as such a decision has been made to disable them by default (mediaanalysisd only on 3802-based* systems) starting from OpenCore Legacy Patcher version 2.1.0. If you want to enable these features at the risk of additional instability, you can do so in the OCLP settings and rebuilding OpenCore.
These features have the potential to cause instability in many places and as such a decision has been made to disable them by default (mediaanalysisd only on 3802-based* systems) starting from OpenCore Legacy Patcher version 2.1.0. If you want to enable these features at the risk of additional instability, you can do so in the OCLP settings and rebuilding OpenCore.
FeatureUnlock is an extension to enable some macOS features, including:
- Sidecar
- Universal Control
- AirPlay to Mac
- Continuity Camera
- NightShift (non-Metal)
Further information, requirements and the models affected for FeatureUnlock features can be found [here](https://github.com/acidanthera/FeatureUnlock).
Medianalysisd is utilized for
- Face detection in Photos
- Live Text
| FeatureUnlock | mediaanalysisd |
| :--- | :--- |

View File

@@ -48,7 +48,7 @@ The below tables can be used to reference issues with a particular model, and se
| MacBook Air (13-inch, Mid 2013)<br>MacBook Air (13-inch, Early 2014) | `MacBookAir6,2` | ^^ |
| MacBook Air (11-inch, Early 2015) | `MacBookAir7,1` | ^^ |
| MacBook Air (13-inch, Early 2015)<br>MacBook Air (13-inch, 2017) | `MacBookAir7,2` | ^^ |
| MacBook Air (Retina, 13-inch, 2018) | `MacBookAir8,1` | - Supported natively up to Sonoma<br>- Currently not supported on Sequoia due to T2 issues<br> |
| MacBook Air (Retina, 13-inch, 2018) | `MacBookAir8,1` | - Supported natively up to Sonoma<br>- [Currently not supported with OpenCore due to T2 issues](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1136)<br> |
| MacBook Air (Retina, 13-inch, 2019) | `MacBookAir8,2` | ^^ |
| MacBook Air (Retina, 13-inch, 2020) | `MacBookAir9,1` | Supported by Apple |

View File

@@ -79,7 +79,17 @@ Non-Metal systems still require lowered SIP.
Post Install Volume Patches, sometimes also called root patches, are patches that have to be installed to disk for some older Macs to gain back functionality.
OCLP will automatically root patch your system during a first time install **if the USB install media was created within OCLP and the proper model was selected before installer creation.** Users will also be prompted to install these patches after macOS updates or whenever patches are not detected on the system. We recommend rebuilding OpenCore with the latest version of OCLP to take advantage of these new features.
These patches include things such as:
- Graphics drivers
- WiFi drivers
- Bluetooth drivers
- Touchbar / T1 drivers
- Built-in camera (iSight) drivers
- USB 1.1 drivers
- Other patches for compatibility with older drivers
OCLP will automatically root patch your system during a first time install **if the USB install media was created within OCLP and the proper model was selected before installer creation.** Users will also be prompted to install these patches after macOS updates or whenever patches are not detected on the system. We recommend rebuilding OpenCore with the latest version of OCLP to take advantage of these new features.
Users can also see whether applicable patches have been installed, date and version the system was root patched with in the Post-Install Menu.

View File

@@ -22,5 +22,5 @@ features:
details: Unlock Sidecar, AirPlay to Mac, Night Shift, and Universal Control, even on natively supported models!
- title: A helpful community
details: Whether it's getting started or learning the specifics, you can always find answers with our amazing community of tinkerers, developers, and dreamers.
footer: Copyright © Dortania 2020-2024
footer: Copyright © Dortania 2020-2025
---

View File

@@ -7,7 +7,7 @@ Here are some common errors that users may experience while using this patcher:
* [Stuck on `This version of Mac OS X is not supported on this platform` or (🚫) Prohibited Symbol](#stuck-on-this-version-of-mac-os-x-is-not-supported-on-this-platform-or-🚫-prohibited-symbol)
* [Stuck on hard disk selection with greyed out buttons in installer](#stuck-on-hard-disk-selection-with-greyed-out-buttons-in-installer)
* [Cannot boot macOS without the USB](#cannot-boot-macos-without-the-usb)
* [Infinite Recovery OS Booting](#infinite-recovery-os-reboot)
* [Infinite Recovery OS Booting](#infinite-recovery-os-booting)
* [Internal disk missing when building OpenCore](#internal-disk-missing-when-building-opencore)
* [System version mismatch error when root patching](#system-version-mismatch-error-when-root-patching)
* [Stuck on boot after root patching](#stuck-on-boot-after-root-patching)
@@ -18,8 +18,8 @@ Here are some common errors that users may experience while using this patcher:
* [No Brightness Control](#no-brightness-control)
* [Cannot connect Wi-Fi on Monterey with legacy cards](#cannot-connect-Wi-Fi-on-Monterey-with-legacy-cards)
* [No Graphics Acceleration](#no-graphics-acceleration)
* [Black Screen on MacBookPro11,3 in macOS Monterey](#black-screen-on-macbookpro113-in-macos-monterey)
* [No DisplayPort Output on Mac Pros with NVIDIA Kepler](#no-displayport-output-on-mac-pros-with-NVIDIA-kepler)
* [Black Screen on MacBookPro11,3 in macOS Monterey](#black-screen-on-macbookpro11-3-in-macos-monterey)
* [No DisplayPort Output on Mac Pros with NVIDIA Kepler](#no-displayport-output-on-mac-pros-with-nvidia-kepler)
* [Volume Hash Mismatch Error in macOS Monterey](#volume-hash-mismatch-error-in-macos-monterey)
* [Cannot Disable SIP in recoveryOS](#cannot-disable-sip-in-recoveryos)
* [Stuck on "Less than a minute remaining..."](#stuck-on-less-than-a-minute-remaining)
@@ -124,6 +124,8 @@ System Preferences -> Software Update -> Advanced -> Disable "Download new updat
## Stuck on boot after root patching
**Applies to macOS Monterey and newer. Big Sur does not support snapshot reversion.**
Boot into recovery by pressing space when your disk is selected on the OCLP bootpicker (if you have it hidden, hold ESC while starting up)
* **Note:** If your disk name is something else than "Macintosh HD", make sure to change the path accordingly. You can figure out your disk name by typing `ls /Volumes`.
@@ -317,4 +319,11 @@ Applicable models include:
If you notice your Touchbar etc not working, this means loss of T1 functionality.
Wiping the entire disk using Disk Utility with Sonoma or newer causes the T1 firmware to be removed, which due to removed support, the macOS Sonoma+ installer will not restore. To restore T1 functionality, Ventura or older has to be reinstalled. This can be done in another volume or external disk as well, as long as the OS is booted once. After this you can wipe the old OS or unplug the external disk.
Wiping the entire disk using Disk Utility with Sonoma or newer causes the T1 firmware to be removed, which due to removed support, the macOS Sonoma+ installer will not restore. If the firmware is missing from EFI, T1 will not work regardless whether OCLP reinstates the driver during root patching. To restore T1 functionality, Ventura or older has to be reinstalled. This can be done in another volume or external disk as well, as long as the OS is booted once. After this you can wipe the old OS or unplug the external disk.
To prevent this from happening in the future, with T1 systems only wipe the volume containing the operating system.
<div align="left">
<img src="./images/wipe-volume.png" alt="WipeVolume" width="800" />
</div>

View File

@@ -8,23 +8,17 @@ Boot a native macOS installer, go to Disk Utility and choose View -> Show All De
[Reset NVRAM](https://support.apple.com/HT204063) afterwards.
## Uninstalling the application
## Manual methods
### Version 1.5.0 and newer
### Uninstalling the application
Version 1.5.0 and newer use a Privileged Helper Tool that requires more thorough uninstallation than previous versions. Download the uninstaller package from [the releases page.](https://github.com/dortania/OpenCore-Legacy-Patcher/releases)
To fully uninstall the OCLP application including LaunchAgent and PrivilegedHelperTool, download the uninstaller package from [the releases page.](https://github.com/dortania/OpenCore-Legacy-Patcher/releases)
### Version 1.4.3 and older.
Navigate to `/Library/Application Support/` and delete the Dortania folder.
## Reverting root patches
### Reverting root patches
Open the OCLP application and go into the Post Install Root Patch menu, choose Revert Root Patches.
If you're planning to revert back to native version, you don't have to do this. Root patches get wiped when you wipe the disk.
## Uninstalling the bootloader
### Uninstalling the bootloader
1. Remove OpenCore either from the USB or internal drive

View File

@@ -13,9 +13,9 @@ from .detections import device_probe
class Constants:
def __init__(self) -> None:
# Patcher Versioning
self.patcher_version: str = "2.2.0" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version: str = "1.9.1" # PatcherSupportPkg
self.copyright_date: str = "Copyright © 2020-2024 Dortania"
self.patcher_version: str = "2.3.1" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version: str = "1.9.2" # PatcherSupportPkg
self.copyright_date: str = "Copyright © 2020-2025 Dortania"
self.patcher_name: str = "OpenCore Legacy Patcher"
# URLs
@@ -28,25 +28,25 @@ class Constants:
# OpenCore Versioning
# https://github.com/acidanthera/OpenCorePkg
self.opencore_version: str = "1.0.1"
self.opencore_version: str = "1.0.4"
# Kext Versioning
## Acidanthera
## https://github.com/acidanthera
self.lilu_version: str = "1.6.8" # Lilu
self.whatevergreen_version: str = "1.6.7" # WhateverGreen
self.whatevergreen_navi_version: str = "1.6.7-Navi" # WhateverGreen (Navi Patch)
self.airportbcrmfixup_version: str = "2.1.8" # AirPortBrcmFixup
self.nvmefix_version: str = "1.1.1" # NVMeFix
self.lilu_version: str = "1.7.0" # Lilu
self.whatevergreen_version: str = "1.6.9" # WhateverGreen
self.whatevergreen_navi_version: str = "1.6.9-Navi" # WhateverGreen (Navi Patch)
self.airportbcrmfixup_version: str = "2.1.9" # AirPortBrcmFixup
self.nvmefix_version: str = "1.1.2" # NVMeFix
self.applealc_version: str = "1.6.3" # AppleALC
self.restrictevents_version: str = "1.1.4" # RestrictEvents
self.featureunlock_version: str = "1.1.6" # FeatureUnlock
self.debugenhancer_version: str = "1.0.9" # DebugEnhancer
self.cpufriend_version: str = "1.2.8" # CPUFriend
self.bluetool_version: str = "2.6.8" # BlueToolFixup (BrcmPatchRAM)
self.restrictevents_version: str = "1.1.5" # RestrictEvents
self.featureunlock_version: str = "1.1.7" # FeatureUnlock
self.debugenhancer_version: str = "1.1.0" # DebugEnhancer
self.cpufriend_version: str = "1.2.9" # CPUFriend
self.bluetool_version: str = "2.6.9" # BlueToolFixup (BrcmPatchRAM)
self.cslvfixup_version: str = "2.6.1" # CSLVFixup
self.autopkg_version: str = "1.0.4" # AutoPkgInstaller
self.cryptexfixup_version: str = "1.0.3" # CryptexFixup
self.cryptexfixup_version: str = "1.0.4" # CryptexFixup
## Apple
## https://www.apple.com

View File

@@ -200,7 +200,6 @@ class InitializeLoggingSupport:
return
if self.constants.cli_mode is True:
threading.Thread(target=analytics_handler.Analytics(self.constants).send_crash_report, args=(self.log_filepath,)).start()
return
error_msg = f"OpenCore Legacy Patcher encountered the following internal error:\n\n"
@@ -208,17 +207,7 @@ class InitializeLoggingSupport:
if tb:
error_msg += f"\n\n{traceback.extract_tb(tb)[-1]}"
cant_log: bool = global_settings.GlobalEnviromentSettings().read_property("DisableCrashAndAnalyticsReporting")
if not isinstance(cant_log, bool):
cant_log = False
if self.constants.commit_info[0].startswith("refs/tags"):
cant_log = True
if cant_log is True:
error_msg += "\n\nReveal log file?"
else:
error_msg += "\n\nSend crash report to Dortania?"
error_msg += "\n\nReveal log file?"
# Ask user if they want to send crash report
try:
@@ -230,11 +219,7 @@ class InitializeLoggingSupport:
if result[applescript.AEType(b'bhit')] != "Yes":
return
if cant_log is True:
subprocess.run(["/usr/bin/open", "--reveal", self.log_filepath])
return
threading.Thread(target=analytics_handler.Analytics(self.constants).send_crash_report, args=(self.log_filepath,)).start()
subprocess.run(["/usr/bin/open", "--reveal", self.log_filepath])
def custom_thread_excepthook(args) -> None:

View File

@@ -100,6 +100,9 @@ class PatchSysVolume:
self.skip_root_kmutil_requirement = not self.hardware_details[HardwarePatchsetSettings.KERNEL_DEBUG_KIT_REQUIRED] if self.constants.detected_os >= os_data.os_data.ventura else False
self.requires_kdk_caching = self.hardware_details[HardwarePatchsetSettings.KERNEL_DEBUG_KIT_REQUIRED] and self.constants.detected_os >= os_data.os_data.ventura
self.requires_metallib_caching = self.hardware_details[HardwarePatchsetSettings.METALLIB_SUPPORT_PKG_REQUIRED] and self.constants.detected_os >= os_data.os_data.sequoia
self.mount_obj = RootVolumeMount(self.constants.detected_os)
@@ -345,7 +348,7 @@ class PatchSysVolume:
if self.constants.wxpython_variant is True and self.constants.detected_os >= os_data.os_data.big_sur:
needs_daemon = False
if self.constants.detected_os >= os_data.os_data.ventura and self.skip_root_kmutil_requirement is False:
if self.requires_kdk_caching is True or self.requires_metallib_caching is True:
needs_daemon = True
InstallAutomaticPatchingServices(self.constants).install_auto_patcher_launch_agent(kdk_caching_needed=needs_daemon)

View File

@@ -296,6 +296,8 @@
<false/>
<key>AvoidRuntimeDefrag</key>
<false/>
<key>ClearTaskSwitchBit</key>
<false/>
<key>DevirtualiseMmio</key>
<false/>
<key>DisableSingleUser</key>
@@ -3191,6 +3193,8 @@
</dict>
<key>ReservedMemory</key>
<array/>
<key>Unload</key>
<array/>
</dict>
</dict>
</plist>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -49,6 +49,17 @@ UNUSED_DRIVERS = [
"Dhcp4Dxe.efi",
"ArpDxe.efi",
"FirmwareSettingsEntry.efi",
"UefiPxeBcDxe.efi",
"RngDxe.efi",
"TlsDxe.efi",
"Udp6Dxe.efi",
"Hash2DxeCrypto.efi",
"Dhcp6Dxe.efi",
"Ip6Dxe.efi",
"Mtftp4Dxe.efi",
"RamDiskDxe.efi",
"Mtftp6Dxe.efi",
"OpenNetworkBoot.efi",
]
UNUSED_TOOLS = [

Binary file not shown.

Binary file not shown.

View File

@@ -60,7 +60,8 @@ fi
echo "Signing OpenCore..."
./RsaTool -sign "${OCPath}/vault.plist" "${OCPath}/vault.sig" "${PubKey}" || abort "Failed to patch ${PubKey}"
off=$(($(./strings -a -t d "${OCBin}" | /usr/bin/grep "=BEGIN OC VAULT=" | /usr/bin/awk '{print $1}') + 16))
off=$((0x$(/usr/bin/hexdump -C "${OCBin}" | /usr/bin/grep "=BEGIN OC VAULT=" | /usr/bin/awk '{print $1}') + 16))
if [ "${off}" -le 16 ]; then
abort "${OCBin} is borked"
fi