diff --git a/CHANGELOG.md b/CHANGELOG.md index bfda529ff..6fe296f04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,11 +25,15 @@ - Fix VMM patch set - Allow dyld shared cache swapping on pre-Haswell - Fix MouSSE/SSE4,2 emulation in macOS 13.0 Beta 3 (22A5295h) + - Graphics Acceleration for legacy Metal GPUs + - Intel: Ivy Bridge, Haswell, Broadwell and Skylake + - Nvidia: Kepler + - AMD: GCN 1 through 3 - Increment Binaries: - OpenCorePkg 0.8.3 release - Lilu 1.6.2 - release - FeatureUnlock 1.0.9 release - - PatcherSupportPkg 0.6.0 - release + - PatcherSupportPkg 0.6.1 - release ## 0.4.10 - Resolve Nvidia Kepler support in macOS 12.5 Beta 3 and newer diff --git a/data/sys_patch_dict.py b/data/sys_patch_dict.py index 351aecc20..02669d519 100644 --- a/data/sys_patch_dict.py +++ b/data/sys_patch_dict.py @@ -227,7 +227,7 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support): "OS Minor": 0 }, "Maximum OS Support": { - "OS Major": os_data.os_data.max_os, + "OS Major": os_data.os_data.monterey, "OS Minor": 99 }, }, @@ -241,7 +241,9 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support): }, }, - "Modern GVA": { + # For GPUs last natively supported in Catalina/Big Sur + # Restores DRM support + "Catalina GVA": { "Display Name": "", "OS Support": { "Minimum OS Support": { @@ -261,7 +263,29 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support): }, }, - "Legacy GVA": { + # For GPUs last natively supported in Monterey + # Restores DRM support + "Monterey GVA": { + "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/PrivateFrameworks": { + "AppleGVA.framework": "12.5", + "AppleGVACore.framework": "12.5", + }, + }, + }, + + "High Sierra GVA": { "Display Name": "", "OS Support": { "Minimum OS Support": { diff --git a/resources/constants.py b/resources/constants.py index 4e5e82277..680a92c4d 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.0" # PatcherSupportPkg + self.patcher_support_pkg_version = "0.6.1" # 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 3866e065d..f2ff5d4c0 100644 --- a/resources/sys_patch_detect.py +++ b/resources/sys_patch_detect.py @@ -387,23 +387,26 @@ class detect_root_patch: required_patches.update({"Intel Ironlake": all_hardware_patchset["Graphics"]["Intel Ironlake"]}) if hardware_details["Graphics: Intel Sandy Bridge"] is True: required_patches.update({"Non-Metal Common": all_hardware_patchset["Graphics"]["Non-Metal Common"]}) - required_patches.update({"Legacy GVA": all_hardware_patchset["Graphics"]["Legacy GVA"]}) + 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 1 Common": all_hardware_patchset["Graphics"]["Metal 1 Common"]}) - required_patches.update({"Modern GVA": all_hardware_patchset["Graphics"]["Modern GVA"]}) + 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 1 Common": all_hardware_patchset["Graphics"]["Metal 1 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({"Metal 1 Common": all_hardware_patchset["Graphics"]["Metal 1 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({"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: required_patches.update({"Non-Metal Common": all_hardware_patchset["Graphics"]["Non-Metal Common"]}) @@ -417,13 +420,13 @@ 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({"Metal 1 Common": all_hardware_patchset["Graphics"]["Metal 1 Common"]}) - required_patches.update({"Modern GVA": all_hardware_patchset["Graphics"]["Modern GVA"]}) + 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: # Handle mixed GPU situations (ie. MacBookPro11,3: Haswell iGPU + Kepler dGPU) if gpu.arch == device_probe.Intel.Archs.Haswell: - if "Modern GVA" in required_patches: - del(required_patches["Modern GVA"]) + if "Catalina GVA" in required_patches: + del(required_patches["Catalina GVA"]) required_patches.update({"GVA Work-Around": all_hardware_patchset["Graphics"]["GVA Work-Around"]}) break if hardware_details["Graphics: AMD TeraScale 1"] is True: @@ -441,6 +444,7 @@ class detect_root_patch: 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({"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: required_patches.update({"Legacy Brightness": all_hardware_patchset["Brightness"]["Legacy Brightness"]}) @@ -458,6 +462,11 @@ class detect_root_patch: if required_patches: host_os_float = float(f"{self.constants.detected_os}.{self.constants.detected_os_minor}") + + # Prioritize Monterey GVA patches + if "Catalina GVA" in required_patches and "Monterey GVA" in required_patches: + del(required_patches["Catalina GVA"]) + for patch_name in list(required_patches): patch_os_min_float = float(f'{required_patches[patch_name]["OS Support"]["Minimum OS Support"]["OS Major"]}.{required_patches[patch_name]["OS Support"]["Minimum OS Support"]["OS Minor"]}') patch_os_max_float = float(f'{required_patches[patch_name]["OS Support"]["Maximum OS Support"]["OS Major"]}.{required_patches[patch_name]["OS Support"]["Maximum OS Support"]["OS Minor"]}')