Fix Power Management Support in macOS 12.3 Beta 1

Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/930
This commit is contained in:
Mykola Grymalyuk
2022-01-31 10:24:09 -07:00
parent 1027e37a03
commit f7f890d37e
5 changed files with 35 additions and 0 deletions
+9
View File
@@ -177,6 +177,15 @@ class BuildOpenCore:
print(f"- Adding additional FeatureUnlock args: {self.constants.fu_arguments}")
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += self.constants.fu_arguments
if smbios_data.smbios_dictionary[self.model]["CPU Generation"] <= cpu_data.cpu_data.sandy_bridge.value:
# With macOS 12.3 Beta 1, Apple dropped the 'plugin-type' check within X86PlatformPlugin
# Because of this, X86PP will match onto the CPU instead of ACPI_SMC_PlatformPlugin
# This causes power management to break on pre-Ivy Bridge CPUs as they don't have correct
# power management tables provided.
# This patch will simply increase ASPP's 'IOProbeScore' to outmatch X86PP
print("- Fixing ACPI SMC Power Management support")
self.enable_kext("ASPP-Override.kext", self.constants.aspp_override_version, self.constants.aspp_override_path)
if self.model in ["MacBookPro6,1", "MacBookPro6,2", "MacBookPro9,1", "MacBookPro10,1"]:
# Modded RestrictEvents with displaypolicyd blocked to fix dGPU switching
self.enable_kext("RestrictEvents.kext", self.constants.restrictevents_mbp_version, self.constants.restrictevents_mbp_path)
+5
View File
@@ -68,6 +68,7 @@ class Constants:
self.smcspoof_version = "1.0.0" # SMC-Spoof
self.mce_version = "1.0.0" # AppleMCEReporterDisabler
self.btspoof_version = "1.0.0" # Bluetooth-Spoof
self.aspp_override_version = "1.0.0" # ACPI_SMC_PlatformPlugin Override
## Syncretic
## https://forums.macrumors.com/members/syncretic.1173816/
@@ -340,6 +341,10 @@ class Constants:
@property
def btspoof_path(self):
return self.payload_kexts_path / Path(f"Misc/Bluetooth-Spoof-v{self.btspoof_version}.zip")
@property
def aspp_override_path(self):
return self.payload_kexts_path / Path(f"Misc/ASPP-Override-v{self.aspp_override_version}.zip")
@property
def nvmefix_path(self):