From 6a357d8cdfc958d3b32f591bb8214c9f6030796d Mon Sep 17 00:00:00 2001
From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com>
Date: Sat, 24 Apr 2021 08:33:55 -0600
Subject: [PATCH] Disable AMD TeraScale 2 GPUs in MacBook Pros
---
CHANGELOG.md | 1 +
Resources/Build.py | 24 +++++-------------------
payloads/Config/config.plist | 4 ++++
3 files changed, 10 insertions(+), 19 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 185d109f0..16da131f4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@
- Fix AppleALC support in Mojave
- Fix TeraScale 1 GPU detection
- Enable Graphics Acceleration on legacy GPUs by default
+- Automatically disable AMD TeraScale 2 GPUs in MacBook Pros
## 0.1.0
- Fix crash on iMacs with Metal GPUs
diff --git a/Resources/Build.py b/Resources/Build.py
index d54bac2ad..e672b3a1c 100644
--- a/Resources/Build.py
+++ b/Resources/Build.py
@@ -512,25 +512,11 @@ class BuildOpenCore:
plistlib.dump(agpm_config, Path(new_agpm_ls).open("wb"), sort_keys=True)
plistlib.dump(amc_config, Path(new_amc_ls).open("wb"), sort_keys=True)
- #if self.model in ModelArray.SandyIGPU:
- # print("- Adding AppleIntelSNBGraphicsFB patch")
- # if self.model == "MacBookPro8,1":
- # x = b'Mac-94245B3640C91C81'
- # elif self.model == "MacBookPro8,2":
- # x = b'Mac-94245A3940C91C80'
- # elif self.model == "MacBookPro8,3":
- # x = b'Mac-942459F5819B171B'
- # elif self.model == "MacBookAir4,1":
- # x = b'Mac-C08A6BB70A942AC2'
- # elif self.model == "MacBookAir4,2":
- # x = b'Mac-742912EFDBEE19B3'
- # elif self.model == "Macmini5,1":
- # x = b'Mac-8ED6AF5B48C039E1'
- # elif self.model == "Macmini5,3":
- # x = b'Mac-7BA5B2794B2CDB12'
- # self.get_item_by_kv(self.config["Kernel"]["Patch"], "Identifier", "com.apple.driver.AppleIntelSNBGraphicsFB")["Enabled"] = True
- # self.get_item_by_kv(self.config["Kernel"]["Patch"], "Identifier", "com.apple.driver.AppleIntelSNBGraphicsFB")["Find"] = binascii.unhexlify(str(binascii.hexlify(x),'ascii'))
- # self.get_item_by_kv(self.config["Kernel"]["Patch"], "Identifier", "com.apple.driver.AppleIntelSNBGraphicsFB")["Replace"] = binascii.unhexlify(str(binascii.hexlify(self.spoofed_board.encode()),'ascii'))
+ if self.model in ["MacBookPro8,2", "MacBookPro8,3"]:
+ print("- Disabling unsupported TeraScale 2 dGPU")
+ self.config["NVRAM"]["Add"]["FA4CE28D-B62F-4C99-9CC3-6815686E30F9"]["gpu-power-prefs"] = binascii.unhexlify("01000000")
+ self.config["NVRAM"]["Delete"]["FA4CE28D-B62F-4C99-9CC3-6815686E30F9"] += ["gpu-power-prefs"]
+ self.config["DeviceProperties"]["Add"]["PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"] = {"name": binascii.unhexlify("23646973706C6179"), "IOName": "#display", "class-code": binascii.unhexlify("FFFFFFFF")}
@staticmethod
def get_item_by_kv(iterable, key, value):
diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist
index 85c41e59a..98865152e 100644
--- a/payloads/Config/config.plist
+++ b/payloads/Config/config.plist
@@ -1084,6 +1084,8 @@
csr-active-config
AAAAAA==
+ FA4CE28D-B62F-4C99-9CC3-6815686E30F9
+
Delete
@@ -1101,6 +1103,8 @@
boot-args
+ FA4CE28D-B62F-4C99-9CC3-6815686E30F9
+
LegacyEnable