From 4faedf0b63a4fd6e01230177616beaf7ad24aec7 Mon Sep 17 00:00:00 2001 From: Hoang Hong Quan Date: Mon, 14 Oct 2024 04:14:50 +0700 Subject: [PATCH] Support AMD GPUs Navi 23 and Navi 21 using WhateverGreen --- Scripts/config_prodigy.py | 16 ++++++++++------ Scripts/datasets/pci_data.py | 4 ++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Scripts/config_prodigy.py b/Scripts/config_prodigy.py index bfadbcd..4c7cf65 100644 --- a/Scripts/config_prodigy.py +++ b/Scripts/config_prodigy.py @@ -231,7 +231,7 @@ class ConfigProdigy: return dict(sorted(igpu_properties.items(), key=lambda item: item[0])) - def deviceproperties(self, hardware_report, macos_version): + def deviceproperties(self, hardware_report, macos_version, kexts): deviceproperties_add = {} discrete_gpu = None @@ -264,10 +264,14 @@ class ConfigProdigy: if not discrete_gpu.get("PCI Path") or not discrete_gpu.get("Device ID") in pci_data.SpoofGPUIDs: continue - deviceproperties_add[discrete_gpu.get("PCI Path")] = { - "device-id": self.utils.to_little_endian_hex(pci_data.SpoofGPUIDs.get(discrete_gpu.get("Device ID")).split("-")[-1]), - "model": gpu_name - } + for kext in kexts: + if kext.checked: + if kext.name == "WhateverGreen": + deviceproperties_add[discrete_gpu.get("PCI Path")] = { + "device-id": self.utils.to_little_endian_hex(pci_data.SpoofGPUIDs.get(discrete_gpu.get("Device ID")).split("-")[-1]), + "model": gpu_name + } + break for key, value in deviceproperties_add.items(): for key_child, value_child in value.items(): @@ -474,7 +478,7 @@ class ConfigProdigy: "ASUS" in hardware_report.get("Motherboard").get("Name") and self.is_intel_hedt_cpu(hardware_report.get("CPU").get("Codename")) and config["Booter"]["Quirks"]["DevirtualiseMmio"]) config["Booter"]["Quirks"]["SyncRuntimePermissions"] = config["Booter"]["Quirks"]["RebuildAppleMemoryMap"] - config["DeviceProperties"]["Add"] = self.deviceproperties(hardware_report, macos_version) + config["DeviceProperties"]["Add"] = self.deviceproperties(hardware_report, macos_version, kexts) config["Kernel"]["Add"] = [] config["Kernel"]["Block"] = self.block_kext_bundle(kexts) diff --git a/Scripts/datasets/pci_data.py b/Scripts/datasets/pci_data.py index ec642d5..6cb13d5 100644 --- a/Scripts/datasets/pci_data.py +++ b/Scripts/datasets/pci_data.py @@ -1060,4 +1060,8 @@ SpoofGPUIDs = { "1002-6930": "1002-6938", # AMD Radeon R9 380 "1002-6939": "1002-6938", # AMD Radeon R9 285/380 "1002-699F": "1002-67FF", # AMD Radeon RX 550 (Lexa core) + "1002-73EF": "1002-73FF", # AMD Radeon RX 6800S / 6650 XT / 6650M / 6650M XT + "1002-73E1": "1002-73E3", # AMD Radeon Pro W6600M + "1002-73AF": "1002-73BF", # AMD Radeon RX 6900 XT (XTX/XTXH variant) + "1002-73A5": "1002-73BF", # AMD Radeon RX 6950 XT } \ No newline at end of file