sys_patch_detect.py: Fix crash on MacBookPro11,3 in 12.4+

This commit is contained in:
Mykola Grymalyuk
2022-05-29 10:50:26 -06:00
parent 8254434856
commit 0161d6d624
3 changed files with 47 additions and 0 deletions

View File

@@ -17,6 +17,7 @@
- Resolve failing to find binaries with `--patch_sys_vol` argument
- Downgrade AppleFSCompressionTypeZlib to 12.3.1 on pre-Sandy Bridge Macs
- Resolves ZLib decompression kernel panics on 12.4 and newer
- Resolve AppleGVACore crashing on MacBookPro11,3 in Monterey 12.4+
## 0.4.5
- Fix AutoPatcher.pkg download on releases

View File

@@ -164,6 +164,47 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"OpenCL.framework": "11.6",
"WebKit.framework": "11.6",
},
},
},
# Resolve AppleGVACore crashing on MacBookPro11,3 due to mixed GPU combo
# ie. native Haswell iGPU + non-native Kepler dGPU
# This can be remove after 0.4.6 release, as 0.4.5 downgrades to 10.15.7
"GVA Work-Around": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.monterey,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Remove": {
"/System/Library/PrivateFrameworks/AppleGVA.framework/Versions/A": [
"AppleGVA",
],
"/System/Library/PrivateFrameworks/AppleGVACore.framework/Versions/A": [
"AppleGVACore",
],
},
},
"Modern GVA": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.monterey,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/PrivateFrameworks": {
"AppleGVA.framework": "10.15.7",
"AppleGVACore.framework": "10.15.7",

View File

@@ -249,6 +249,11 @@ class detect_root_patch:
if hardware_details["Graphics: Nvidia Kepler"] is True:
required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]})
required_patches.update({"Nvidia Kepler": all_hardware_patchset["Graphics"]["Nvidia Kepler"]})
for gpu in self.constants.computer.gpus:
if gpu.arch == device_probe.Intel.Archs.Haswell:
required_patches.update({"GVA Work-Around": all_hardware_patchset["Graphics"]["GVA Work-Around"]})
if "GVA Work-Around" not in required_patches:
required_patches.update({"Modern GVA": all_hardware_patchset["Graphics"]["Modern GVA"]})
if hardware_details["Graphics: AMD TeraScale 1"] is True:
required_patches.update({"Non-Metal Common": all_hardware_patchset["Graphics"]["Non-Metal Common"]})
required_patches.update({"AMD TeraScale Common": all_hardware_patchset["Graphics"]["AMD TeraScale Common"]})