mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-13 20:28:21 +10:00
sys_patch: Resolve dGPU support for MacBookPro14,3
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
- Add support for Universal 2 distribution (x86_64 and ARM64)
|
||||
- Drops Rosetta requirement on Apple Silicon Macs
|
||||
- Note building from source will require Python 3.11 or newer and up-to-date Python modules
|
||||
- Resolve dGPU support for MacBookPro14,3 in macOS Sonoma
|
||||
- Increment Binaries:
|
||||
- OpenCorePkg 0.9.3 - release
|
||||
- Lilu 1.6.6 - release
|
||||
@@ -17,7 +18,7 @@
|
||||
- CPUFriend 1.2.7 - release
|
||||
- BlueToolFixup 2.6.8 - rolling (2305aaa)
|
||||
- CryptexFixup 1.0.2 - release
|
||||
- PatcherSupportPkg 1.2.6 - release
|
||||
- PatcherSupportPkg 1.3.0 - release
|
||||
- Build Server Changes:
|
||||
- Upgrade Python backend to 3.11.5
|
||||
- Upgrade Python modules:
|
||||
|
||||
@@ -782,6 +782,40 @@ class SystemPatchDictionary():
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
# For MacBookPro14,3 (and other AMD dGPUs that no longer function in Sonoma)
|
||||
# iMac18,2/3 still function with the generic framebuffer, however if issues arise
|
||||
# we'll downgrade them as well.
|
||||
"AMD Legacy GCN v2": {
|
||||
"Display Name": "Graphics: AMD Legacy GCN (2017)",
|
||||
"OS Support": {
|
||||
"Minimum OS Support": {
|
||||
"OS Major": os_data.os_data.sonoma,
|
||||
"OS Minor": 0
|
||||
},
|
||||
"Maximum OS Support": {
|
||||
"OS Major": os_data.os_data.max_os,
|
||||
"OS Minor": 99
|
||||
},
|
||||
},
|
||||
"Install": {
|
||||
"/System/Library/Extensions": {
|
||||
"AMD9500Controller.kext": "13.5.2",
|
||||
"AMD10000Controller.kext": "13.5.2",
|
||||
"AMDRadeonX4000.kext": "13.5.2",
|
||||
"AMDRadeonX4000HWServices.kext": "13.5.2",
|
||||
"AMDFramebuffer.kext": "13.5.2",
|
||||
"AMDSupport.kext": "13.5.2",
|
||||
|
||||
"AMDRadeonVADriver.bundle": "13.5.2",
|
||||
"AMDRadeonVADriver2.bundle": "13.5.2",
|
||||
"AMDRadeonX4000GLDriver.bundle": "13.5.2",
|
||||
"AMDMTLBronzeDriver.bundle": "13.5.2",
|
||||
"AMDShared.bundle": "13.5.2",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
# Used only for AMD Polaris with host lacking AVX2.0
|
||||
# Note missing framebuffers are not restored (ex. 'ATY,Berbice')
|
||||
"AMD Legacy Polaris": {
|
||||
|
||||
@@ -14,7 +14,7 @@ class Constants:
|
||||
def __init__(self) -> None:
|
||||
# Patcher Versioning
|
||||
self.patcher_version: str = "0.6.9" # OpenCore-Legacy-Patcher
|
||||
self.patcher_support_pkg_version: str = "1.2.9" # PatcherSupportPkg
|
||||
self.patcher_support_pkg_version: str = "1.3.0" # PatcherSupportPkg
|
||||
self.copyright_date: str = "Copyright © 2020-2023 Dortania"
|
||||
self.patcher_name: str = "OpenCore Legacy Patcher"
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ class DetectRootPatch:
|
||||
self.broadwell_gpu = False
|
||||
self.skylake_gpu = False
|
||||
self.legacy_gcn = False
|
||||
self.legacy_gcn_v2 = False
|
||||
self.legacy_polaris = False
|
||||
self.legacy_vega = False
|
||||
|
||||
@@ -158,12 +159,20 @@ class DetectRootPatch:
|
||||
# full compatibility (namely power states, etc)
|
||||
# Reference: https://github.com/dortania/bugtracker/issues/292
|
||||
# TODO: Probe framebuffer families further
|
||||
if self.model != "MacBookPro13,3":
|
||||
# Sonoma note: MacBookPro14,3 has the same issue...
|
||||
# iMac18,2/3 is partially affected, however currently it seems the generic framebuffer
|
||||
# is sufficient. Only MacBookPro14,3 needs this for dGPU handling
|
||||
if self.model not in ["MacBookPro13,3", "MacBookPro14,3"]:
|
||||
if "AVX2" in self.constants.computer.cpu.leafs:
|
||||
continue
|
||||
self.legacy_polaris = True
|
||||
else:
|
||||
self.legacy_gcn = True
|
||||
if self.model == "MacBookPro13,3":
|
||||
self.legacy_gcn = True
|
||||
elif self.model == "MacBookPro14,3":
|
||||
if self.constants.detected_os < os_data.os_data.sonoma:
|
||||
continue
|
||||
self.legacy_gcn_v2 = True
|
||||
else:
|
||||
self.legacy_gcn = True
|
||||
self.supports_metal = True
|
||||
@@ -233,7 +242,7 @@ class DetectRootPatch:
|
||||
self.sandy_gpu = False
|
||||
self.legacy_keyboard_backlight = False
|
||||
|
||||
if self.legacy_gcn is True:
|
||||
if self.legacy_gcn is True or self.legacy_gcn_v2 is True:
|
||||
# We can only support one or the other due to the nature of relying
|
||||
# on portions of the native AMD stack for Polaris and Vega
|
||||
# Thus we'll prioritize legacy GCN due to being the internal card
|
||||
@@ -294,6 +303,7 @@ class DetectRootPatch:
|
||||
self.iron_gpu = False
|
||||
self.sandy_gpu = False
|
||||
self.legacy_gcn = False
|
||||
self.legacy_gcn_v2 = False
|
||||
self.legacy_polaris = False
|
||||
self.legacy_vega = False
|
||||
self.brightness_legacy = False
|
||||
@@ -589,6 +599,7 @@ class DetectRootPatch:
|
||||
"Graphics: AMD TeraScale 1": self.amd_ts1,
|
||||
"Graphics: AMD TeraScale 2": self.amd_ts2,
|
||||
"Graphics: AMD Legacy GCN": self.legacy_gcn,
|
||||
"Graphics: AMD Legacy GCN (2017)": self.legacy_gcn_v2,
|
||||
"Graphics: AMD Legacy Polaris": self.legacy_polaris,
|
||||
"Graphics: AMD Legacy Vega": self.legacy_vega,
|
||||
"Graphics: Intel Ironlake": self.iron_gpu,
|
||||
|
||||
@@ -139,6 +139,8 @@ class GenerateRootPatchSets:
|
||||
required_patches.update({"Revert GVA Downgrade": all_hardware_patchset["Graphics"]["Revert GVA Downgrade"]})
|
||||
if "AVX2" not in self.constants.computer.cpu.leafs:
|
||||
required_patches.update({"AMD OpenCL": all_hardware_patchset["Graphics"]["AMD OpenCL"]})
|
||||
if self.hardware_details["Graphics: AMD Legacy GCN (2017)"] is True:
|
||||
required_patches.update({"AMD Legacy GCN v2": all_hardware_patchset["Graphics"]["AMD Legacy GCN v2"]})
|
||||
|
||||
if self.hardware_details["Graphics: AMD Legacy Vega"] is True:
|
||||
required_patches.update({"Monterey GVA": all_hardware_patchset["Graphics"]["Monterey GVA"]})
|
||||
|
||||
Reference in New Issue
Block a user