Add support for macOS 14.4

This commit is contained in:
Mykola Grymalyuk
2024-02-11 14:23:05 -07:00
parent 82084c84e3
commit f8a3d5716c
7 changed files with 92 additions and 39 deletions

View File

@@ -5,6 +5,15 @@
- Resolve RecoveryOS support (Regression resolved in OpenCorePkg)
- Restore SPI Keyboard and Trackpad support for macOS 14.4 and newer
- Applicable for MacBook8,1, MacBookPro13,x and MacBookPro14,x
- Restore support for T1 on macOS 14.4 and newer
- Applicable for MacBookPro13,2, MacBookPro13,3, MacBookPro14,2, MacBookPro14,3
- Restore support for legacy Metal GPUs on macOS 14.4 and newer
- Applicable for:
- Intel Ivy Bridge through Skylake
- Nvidia Kepler
- AMD legacy GCN
- Restore support for USB 1.1 on macOS 14.4 and newer
- Applicable for Penryn Macs, Xserve3,1 and MacPro4,1/5,1
- Increment binaries:
- OpenCorePkg 0.9.7 - release

View File

@@ -72,10 +72,54 @@ class SystemPatchDictionary():
self.macOS_13_3: float = 22.4
self.macOS_14_1: float = 23.1
self.macOS_14_2: float = 23.2
self.macOS_14_4: float = 23.4
self._generate_sys_patch_dict()
def __resolve_ivy_bridge_framebuffers(self) -> str:
"""
Resolve patchset directory for Ivy Bridge framebuffers:
- AppleIntelFramebufferCapri.kext
- AppleIntelHD4000Graphics.kext
"""
if self.os_major < os_data.os_data.sonoma:
return "11.4"
if self.os_float < self.macOS_14_4:
return "11.4-23"
return "11.4-23.4"
def __resolve_kepler_geforce_framebuffers(self) -> str:
"""
Resolve patchset directory for GeForce.kext
"""
if self.os_major < os_data.os_data.sonoma:
return "12.0 Beta 6"
if self.os_float < self.macOS_14_4:
return "12.0 Beta 6-23"
return "12.0 Beta 6-23.4"
def __resolve_monterey_framebuffers(self) -> str:
"""
Resolve patchset directory for framebuffers last supported in Monterey:
- AppleIntelBDWGraphics.kext
- AppleIntelBDWGraphicsFramebuffer.kext
- AppleIntelFramebufferAzul.kext
- AppleIntelHD5000Graphics.kext
- AppleIntelSKLGraphics.kext
- AppleIntelSKLGraphicsFramebuffer.kext
- AMDRadeonX4000.kext
- AMDRadeonX5000.kext
"""
if self.os_major < os_data.os_data.sonoma:
return "12.5"
if self.os_float < self.macOS_14_4:
return "12.5-23"
return "12.5-23.4"
def _generate_sys_patch_dict(self):
"""
Generates the sys_patch_dict dictionary
@@ -584,7 +628,7 @@ class SystemPatchDictionary():
},
"Install": {
"/System/Library/Extensions": {
"GeForce.kext": "12.0 Beta 6" if self.os_major < os_data.os_data.sonoma else "12.0 Beta 6-23",
"GeForce.kext": self.__resolve_kepler_geforce_framebuffers(),
"NVDAGF100Hal.kext": "12.0 Beta 6",
"NVDAGK100Hal.kext": "12.0 Beta 6",
"NVDAResman.kext": "12.0 Beta 6",
@@ -781,7 +825,7 @@ class SystemPatchDictionary():
"AMD9000Controller.kext": "12.5",
"AMD9500Controller.kext": "12.5",
"AMD10000Controller.kext": "12.5",
"AMDRadeonX4000.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AMDRadeonX4000.kext": self.__resolve_monterey_framebuffers(),
"AMDRadeonX4000HWServices.kext": "12.5",
"AMDFramebuffer.kext": "12.5" if self.os_float < self.macOS_13_3 else "12.5-GCN",
"AMDSupport.kext": "12.5",
@@ -844,7 +888,7 @@ class SystemPatchDictionary():
},
"Install": {
"/System/Library/Extensions": {
"AMDRadeonX4000.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AMDRadeonX4000.kext": self.__resolve_monterey_framebuffers(),
"AMDRadeonX4000HWServices.kext": "12.5",
"AMDRadeonVADriver2.bundle": "12.5",
@@ -868,7 +912,7 @@ class SystemPatchDictionary():
},
"Install": {
"/System/Library/Extensions": {
"AMDRadeonX5000.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AMDRadeonX5000.kext": self.__resolve_monterey_framebuffers(),
"AMDRadeonVADriver2.bundle": "12.5",
"AMDRadeonX5000GLDriver.bundle": "12.5",
@@ -962,8 +1006,8 @@ class SystemPatchDictionary():
"AppleIntelHD4000GraphicsGLDriver.bundle": "11.0 Beta 6",
"AppleIntelHD4000GraphicsMTLDriver.bundle": "11.0 Beta 6" if self.os_major < os_data.os_data.ventura else "11.0-beta 6-22",
"AppleIntelHD4000GraphicsVADriver.bundle": "11.3 Beta 1",
"AppleIntelFramebufferCapri.kext": "11.4" if self.os_major < os_data.os_data.sonoma else "11.4-23",
"AppleIntelHD4000Graphics.kext": "11.4" if self.os_major < os_data.os_data.sonoma else "11.4-23",
"AppleIntelFramebufferCapri.kext": self.__resolve_ivy_bridge_framebuffers(),
"AppleIntelHD4000Graphics.kext": self.__resolve_ivy_bridge_framebuffers(),
"AppleIntelIVBVA.bundle": "11.4",
"AppleIntelGraphicsShared.bundle": "11.4", # libIGIL-Metal.dylib pulled from 11.0 Beta 6
},
@@ -983,8 +1027,8 @@ class SystemPatchDictionary():
},
"Install": {
"/System/Library/Extensions": {
"AppleIntelFramebufferAzul.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AppleIntelHD5000Graphics.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AppleIntelFramebufferAzul.kext": self.__resolve_monterey_framebuffers(),
"AppleIntelHD5000Graphics.kext": self.__resolve_monterey_framebuffers(),
"AppleIntelHD5000GraphicsGLDriver.bundle": "12.5",
"AppleIntelHD5000GraphicsMTLDriver.bundle": "12.5",
"AppleIntelHD5000GraphicsVADriver.bundle": "12.5",
@@ -1007,10 +1051,10 @@ class SystemPatchDictionary():
},
"Install": {
"/System/Library/Extensions": {
"AppleIntelBDWGraphics.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AppleIntelBDWGraphicsFramebuffer.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AppleIntelBDWGraphics.kext": self.__resolve_monterey_framebuffers(),
"AppleIntelBDWGraphicsFramebuffer.kext": self.__resolve_monterey_framebuffers(),
"AppleIntelBDWGraphicsGLDriver.bundle": "12.5",
"AppleIntelBDWGraphicsMTLDriver.bundle": "12.5" if self.os_major < os_data.os_data.ventura else "12.5-22",
"AppleIntelBDWGraphicsMTLDriver.bundle": "12.5-22",
"AppleIntelBDWGraphicsVADriver.bundle": "12.5",
"AppleIntelBDWGraphicsVAME.bundle": "12.5",
"AppleIntelGraphicsShared.bundle": "12.5",
@@ -1031,8 +1075,8 @@ class SystemPatchDictionary():
},
"Install": {
"/System/Library/Extensions": {
"AppleIntelSKLGraphics.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AppleIntelSKLGraphicsFramebuffer.kext": "12.5" if self.os_major < os_data.os_data.sonoma else "12.5-23",
"AppleIntelSKLGraphics.kext": self.__resolve_monterey_framebuffers(),
"AppleIntelSKLGraphicsFramebuffer.kext": self.__resolve_monterey_framebuffers(),
"AppleIntelSKLGraphicsGLDriver.bundle": "12.5",
"AppleIntelSKLGraphicsMTLDriver.bundle": "12.5",
"AppleIntelSKLGraphicsVADriver.bundle": "12.5",
@@ -1107,10 +1151,10 @@ class SystemPatchDictionary():
},
"Install": {
"/usr/libexec": {
"airportd": "11.7.1",
"airportd": "11.7.10" if self.os_float < self.macOS_14_4 else "11.7.10-23.4",
},
"/System/Library/CoreServices": {
"WiFiAgent.app": "11.7.1",
"WiFiAgent.app": "11.7.10",
},
},
"Install Non-Root": {
@@ -1134,19 +1178,16 @@ class SystemPatchDictionary():
},
"Install": {
"/usr/libexec": {
"wps": "12.6.2",
"wifip2pd": "12.6.2",
"wifianalyticsd": "13.5",
"wps": "12.7.2",
"wifip2pd": "12.7.2",
},
"/System/Library/Frameworks": {
"CoreWLAN.framework": "12.6.2",
"CoreWLAN.framework": "12.7.2",
},
"/System/Library/PrivateFrameworks": {
"CoreWiFi.framework": "12.6.2",
"IO80211.framework": "12.6.2",
"WiFiPeerToPeer.framework": "12.6.2",
**({ "CoreAnalytics.framework": "13.5"} if self.os_major >= os_data.os_data.sonoma else {}),
**({ "WiFiAnalytics.framework": "13.5"} if self.os_major >= os_data.os_data.sonoma else {}),
"CoreWiFi.framework": "12.7.2",
"IO80211.framework": "12.7.2",
"WiFiPeerToPeer.framework": "12.7.2",
},
},
},
@@ -1166,20 +1207,16 @@ class SystemPatchDictionary():
},
"Install": {
"/usr/libexec": {
"airportd": "13.5",
"wifianalyticsd": "13.5",
"wifip2pd": "13.5",
"airportd": "13.6.2" if self.os_float < self.macOS_14_4 else "13.6.2-23.4",
"wifip2pd": "13.6.2",
},
"/System/Library/Frameworks": {
"CoreWLAN.framework": "13.5",
"CoreWLAN.framework": "13.6.2",
},
"/System/Library/PrivateFrameworks": {
"CoreAnalytics.framework": "13.5",
"CoreWiFi.framework": "13.5",
"IO80211.framework": "13.5",
"WiFiAnalytics.framework": "13.5",
"WiFiPolicy.framework": "13.5",
"WiFiPeerToPeer.framework": "13.5",
"CoreWiFi.framework": "13.6.2",
"IO80211.framework": "13.6.2",
"WiFiPeerToPeer.framework": "13.6.2",
},
},
},

View File

@@ -1773,7 +1773,7 @@
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>23.0.0</string>
<string>23.4.0</string>
<key>BundlePath</key>
<string>AppleCredentialManager.kext</string>
<key>ExecutablePath</key>
@@ -1882,7 +1882,7 @@
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>23.0.0</string>
<string>23.4.0</string>
<key>Strategy</key>
<string>Exclude</string>
</dict>

Binary file not shown.

View File

@@ -365,7 +365,9 @@ class BuildMiscellaneous:
support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Kernel"]["Block"], "Identifier", "com.apple.driver.AppleSSE")["Enabled"] = True
support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Kernel"]["Block"], "Identifier", "com.apple.driver.AppleKeyStore")["Enabled"] = True
support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Kernel"]["Block"], "Identifier", "com.apple.driver.AppleCredentialManager")["Enabled"] = True
support.BuildSupport(self.model, self.constants, self.config).enable_kext("corecrypto_T1.kext", self.constants.t1_corecrypto_version, self.constants.t1_corecrypto_path)
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleSSE.kext", self.constants.t1_sse_version, self.constants.t1_sse_path)
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleKeyStore.kext", self.constants.t1_key_store_version, self.constants.t1_key_store_path)
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleKeyStore.kext", self.constants.t1_key_store_version, self.constants.t1_key_store_path)
support.BuildSupport(self.model, self.constants, self.config).enable_kext("AppleCredentialManager.kext", self.constants.t1_credential_version, self.constants.t1_credential_path)

View File

@@ -14,7 +14,7 @@ class Constants:
def __init__(self) -> None:
# Patcher Versioning
self.patcher_version: str = "1.4.0" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version: str = "1.4.6" # PatcherSupportPkg
self.patcher_support_pkg_version: str = "1.4.7" # PatcherSupportPkg
self.copyright_date: str = "Copyright © 2020-2024 Dortania"
self.patcher_name: str = "OpenCore Legacy Patcher"
@@ -69,6 +69,7 @@ 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_credential_version: str = "1.0.0" # AppleCredentialManager (13.6 - T1 support)
self.t1_corecrypto_version: str = "1.0.1" # corecrypto (13.6 - T1 support)
self.apple_spi_version: str = "1.0.0" # AppleHSSPISupport (14.4 Beta 1)
self.apple_spi_hid_version: str = "1.0.0" # AppleHSSPIHIDDriver (14.4 Beta 1)
@@ -79,7 +80,7 @@ class Constants:
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.ioskywalk_version: str = "1.1.0" # IOSkywalkFamily (Ventura)
self.bigsursdxc_version: str = "1.0.0" # BigSurSDXC
self.monterey_ahci_version: str = "1.0.0" # CatalinaAHCI
@@ -453,6 +454,10 @@ class Constants:
def t1_key_store_path(self):
return self.payload_kexts_path / Path(f"Misc/AppleKeyStore-v{self.t1_key_store_version}.zip")
@property
def t1_credential_path(self):
return self.payload_kexts_path / Path(f"Misc/AppleCredentialManager-v{self.t1_credential_version}.zip")
@property
def t1_sse_path(self):
return self.payload_kexts_path / Path(f"Misc/AppleSSE-v{self.t1_sse_version}.zip")