Compare commits

...

7 Commits
1.2.1 ... 1.3.0

Author SHA1 Message Date
Mykola Grymalyuk
f1210def89 sys_patch: Expand 32023 patching for 14.2 Beta 2+ 2023-11-26 13:03:18 -07:00
Mykola Grymalyuk
03842d4e77 paylods: Resolve malformed CFBundleExecutable property 2023-11-26 11:11:41 -07:00
Mykola Grymalyuk
34676702f4 Merge pull request #1119 from fricklerhandwerk/fix-typos
fricklerhandwerk: fix typos
2023-11-18 11:00:58 -07:00
fricklerhandwerk
352d917a7d fix typos 2023-11-16 19:21:49 +01:00
Mykola Grymalyuk
f1b47f6a78 Increment build 2023-11-10 18:43:21 -07:00
neon ball
15d58966f6 Update DONATE.md 2023-11-10 22:24:26 +02:00
neon ball
49cb9ccb66 Reword DONATE.md 2023-11-10 19:45:10 +02:00
11 changed files with 66 additions and 29 deletions

View File

@@ -1,5 +1,19 @@
# OpenCore Legacy Patcher changelog
## 1.3.0
- Resolve mismatched `CFBundleExecutable` and binary name for kexts.
- Resolves ProperTree binary detection (Thanks @CorpNewt).
- Applicable extensions:
- corecrypto_T1.kext
- corecaptureElCap.kext
- IO80211ElCap.kext
- Resolve 3802-GPU support for macOS 14.2 Beta 2 and newer.
- Applicable GPUs:
- Intel Ivy Bridge and Haswell iGPUs
- Nvidia Kepler dGPUs
- Increment Binaries:
- PatcherSupportPkg 1.4.6 - release
## 1.2.1
- Resolve `TeraScale 2 Acceleration` checkbox in Settings not being saved
- Thanks @rtd1250

View File

@@ -71,6 +71,7 @@ class SystemPatchDictionary():
self.macOS_12_5: float = 21.6
self.macOS_13_3: float = 22.4
self.macOS_14_1: float = 23.1
self.macOS_14_2: float = 23.2
self._generate_sys_patch_dict()
@@ -388,6 +389,11 @@ class SystemPatchDictionary():
**({ "MTLCompiler.framework": "13.2.1" } if self.os_major == os_data.os_data.ventura else {}),
**({ "GPUCompiler.framework": "13.2.1" } if self.os_major == os_data.os_data.ventura else {}),
"RenderBox.framework": "13.2.1-3802" if self.os_major == os_data.os_data.ventura else "14.0-3802",
# More issues for 3802, now with 14.2 Beta 2+...
# If there is a god, they clearly despise us and legacy Macs.
**({ "MTLCompiler.framework": "14.2 Beta 1" } if self.os_float >= self.macOS_14_2 else {}),
**({ "GPUCompiler.framework": "14.2 Beta 1" } if self.os_float >= self.macOS_14_2 else {}),
},
},
},

View File

@@ -70,7 +70,7 @@ This issue is fully resolved for 13.2.1 and lower starting from 0.2.5.
::: details Workaround for 0.2.4, Ventura 13.3+
Due to the usage of amfi_get_out_of_my_way=1, macOS will fail to prompt users for special permissions upon application start as well as omit the entires in System Preferences. To work around this, we recommend users install tccplus to manage permissions.
Due to the usage of amfi_get_out_of_my_way=1, macOS will fail to prompt users for special permissions upon application start as well as omit the entries in System Preferences. To work around this, we recommend users install tccplus to manage permissions.
[Download TCCPlus](https://github.com/jslegendre/tccplus)

View File

@@ -1,18 +1,7 @@
# Supporting the patcher
OpenCore Legacy Patcher is a hobby project for us developers, and while we love helping out the community, it's very difficult for us to troubleshoot issues remotely. The best way for us to get to work on the patcher, fix issues and add enhancements is having the hardware in-hand. As a hobby project, neither of the main developers can afford to buy every legacy Mac to test on.
We have opened OpenCollective in order to manage donations as well as be transparent about where the donated money is going. If you want to support the patcher with money donation, you can do so below.
The best way to support us in all honesty is to donate any old hardware you no longer need, as this allows us to have machines to test locally and push fixes much faster. While we appreciate cash donations, this makes it much more difficult for us to handle as an organization.
[OpenCollective](https://opencollective.com/opencore-legacy-patcher)
Main sections of help we'd appreciate:
* Donating any Mac you own
* Does require SSE4,1 CPU to test on Sierra and newer however
Additionally, hardware info dumps are greatly beneficial for us to determine what patches a machine might need:
* [IORegistryExplorer](https://github.com/khronokernel/IORegistryClone/blob/master/ioreg-210.zip?raw=true)
* `File -> SaveAs` and open an issue on Github
* Note: We want IOReg dumps of hardware not running on OpenCore, instead running a clean, officially supported OS by the machine
If you have any legacy hardware you're willing to donate or want to buy us hardware, please reach out on our Discord server.
If you wish, you can also donate legacy hardware you don't need anymore as long as it makes sense logistically. In this case, reach out on the Discord server.

View File

@@ -26,7 +26,7 @@ For this example, we'll assume you'll need an installer. Selecting this option w
| :--- | :--- | :--- |
| ![OCLP GUI Installer Download Catalog](../images/OCLP-GUI-Installer-Download-Catalog.png) | ![OCLP GUI Installer Download Listed Products](../images/OCLP-GUI-Installer-Download-Listed-Products.png) | ![](../images/OCLP-GUI-Installer-Download-Unsupported.png)
Since the patcher officially supports Big Sur and newer for patching, only those entires will be shown. For ourselves, we'll select macOS 12 as that's the latest public release at the time of writing. This will download and install the macOS installer to your applications folder.
Since the patcher officially supports Big Sur and newer for patching, only those entries will be shown. For ourselves, we'll select macOS 12 as that's the latest public release at the time of writing. This will download and install the macOS installer to your applications folder.
* Note that some machines (namely 2012 and older) may not be currently supported on macOS Ventura. If you see this prompt, you'll need to use an older version of macOS.

View File

@@ -169,6 +169,27 @@ class BuildSupport:
logging.info(f"- Found extra driver: {driver_file.name}")
raise Exception(f"Found extra driver: {driver_file.name}")
self._validate_malformed_kexts(self.constants.opencore_release_folder / Path("EFI/OC/Kexts"))
def _validate_malformed_kexts(self, directory: str | Path) -> None:
"""
Validate Info.plist and executable pathing for kexts
"""
for kext_folder in Path(directory).glob("*.kext"):
if not Path(kext_folder / Path("Contents/Info.plist")).exists():
continue
kext_data = plistlib.load(Path(kext_folder / Path("Contents/Info.plist")).open("rb"))
if "CFBundleExecutable" in kext_data:
expected_executable = Path(kext_folder / Path("Contents/MacOS") / Path(kext_data["CFBundleExecutable"]))
if not expected_executable.exists():
logging.info(f"- Missing executable for {kext_folder.name}: Contents/MacOS/{expected_executable.name}")
raise Exception(f" - Missing executable for {kext_folder.name}: Contents/MacOS/{expected_executable.name}")
if Path(kext_folder / Path("Contents/PlugIns")).exists():
self._validate_malformed_kexts(kext_folder / Path("Contents/PlugIns"))
def cleanup(self) -> None:
"""

View File

@@ -13,8 +13,8 @@ from data import os_data
class Constants:
def __init__(self) -> None:
# Patcher Versioning
self.patcher_version: str = "1.2.1" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version: str = "1.4.5" # PatcherSupportPkg
self.patcher_version: str = "1.3.0" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version: str = "1.4.6" # PatcherSupportPkg
self.copyright_date: str = "Copyright © 2020-2023 Dortania"
self.patcher_name: str = "OpenCore Legacy Patcher"
@@ -69,13 +69,13 @@ class Constants:
self.apple_camera_version: str = "1.0.0" # AppleCameraInterface (14.0 Beta 1)
self.t1_sse_version: str = "1.1.0" # AppleSSE (13.6 - T1 support)
self.t1_key_store_version: str = "1.1.0" # AppleKeyStore (13.6 - T1 support)
self.t1_corecrypto_version: str = "1.0.0" # corecrypto (13.6 - T1 support)
self.t1_corecrypto_version: str = "1.0.1" # corecrypto (13.6 - T1 support)
## Apple - Dortania Modified
self.bcm570_version: str = "1.0.2" # CatalinaBCM5701Ethernet
self.i210_version: str = "1.0.0" # CatalinaIntelI210Ethernet
self.corecaptureelcap_version: str = "1.0.1" # corecaptureElCap
self.io80211elcap_version: str = "2.0.0" # IO80211ElCap
self.corecaptureelcap_version: str = "1.0.2" # corecaptureElCap
self.io80211elcap_version: str = "2.0.1" # IO80211ElCap
self.io80211legacy_version: str = "1.0.0" # IO80211FamilyLegacy (Ventura)
self.ioskywalk_version: str = "1.0.0" # IOSkywalkFamily (Ventura)
self.bigsursdxc_version: str = "1.0.0" # BigSurSDXC

View File

@@ -235,23 +235,30 @@ class SysPatchHelpers:
- lib (entire directory)
Note: With macOS Sonoma, 32023 compiler is used instead and so this patch is not needed
until macOS 14.2 Beta 2 with version '32023.26'.
Parameters:
mount_point: The mount point of the target volume
"""
if self.constants.detected_os != os_data.os_data.ventura:
return
if self.constants.detected_os_minor < 4:
if os_data.os_data.sonoma < self.constants.detected_os < os_data.os_data.ventura:
return
LIBRARY_DIR = f"{mount_point}/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/31001/Libraries/lib/clang"
GPU_VERSION = "31001.669"
if self.constants.detected_os == os_data.os_data.ventura:
if self.constants.detected_os_minor < 4: # 13.3
return
BASE_VERSION = "31001"
GPU_VERSION = f"{BASE_VERSION}.669"
elif self.constants.detected_os == os_data.os_data.sonoma:
if self.constants.detected_os_minor < 2: # 14.2 Beta 2
return
BASE_VERSION = "32023"
GPU_VERSION = f"{BASE_VERSION}.26"
LIBRARY_DIR = f"{mount_point}/System/Library/PrivateFrameworks/GPUCompiler.framework/Versions/{BASE_VERSION}/Libraries/lib/clang"
DEST_DIR = f"{LIBRARY_DIR}/{GPU_VERSION}"
if not Path(DEST_DIR).exists():
return
raise Exception(f"Failed to find GPUCompiler libraries at {DEST_DIR}")
for file in Path(LIBRARY_DIR).iterdir():
if file.is_file():
@@ -260,7 +267,7 @@ class SysPatchHelpers:
continue
# Partial match as each OS can increment the version
if not file.name.startswith("31001."):
if not file.name.startswith(f"{BASE_VERSION}."):
continue
logging.info(f"Merging GPUCompiler.framework libraries to match binary")