mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-06-20 14:10:51 +10:00
build.py: Add AVXpel-based NoAVX kext
Resolves Zlib-based instability in Ventura on pre-Sandy Bridge Macs Credit to @educovas for developing
This commit is contained in:
@@ -1269,12 +1269,30 @@
|
|||||||
<key>ExecutablePath</key>
|
<key>ExecutablePath</key>
|
||||||
<string>Contents/MacOS/NoAVXFSCompressionTypeZlib</string>
|
<string>Contents/MacOS/NoAVXFSCompressionTypeZlib</string>
|
||||||
<key>MaxKernel</key>
|
<key>MaxKernel</key>
|
||||||
<string></string>
|
<string>21.99.99</string>
|
||||||
<key>MinKernel</key>
|
<key>MinKernel</key>
|
||||||
<string>21.5.0</string>
|
<string>21.5.0</string>
|
||||||
<key>PlistPath</key>
|
<key>PlistPath</key>
|
||||||
<string>Contents/Info.plist</string>
|
<string>Contents/Info.plist</string>
|
||||||
</dict>
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>Arch</key>
|
||||||
|
<string>x86_64</string>
|
||||||
|
<key>BundlePath</key>
|
||||||
|
<string>NoAVXFSCompressionTypeZlib-AVXpel.kext</string>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Work-around 13.0+ Zlib kernel panic</string>
|
||||||
|
<key>Enabled</key>
|
||||||
|
<false/>
|
||||||
|
<key>ExecutablePath</key>
|
||||||
|
<string>Contents/MacOS/NoAVXFSCompressionTypeZlib</string>
|
||||||
|
<key>MaxKernel</key>
|
||||||
|
<string></string>
|
||||||
|
<key>MinKernel</key>
|
||||||
|
<string>22.0.0</string>
|
||||||
|
<key>PlistPath</key>
|
||||||
|
<string>Contents/Info.plist</string>
|
||||||
|
</dict>
|
||||||
<dict>
|
<dict>
|
||||||
<key>Arch</key>
|
<key>Arch</key>
|
||||||
<string>x86_64</string>
|
<string>x86_64</string>
|
||||||
|
|||||||
Binary file not shown.
@@ -268,6 +268,7 @@ class BuildOpenCore:
|
|||||||
# To verify the non-AVX kext is used, check IOService for 'com_apple_AppleFSCompression_NoAVXCompressionTypeZlib'
|
# To verify the non-AVX kext is used, check IOService for 'com_apple_AppleFSCompression_NoAVXCompressionTypeZlib'
|
||||||
if smbios_data.smbios_dictionary[self.model]["CPU Generation"] < cpu_data.cpu_data.sandy_bridge.value:
|
if smbios_data.smbios_dictionary[self.model]["CPU Generation"] < cpu_data.cpu_data.sandy_bridge.value:
|
||||||
self.enable_kext("NoAVXFSCompressionTypeZlib.kext", self.constants.apfs_zlib_version, self.constants.apfs_zlib_path)
|
self.enable_kext("NoAVXFSCompressionTypeZlib.kext", self.constants.apfs_zlib_version, self.constants.apfs_zlib_path)
|
||||||
|
self.enable_kext("NoAVXFSCompressionTypeZlib-AVXpel.kext", self.constants.apfs_zlib_v2_version, self.constants.apfs_zlib_v2_path)
|
||||||
|
|
||||||
if not self.constants.custom_model and (self.constants.allow_oc_everywhere is True or self.model in model_array.MacPro):
|
if not self.constants.custom_model and (self.constants.allow_oc_everywhere is True or self.model in model_array.MacPro):
|
||||||
# Use Innie's same logic:
|
# Use Innie's same logic:
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ class Constants:
|
|||||||
self.apple_isight_version = "1.0.0" # AppleiSight
|
self.apple_isight_version = "1.0.0" # AppleiSight
|
||||||
self.apple_raid_version = "1.0.0" # AppleRAIDCard
|
self.apple_raid_version = "1.0.0" # AppleRAIDCard
|
||||||
self.apfs_zlib_version = "12.3.1" # NoAVXFSCompressionTypeZlib
|
self.apfs_zlib_version = "12.3.1" # NoAVXFSCompressionTypeZlib
|
||||||
|
self.apfs_zlib_v2_version = "12.6" # NoAVXFSCompressionTypeZlib (patched with AVXpel)
|
||||||
self.multitouch_version = "1.0.0" # AppleUSBMultitouch
|
self.multitouch_version = "1.0.0" # AppleUSBMultitouch
|
||||||
self.topcase_version = "1.0.0" # AppleUSBTopCase
|
self.topcase_version = "1.0.0" # AppleUSBTopCase
|
||||||
self.intel_82574l_version = "1.0.0" # Intel82574L
|
self.intel_82574l_version = "1.0.0" # Intel82574L
|
||||||
@@ -331,6 +332,10 @@ class Constants:
|
|||||||
def apfs_zlib_path(self):
|
def apfs_zlib_path(self):
|
||||||
return self.payload_kexts_path / Path(f"Misc/NoAVXFSCompressionTypeZlib-v{self.apfs_zlib_version}.zip")
|
return self.payload_kexts_path / Path(f"Misc/NoAVXFSCompressionTypeZlib-v{self.apfs_zlib_version}.zip")
|
||||||
|
|
||||||
|
@property
|
||||||
|
def apfs_zlib_v2_path(self):
|
||||||
|
return self.payload_kexts_path / Path(f"Misc/NoAVXFSCompressionTypeZlib-AVXpel-v{self.apfs_zlib_v2_version}.zip")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def multitouch_path(self):
|
def multitouch_path(self):
|
||||||
return self.payload_kexts_path / Path(f"Misc/AppleUSBMultitouch-v{self.multitouch_version}.zip")
|
return self.payload_kexts_path / Path(f"Misc/AppleUSBMultitouch-v{self.multitouch_version}.zip")
|
||||||
|
|||||||
Reference in New Issue
Block a user