mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-14 04:38:20 +10:00
Add AppleGVA patch set
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
- Add Legacy GMUX patchsets
|
||||
- Applicable for dual GPU MacBookPro5,x and demuxed MacBookPro8,x
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 0.1.5 release
|
||||
- PatcherSupportPkg 0.1.6 release
|
||||
- RestrictEvents 1.0.5 rolling (2430ed0)
|
||||
- Limit MacBookPro6,2 G State
|
||||
- Works around crashing when switching GPUs
|
||||
@@ -37,6 +37,8 @@
|
||||
- Resolve dGPU output on MacBookPro10,1
|
||||
- Add Panel ID `9cd6` for iMac11,3
|
||||
- Resolves Brightness control
|
||||
- Add AppleGVA patch set for HD3000 machines
|
||||
- Mainly applicable for iMac12,x and iGPU-only MacBooks
|
||||
|
||||
## 0.2.5
|
||||
|
||||
|
||||
@@ -13,8 +13,9 @@ from resources import device_probe
|
||||
class Constants:
|
||||
def __init__(self):
|
||||
# Patcher Versioning
|
||||
self.patcher_version = "0.3.0" # OpenCore-Legacy-Patcher
|
||||
self.patcher_support_pkg_version = "0.1.5" # PatcherSupportPkg
|
||||
self.patcher_support_pkg_version = "0.1.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/"
|
||||
|
||||
# OpenCore Versioning
|
||||
# https://github.com/acidanthera/OpenCorePkg
|
||||
@@ -144,6 +145,7 @@ class Constants:
|
||||
self.set_alc_usage = True # Set AppleALC usage
|
||||
self.dGPU_switch = True # Set Display GPU Switching for Windows
|
||||
self.force_surplus = False # Force SurPlus patch in newer OSes
|
||||
self.force_latest_psp = False # Force latest PatcherSupportPkg
|
||||
|
||||
# OS Versions
|
||||
## Based off Major Kernel Version
|
||||
@@ -189,9 +191,6 @@ class Constants:
|
||||
self.arch_fermi = "GF100"
|
||||
self.arch_kepler = "GK100"
|
||||
|
||||
# External Files
|
||||
self.url_patcher_support_pkg = "https://github.com/dortania/PatcherSupportPkg/releases/download/"
|
||||
|
||||
self.legacy_accel_support = [
|
||||
self.mojave,
|
||||
self.catalina,
|
||||
@@ -565,6 +564,10 @@ class Constants:
|
||||
@property
|
||||
def payload_apple_private_frameworks_path_brightness(self):
|
||||
return self.payload_apple_private_frameworks_path / Path("Brightness-Control")
|
||||
|
||||
@property
|
||||
def payload_apple_private_frameworks_path_legacy_drm(self):
|
||||
return self.payload_apple_private_frameworks_path / Path("Legacy-GVA")
|
||||
|
||||
# Apple Extensions
|
||||
# El Capitan Extensions
|
||||
@@ -658,4 +661,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
|
||||
]
|
||||
@@ -66,7 +66,7 @@ class generate_defaults():
|
||||
if utilities.amfi_status() is False:
|
||||
settings.amfi_status = False
|
||||
|
||||
if utilities.get_nvram("gpu-power-prefs", "FA4CE28D-B62F-4C99-9CC3-6815686E30F9"):
|
||||
if model in ["MacBookPro8,2", "MacBookPro8,3"]:
|
||||
# Users disabling TS2 most likely have a faulty dGPU
|
||||
# users can override this in settings
|
||||
settings.allow_ts2_accel = False
|
||||
|
||||
@@ -390,15 +390,30 @@ 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()
|
||||
self.gpu_accel_legacy_gva()
|
||||
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:
|
||||
print("- Installing IvyBridge Acceleration Kext patches for Monterey")
|
||||
@@ -421,6 +436,10 @@ set million colour before rebooting"""
|
||||
else:
|
||||
print("- Installing Kepler Kext patches for generic OS")
|
||||
self.add_new_binaries(sys_patch_data.AddNvidiaKeplerAccel11, self.constants.legacy_nvidia_kepler_path)
|
||||
|
||||
def gpu_accel_legacy_gva(self):
|
||||
print("- Merging AppleGVA Hardware Accel patches for non-Metal")
|
||||
utilities.elevated(["rsync", "-r", "-i", "-a", f"{self.constants.payload_apple_private_frameworks_path_legacy_drm}/", self.mount_private_frameworks], stdout=subprocess.PIPE)
|
||||
|
||||
def gpu_accel_legacy_extended(self):
|
||||
print("- Merging general legacy Frameworks")
|
||||
@@ -780,11 +799,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 and
|
||||
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:
|
||||
|
||||
Reference in New Issue
Block a user