diff --git a/CHANGELOG.md b/CHANGELOG.md index 2faca0632..2fc1a3a4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ - Apple bug, resolved by using CoW into a different directory than `/Applications` - Avoid listing beta installers in downloader - Warn about downloading macOS Ventura installers, unsupported by current patcher +- Fix AppleGVA regression introduced in 0.4.6 + - Applicable for Ivy Bridge-only systems ## 0.4.7 - Fix crashing on defaults parsing diff --git a/resources/sys_patch_detect.py b/resources/sys_patch_detect.py index 992c147a4..1220019ca 100644 --- a/resources/sys_patch_detect.py +++ b/resources/sys_patch_detect.py @@ -348,6 +348,7 @@ def generate_patchset(self, hardware_details): 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({"Modern GVA": all_hardware_patchset["Graphics"]["Modern GVA"]}) required_patches.update({"Intel Ivy Bridge": all_hardware_patchset["Graphics"]["Intel Ivy Bridge"]}) if hardware_details["Graphics: Nvidia Tesla"] is True: required_patches.update({"Non-Metal Common": all_hardware_patchset["Graphics"]["Non-Metal Common"]}) @@ -360,12 +361,15 @@ def generate_patchset(self, hardware_details): required_patches.update({"Non-Metal Enforcement": all_hardware_patchset["Graphics"]["Non-Metal Enforcement"]}) if hardware_details["Graphics: Nvidia Kepler"] is True: required_patches.update({"Metal Common": all_hardware_patchset["Graphics"]["Metal Common"]}) + required_patches.update({"Modern GVA": all_hardware_patchset["Graphics"]["Modern 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"]) 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"]}) + break 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"]})