sys_patch_detect: Add Polaris support for pre-AVX2.0

This commit is contained in:
Mykola Grymalyuk
2022-09-27 08:45:37 -06:00
parent 8cc87980d1
commit 3d63cb1654
4 changed files with 15 additions and 5 deletions

View File

@@ -22,6 +22,8 @@
- Intel: Ivy Bridge, Haswell, Broadwell and Skylake
- Nvidia: Kepler
- AMD: GCN 1 through 3
- AMD: Polaris (on pre-AVX2.0 systems)
- Boot in safe mode to avoid stock driver loading
- Raise SIP requirement to 0x803 for root patching
- Add Ventura Boot Picker icons
- Implement KDK-less root patching for Metal Intel and Nvidia GPUs
@@ -33,7 +35,7 @@
- OpenCorePkg 0.8.3 release
- Lilu 1.6.2 - release
- FeatureUnlock 1.0.9 release
- PatcherSupportPkg 0.6.5 - release
- PatcherSupportPkg 0.6.6 - release
- BrcmPatchRAM 2.6.3 - release
- AutoPkgInstaller 1.0.1 - release
- CryptexFixup 1.0.0 - rolling (1e41456)

View File

@@ -601,6 +601,7 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"AMD7000Controller.kext": "12.5",
"AMD8000Controller.kext": "12.5",
"AMD9000Controller.kext": "12.5",
"AMD9500Controller.kext": "12.5",
"AMDRadeonX4000.kext": "12.5",
"AMDRadeonX4000HWServices.kext": "12.5",
"AMDFramebuffer.kext": "12.5",
@@ -615,8 +616,7 @@ def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
"/System/Library/Extensions": [
# Due to downgraded AMDSupport.kext
# In the future, we will have to downgrade the entire AMD stack
# to support non-AVX2.0 machines with Polaris or newer
"AMD9500Controller.kext",
# to support non-AVX2.0 machines with Vega or newer
"AMD10000Controller.kext",
],
},

View File

@@ -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.5" # PatcherSupportPkg
self.patcher_support_pkg_version = "0.6.6" # 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"

View File

@@ -114,11 +114,19 @@ class detect_root_patch:
device_probe.AMD.Archs.Legacy_GCN_7000,
device_probe.AMD.Archs.Legacy_GCN_8000,
device_probe.AMD.Archs.Legacy_GCN_9000,
device_probe.AMD.Archs.Polaris,
]:
if self.constants.detected_os > os_data.os_data.monterey:
translated = subprocess.run("sysctl -in sysctl.proc_translated".split(), stdout=subprocess.PIPE).stdout.decode()
if translated:
continue
if gpu.arch == device_probe.AMD.Archs.Polaris:
# Check if host supports AVX2.0
# If not, enable legacy GCN patch
if "AVX2" in self.constants.computer.cpu.leafs:
continue
self.legacy_gcn = True
self.supports_metal = True
self.requires_root_kc = True
@@ -173,7 +181,7 @@ class detect_root_patch:
self.iron_gpu = False
self.sandy_gpu = False
self.legacy_keyboard_backlight = False
if self.constants.detected_os <= os_data.os_data.monterey:
# Always assume Root KC requirement on Monterey and older
self.requires_root_kc = True