From 5a2afa4fa7ff36b9519e1d3c3d8ccb5ea05561ad Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Thu, 6 Oct 2022 19:44:11 -0600 Subject: [PATCH] sys_patch_dict: Fix OpenCL on non-AVX2 legacy GCN --- CHANGELOG.md | 4 ++-- data/sys_patch_dict.py | 21 +++++++++++++++++++++ resources/constants.py | 2 +- resources/sys_patch_detect.py | 2 ++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a3ca2650a..1e9b6e71e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,7 @@ - Add Ventura Boot Picker icons - Implement KDK-less root patching for Metal Intel and Nvidia GPUs - AMD GCN will still require a KDK installed for patching - - Resolve OpenCL support for legacy Metal Intel iGPUs + - Resolve OpenCL support for legacy Metal GPUs - Implement Automatic Rosetta Cryptex installation on OS installs and updates - Drops need for manual OS.dmg swapping on pre-Haswell - Implement automatic Kernel Debug Kit downloader for systems requiring Boot/SysKC rebuilding @@ -39,7 +39,7 @@ - OpenCorePkg 0.8.5 release - Lilu 1.6.2 - release - FeatureUnlock 1.0.9 release - - PatcherSupportPkg 0.6.6 - release + - PatcherSupportPkg 0.6.7 - release - BrcmPatchRAM 2.6.4 - release - AutoPkgInstaller 1.0.1 - release - CryptexFixup 1.0.0 - release diff --git a/data/sys_patch_dict.py b/data/sys_patch_dict.py index 78ead1af9..7c16c89e9 100644 --- a/data/sys_patch_dict.py +++ b/data/sys_patch_dict.py @@ -373,6 +373,27 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support): }, }, + # In Ventura, Apple added AVX2.0 code to the OpenCL/GL compilers + "AMD OpenCL": { + "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": { + "OpenCL.framework": "12.5 non-AVX2.0", + "OpenGL.framework": "12.5 non-AVX2.0", + }, + }, + }, + "Nvidia Tesla": { "Display Name": "Graphics: Nvidia Tesla", "OS Support": { diff --git a/resources/constants.py b/resources/constants.py index 4174e7b05..e95652efa 100644 --- a/resources/constants.py +++ b/resources/constants.py @@ -13,7 +13,7 @@ class Constants: def __init__(self): # Patcher Versioning self.patcher_version = "0.5.0" # OpenCore-Legacy-Patcher - self.patcher_support_pkg_version = "0.6.6" # PatcherSupportPkg + self.patcher_support_pkg_version = "0.6.7" # PatcherSupportPkg self.url_patcher_support_pkg = "https://github.com/dortania/PatcherSupportPkg/releases/download/" self.nightly_url_patcher_support_pkg = "https://nightly.link/dortania/PatcherSupportPkg/workflows/build/master/" self.discord_link = "https://discord.gg/rqdPgH8xSN" diff --git a/resources/sys_patch_detect.py b/resources/sys_patch_detect.py index 8ff3619c5..b3cb3027c 100644 --- a/resources/sys_patch_detect.py +++ b/resources/sys_patch_detect.py @@ -516,6 +516,8 @@ class detect_root_patch: required_patches.update({"Monterey GVA": all_hardware_patchset["Graphics"]["Monterey GVA"]}) required_patches.update({"Monterey OpenCL": all_hardware_patchset["Graphics"]["Monterey OpenCL"]}) required_patches.update({"AMD Legacy GCN": all_hardware_patchset["Graphics"]["AMD Legacy GCN"]}) + if "AVX2" not in self.constants.computer.cpu.leafs: + required_patches.update({"AMD OpenCL": all_hardware_patchset["Graphics"]["AMD OpenCL"]}) if hardware_details["Brightness: Legacy Backlight Control"] is True: required_patches.update({"Legacy Backlight Control": all_hardware_patchset["Brightness"]["Legacy Backlight Control"]}) if hardware_details["Audio: Legacy Realtek"] is True: