From 5a4ee57034c104ba0b8bf9a5d74c412c5b465d88 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Tue, 5 Oct 2021 16:30:02 -0600 Subject: [PATCH] Allow stock Board ID for spoofs --- data/sys_patch_data.py | 10 +++++++++- resources/build.py | 1 - resources/constants.py | 12 ++++++++++++ resources/sys_patch.py | 20 +++++++++++++++++++- 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/data/sys_patch_data.py b/data/sys_patch_data.py index 509cd3080..eb234852a 100644 --- a/data/sys_patch_data.py +++ b/data/sys_patch_data.py @@ -159,10 +159,18 @@ AddIntelGen2Accel = [ "AppleIntelHD3000GraphicsGA.plugin", "AppleIntelHD3000GraphicsGLDriver.bundle", "AppleIntelHD3000GraphicsVADriver.bundle", - "AppleIntelSNBGraphicsFB.kext", + # "AppleIntelSNBGraphicsFB.kext", "AppleIntelSNBVA.bundle", ] +AddIntelGen2AccelStock = [ + "AppleIntelSNBGraphicsFB-Clean.kext", +] + +AddIntelGen2AccelPatched = [ + "AppleIntelSNBGraphicsFB.kext", +] + AddIntelGen3Accel = [ "AppleIntelFramebufferCapri.kext", "AppleIntelHD4000Graphics.kext", diff --git a/resources/build.py b/resources/build.py index 630c540e4..4eac41780 100644 --- a/resources/build.py +++ b/resources/build.py @@ -335,7 +335,6 @@ class BuildOpenCore: # USB Map usb_map_path = Path(self.constants.plist_folder_path) / Path("AppleUSBMaps/Info.plist") - # iMac7,1 kernel panics with USB map installed, remove for time being until properly debugged if ( usb_map_path.exists() and self.constants.allow_oc_everywhere is False diff --git a/resources/constants.py b/resources/constants.py index dd052769b..b73982c05 100644 --- a/resources/constants.py +++ b/resources/constants.py @@ -659,4 +659,16 @@ class Constants: "Mac-937CB26E2E02BB01", # MacBookAir7,2 "Mac-35C5E08120C7EEAF", # Macmini7,1 "Mac-7BA5B2D9E42DDD94", # iMacPro1,1 + ] + + sandy_board_id_stock = [ + "Mac-94245B3640C91C81", # MacBookPro8,1 + "Mac-94245A3940C91C80", # MacBookPro8,2 + "Mac-942459F5819B171B", # MacBookPro8,3 + "Mac-C08A6BB70A942AC2", # MacBookAir4,1 + "Mac-742912EFDBEE19B3", # MacBookAir4,2 + "Mac-8ED6AF5B48C039E1", # Macmini5,1 + "Mac-7BA5B2794B2CDB12", # Macmini5,3 + "Mac-942B5BF58194151B", # iMac12,1 + "Mac-942B59F58194171B", # iMac12,2 ] \ No newline at end of file diff --git a/resources/sys_patch.py b/resources/sys_patch.py index f4c002be7..6326c086a 100644 --- a/resources/sys_patch.py +++ b/resources/sys_patch.py @@ -390,14 +390,28 @@ set million colour before rebooting""" print("- Installing Sandy Bridge Acceleration Kext patches for Mojave/Catalina") self.gpu_accel_legacy() self.add_new_binaries(sys_patch_data.AddIntelGen2Accel, self.constants.legacy_intel_gen2_path) + self.gpu_accel_legacy_sandybridge_board_id() elif self.constants.detected_os in [self.constants.big_sur, self.constants.monterey]: print("- Installing Sandy Bridge Acceleration Kext patches for Big Sur/Monterey") self.delete_old_binaries(sys_patch_data.DeleteNvidiaAccel11) self.gpu_accel_legacy() self.add_new_binaries(sys_patch_data.AddIntelGen2Accel, self.constants.legacy_intel_gen2_path) + self.gpu_accel_legacy_sandybridge_board_id() else: print("- Installing basic Sandy Bridge Framebuffer Kext patches for generic OS") self.add_new_binaries(sys_patch_data.AddIntelGen2Accel, self.constants.legacy_intel_gen2_path) + self.gpu_accel_legacy_sandybridge_board_id() + + def gpu_accel_legacy_sandybridge_board_id(self): + if self.computer.reported_board_id in self.constants.sandy_board_id_stock: + print("- Using stock AppleIntelSNBGraphicsFB") + self.add_new_binaries(sys_patch_data.AddIntelGen2AccelStock, self.constants.legacy_intel_gen2_path) + # Rename kext + utilities.process_status(utilities.elevated(["mv", f"{self.mount_extensions}/AppleIntelSNBGraphicsFB-Clean.kext", f"{self.mount_extensions}/AppleIntelSNBGraphicsFB.kext"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)) + else: + # Adjust board ID for spoofs + print("- Installing modified AppleIntelSNBGraphicsFB") + self.add_new_binaries(sys_patch_data.AddIntelGen2AccelPatched, self.constants.legacy_intel_gen2_path) def gpu_framebuffer_ivybridge_master(self): if self.constants.detected_os == self.constants.monterey: @@ -780,11 +794,15 @@ set million colour before rebooting""" print("\nCannot patch! Please disable AMFI.") print("For Hackintoshes, please add amfi_get_out_of_my_way=1 to boot-args") - if self.check_board_id is True and self.computer.reported_board_id not in self.constants.sandy_board_id: + if self.check_board_id is True and ( + self.computer.reported_board_id not in self.constants.sandy_board_id or + self.computer.reported_board_id not in self.constants.sandy_board_id_stock + ): print("\nCannot patch! Board ID not supported by AppleIntelSNBGraphicsFB") print(f"Detected Board ID: {self.computer.reported_board_id}") print("Please ensure your Board ID is listed below:") print("\n".join(self.constants.sandy_board_id)) + print("\n".join(self.constants.sandy_board_id_stock)) self.bad_board_id = True if self.dosdude_patched is True: