diff --git a/data/sys_patch_dict.py b/data/sys_patch_dict.py index 267712b757..3366d9d0d7 100644 --- a/data/sys_patch_dict.py +++ b/data/sys_patch_dict.py @@ -169,7 +169,31 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support): }, }, + # AMD GCN and Nvidia Kepler require Metal Downgrade in Ventura + # The patches are required due to struct issues in the Metal stack + # - AMD GCN will break on BronzeMtlDevice + # - See Nvidia Kepler patchset for more info "Metal Common": { + "Display Name": "", + "OS Support": { + "Minimum OS Support": { + "OS Major": os_data.os_data.ventura, + "OS Minor": 0 + }, + "Maximum OS Support": { + "OS Major": os_data.os_data.max_os, + "OS Minor": 99 + }, + }, + "Install": { + "/System/Library/Frameworks": { + "Metal.framework": "12.5", + "MetalPerformanceShaders.framework": "12.5", + }, + }, + }, + + "Miscellaneous Metal Common": { "Display Name": "", "OS Support": { "Minimum OS Support": { @@ -186,10 +210,6 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support): "OpenCL.framework": "11.6", # Ventura breaks with this patch **({ "WebKit.framework": "11.6" } if os_major == os_data.os_data.monterey else {}), - - # Ventura Metal patches - **({ "Metal.framework": "12.5" } if os_major >= os_data.os_data.ventura else {}), - **({ "MetalPerformanceShaders.framework": "12.5" } if os_major >= os_data.os_data.ventura else {}), }, }, }, diff --git a/resources/sys_patch_detect.py b/resources/sys_patch_detect.py index 5a0b3f4dfe..e03aeb74d6 100644 --- a/resources/sys_patch_detect.py +++ b/resources/sys_patch_detect.py @@ -407,21 +407,21 @@ def generate_patchset(self, hardware_details): required_patches.update({"High Sierra GVA": all_hardware_patchset["Graphics"]["High Sierra GVA"]}) required_patches.update({"Intel Sandy Bridge": all_hardware_patchset["Graphics"]["Intel Sandy Bridge"]}) if hardware_details["Graphics: Intel Ivy Bridge"] is True: - required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]}) required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]}) + required_patches.update({"Miscellaneous Metal Common": all_hardware_patchset["Graphics"]["Miscellaneous Metal Common"]}) required_patches.update({"Catalina GVA": all_hardware_patchset["Graphics"]["Catalina GVA"]}) required_patches.update({"Intel Ivy Bridge": all_hardware_patchset["Graphics"]["Intel Ivy Bridge"]}) if hardware_details["Graphics: Intel Haswell"] is True: - required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]}) required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]}) + required_patches.update({"Miscellaneous Metal Common": all_hardware_patchset["Graphics"]["Miscellaneous Metal Common"]}) required_patches.update({"Monterey GVA": all_hardware_patchset["Graphics"]["Monterey GVA"]}) required_patches.update({"Intel Haswell": all_hardware_patchset["Graphics"]["Intel Haswell"]}) if hardware_details["Graphics: Intel Broadwell"] is True: - required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]}) + required_patches.update({"Miscellaneous Metal Common": all_hardware_patchset["Graphics"]["Miscellaneous Metal Common"]}) required_patches.update({"Monterey GVA": all_hardware_patchset["Graphics"]["Monterey GVA"]}) required_patches.update({"Intel Broadwell": all_hardware_patchset["Graphics"]["Intel Broadwell"]}) if hardware_details["Graphics: Intel Skylake"] is True: - required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]}) + required_patches.update({"Miscellaneous Metal Common": all_hardware_patchset["Graphics"]["Miscellaneous Metal Common"]}) required_patches.update({"Monterey GVA": all_hardware_patchset["Graphics"]["Monterey GVA"]}) required_patches.update({"Intel Skylake": all_hardware_patchset["Graphics"]["Intel Skylake"]}) if hardware_details["Graphics: Nvidia Tesla"] is True: @@ -436,6 +436,7 @@ def generate_patchset(self, hardware_details): if hardware_details["Graphics: Nvidia Kepler"] is True: required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]}) required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]}) + required_patches.update({"Miscellaneous Metal Common": all_hardware_patchset["Graphics"]["Miscellaneous Metal Common"]}) required_patches.update({"Catalina GVA": all_hardware_patchset["Graphics"]["Catalina GVA"]}) required_patches.update({"Nvidia Kepler": all_hardware_patchset["Graphics"]["Nvidia Kepler"]}) for gpu in self.constants.computer.gpus: @@ -460,6 +461,7 @@ def generate_patchset(self, hardware_details): del(required_patches["AMD TeraScale 2"]["Install"]["/System/Library/Extensions"]["AMDRadeonX3000.kext"]) if hardware_details["Graphics: AMD Legacy GCN"] is True: required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]}) + required_patches.update({"Miscellaneous Metal Common": all_hardware_patchset["Graphics"]["Miscellaneous Metal Common"]}) required_patches.update({"Monterey GVA": all_hardware_patchset["Graphics"]["Monterey GVA"]}) required_patches.update({"AMD Legacy GCN": all_hardware_patchset["Graphics"]["AMD Legacy GCN"]}) if hardware_details["Brightness: Legacy Backlight Control"] is True: