From b6297d6b630cd09da17c1ea5907dcd49d5c5c4bf Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Tue, 5 Oct 2021 11:49:02 -0600 Subject: [PATCH 1/4] Add Panel ID `9cd6` for iMac11,3 Co-authored-by @Ausdauersportler Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/538 --- CHANGELOG.md | 2 ++ payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip | Bin 2970 -> 0 bytes payloads/Kexts/Misc/BacklightInjector-v1.1.0.zip | Bin 0 -> 3915 bytes resources/constants.py | 2 +- 4 files changed, 3 insertions(+), 1 deletion(-) delete mode 100644 payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip create mode 100644 payloads/Kexts/Misc/BacklightInjector-v1.1.0.zip diff --git a/CHANGELOG.md b/CHANGELOG.md index 52067cc12..7d91e6175 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,8 @@ - Due to both Kepler and Ivy needing root patching, no benefit to disable the iGPU - Refactor Hardware Model building - Resolve dGPU output on MacBookPro10,1 +- Add Panel ID `9cd6` for iMac11,3 + - Resolves Brightness control ## 0.2.5 diff --git a/payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip b/payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip deleted file mode 100644 index 79d17e59d91f809899493d764c2dd2b120562d88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2970 zcmb_e3pmqzAOD*P2ayP`)I{Yn!$P6t(#4FE%q^F*X)ZIem1S~9idaMooud>bqxlal5KKl!HsoeSLh9PwZ3URYaaCaWJ^hz<))$k_m5=5!MsSpmF1_w*uR1MW{ zM@7Hbc_=s6$z1I2jOK9SV8G1A7`_q!-wDl+7Q@Kt4fp`8E{*I*2Gti{sCkZ*dLFl* z7`S;OnRe?g$S?KS=Gm$vC_`VkLYa11k^AqvU(aMj?oc}%u`b#3tM(0#quu3Liq!7? z3NI~aS`!8#|47L3QujGdEYBat`5d>-&oulkZ0_u3onM}<$H(pKZhKlD+YnEDSsA{n zKck`TE4sKyi_Fq&ikp~y`Qa0Kf12u^b|`0P8YU4DTh`^>8)Ob_f7o^htT`4ipb_;+ zjsM2XLm!j?UlZVn6qjJ~LDnGQI0aq(HqC$Ucens1x`KYA(GFHN`%v!s%U}hDUb^+! z|2bGJMiCo;Ifxl`uy-Amb)`B+gJ{a4o8?qRN>$}zrWGxl0n`A587;akE*5NcLD9hb zwJDWS8x) zu?%M&HryRbfwJ$l(u(%tWH)B3v;B)T&*x?6TRa%YR}@~BDde_(T%p{w=89Bv_kE);`x!O37Gg*HlU_J6Qrdehaoo-zsOjS2G1Ec&@ILuHIxxSr zVqh1e!Db5A!Bjd56OTI4U-xIkU0vf?H6Nu?Tt+zUd~KoD{plS>_YX|ZnuJI~#zzf2 z293;yx(5vZaHs*sHnPvXtq(mz^2Ot$@FmaGpUM+g$!8Hyvfd5f>-=!7H~E%#I(Quc ztV|s7)M8qM@8$bwdr3=@X$qS}DqQ@i3Js4nz~I9jpg$zvicGIASB(z;^z8C_JlfJ6 zz~#|_D3Pz0`TbZKt%SBTY*RKb>BTQuRuzTZvT5F>-ILO_37uwpy)qGBy06`6n7HQL zz=`2U)>wM4O)JRVz&Jz2yPXa_=mv8-9X@s`fpNCZpg3(GV|yoLplo|!zcDThLnvPnNXktbGfckI*y`c=h;#FK~O|8#bJJG9>|t=W01Xe;+% zm@k%T(W;00NWJ4^vUODTFtJx~J!jT87~iSxAqQISvPtEB*=%KF=iyaY>dXGhdDYO^ z#YjI^U6nD&`cMl$!$8K{T!F+IzZ~K*AaR~NWpQq`W25u%B;IFqpWh1vnN!{yKZ!Lj z)#$=z_OSTc(2B;7339pwu}7~`V`?}Bxp zT&UaySrZn$k47&s^SCUzDsc7VQp$}6`%46WeU5Iz9^QM;TorxJFj4;Dc5=VxQRz^z zB)X)7`zimbP5ov@S#QlNT_ZpK6!?2bPRsKtlkV23p+Gt6+TfW+snERqA!%S#By$UI zX4{r8xuz?b;-p7fIR}o67cp&Yh8@YXe~S5vZ?fGqF9ucW8zGSWRR zmVErl@H6#U$?WRvH#|nBY1q5RmOVQkR4PZwm~YeRVV4lFmGqIUlpuG;;KgBw5cY2? z&vWc}Wh?!VrG;582b@KbwS?n+ly^xoqxZWoD#7Br0;uAZ?}H zbc;;EzS~}t)K|J}8MUI7d3Ok$y%ElwDEF5Aqp{}_H(7MO*>Dg+*iq9yVqrV`RYT>8 zs?Su)qpH-(_p!4c@^O7djjONH^S->bMI{poud`?8819XRZzLWJ074#Hn&D&wY;F8M z@bLoG!O+W)-QQy7u|tp*<0{8gsGwwZbt}0w?)N1jVY^XvU_~VihGy5o=|n=c8WEjr z1Qe#N_p<{60Y$j1l!z<5EmEJS#nVZdKsily3O7rLKx0`FqDc&X9=Xzrs{Xpe{fcb?Ta72oL6hxO_ zXas+oGrpDZwTxu_c)j@^WU!K5&5NVuo+w*B z+R_@l`!lo`pyimF4E%!v5An=cxx(u|J+$O&l pER4GtO~U&$Z-VxU|G40Vss5eY<%kqpAq=xZ@Tm|K$B_{J`U@nNbCCc5 diff --git a/payloads/Kexts/Misc/BacklightInjector-v1.1.0.zip b/payloads/Kexts/Misc/BacklightInjector-v1.1.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..281c7edd8e507a489ce3d2a094dc819688bad251 GIT binary patch literal 3915 zcmdT`c{r4N8-C4LrpS`9e96vdiLv%k6vh(9GT9T&mFL|M{Uj*vPAg%T;U zM2Qh0MYeL3B`Qpj3u$xa)kn@b=Bx94e|^t&y>tEMpXYw>`+c7KccW2IRyY8byQ{J7 z%HiKXLVyH-bi?})y*vrQW`5r8_+bA)gpYeju!_Ci7J#EH*~P7j@zgS&qamCC3+p@! z0IW1auQY`Lus<~IVKkOxG{s;n4GgVqom3E*jr;$heZybd~QV`j=3%n{P8B4 zwz#?F@x_mr{plhm-Aa!pJ|JMElQ;WZpZVwjx(~bVvdYYQjz~v*6s5n}?W_VxP#5$B zhq-|cK|)x*srr3|*Xs?A`Hr6&w~eL$FXjzUgIdJK08s8>;jLR)-J^p$0Gx=XY!d89 z*UQf?^|a{d9J~6)Zdx9#F14f1E)E$Eg>vG3Gz^~{PVAv+P7Tv4Xn7Vs{I=34X?|(E zYY?83)0JNc8sxeUuVv^8)#BVIqygm=GUVLHzOvFt9`E~S7(BnPG&pq*S>N3;g9iY> zrDL*dtDB}`=I7y$2q1a|1+UB>xNuCCyV7wma8#Q&-0Dta`xIipgG^CCn%tofVE1VH z9`DsZ8Uz;$WQO6(Xal5hENmXLgNX4&_*t@G|A)y^E@r9hQ>WJHmSEMgPP5izdD;LkJ7VSuF^c_JT4TD_)nsa2<|_JE>#3 zIW21U6?LP8(P=(Nw6-_&A?tDA^QPUF`nq5IAM;eImiwW+HaB?<(M4M1tJ(AAf{Zt_4i`ZzV-9Cub zfpnfgH`v^f=b9N#3T3LhDl77ut*+D28Ex}Jx|0d1S#1~ROO z>=Dx3Rw6Ih+?MmJ)8JJUu`QJ)c$ZE`Wddn5TBs86rP zS8+cqyj^ z8PZH3WaQ}X2=MfF^_PZJ^lAtXcw3L{)Lss+N4L~RC6V&2h=x$8#$xi9ZMm*PQ^{ml zH!P_It9bpj-xZ)NNUyqo=PH;$OTA);E;nFinW$%?s+&gPFdHp9)_FoId&sy5cK(Fbuelup z!^H3Yj_IqZs&=w>>+c;qz@8U{H#Oxw$<}?Z6>>Po$hHw8AcVzI%sU_TqLk!Y&3fC- zln@HaR+eUFN@n)lu()hVh>WhV@CUxhK>oBKi9j{|#yGM8T=IM1+no9KnbJuc^^Ql3dh$ap0}!nYqsh#qinN#yNMp45)X= z97D3I|ipU-Bdv%~y+V0G^m!MQdS?X;A+LvKrOb$5}9{uNIwb&p7_i!TmpR0%P22 z(G5^6OgXI$+!{G1m+C6oM&!Wjd$s7~Vg}k8IVMv6e1cw&3x=olv1&cb0&)?ADa(!X z(+1J?&uHu83mDZ_tAH%b*!Lf^+!%O+9bOL%8pnD|Subw^S&WS-&9#ro#5;aK7{pz_ kG@xOvRsk8h`NxFUUf}Q87aGOJ4#I$wl>-HUEKcy>?_O!Hod5s; literal 0 HcmV?d00001 diff --git a/resources/constants.py b/resources/constants.py index fc4d05461..3c7c77576 100644 --- a/resources/constants.py +++ b/resources/constants.py @@ -54,7 +54,7 @@ class Constants: ## Dortania ## https://github.com/dortania - self.backlight_injector_version = "1.0.0" # BacklightInjector + self.backlight_injector_version = "1.1.0" # BacklightInjector self.smcspoof_version = "1.0.0" # SMC-Spoof self.mce_version = "1.0.0" # AppleMCEReporterDisabler self.btspoof_version = "1.0.0" # Bluetooth-Spoof From 9cbfe5be6a6d6eeb3f7e257df67bb111d8a50663 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Tue, 5 Oct 2021 21:19:13 -0600 Subject: [PATCH 2/4] Add TS2 comments --- data/pci_data.py | 58 ++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/data/pci_data.py b/data/pci_data.py index 8e6ef8be1..9bf0df392 100644 --- a/data/pci_data.py +++ b/data/pci_data.py @@ -686,35 +686,35 @@ class amd_ids: ] terascale_2_ids = [ - 0x6738, - 0x6739, - 0x6720, - 0x6722, - 0x6768, - 0x6770, - 0x6779, - 0x6760, - 0x6761, - 0x68E0, - 0x6898, - 0x6899, - 0x68B8, - 0x68B0, - 0x68B1, - 0x68A0, - 0x68A1, - 0x6840, - 0x6841, - 0x68D8, - 0x68C0, - 0x68C1, - 0x68D9, - 0x6750, - 0x6758, - 0x6759, - 0x6740, - 0x6741, - 0x6745, + 0x6738, # HD 6870 + 0x6739, # HD 6850 + 0x6720, # HD 6970M/6990M + 0x6722, # Unknown + 0x6768, # Unknown + 0x6770, # HD 6450A/7450A + 0x6779, # HD 6450/7450/8450 / R5 230 OEM + 0x6760, # HD 6400M/7400M + 0x6761, # HD 6430M + 0x68E0, # HD 5430/5450/547 + 0x6898, # HD 5870 + 0x6899, # HD 5850 + 0x68B8, # HD 5770 + 0x68B0, # Unknown + 0x68B1, # Unknown + 0x68A0, # HD 5870 (mobile) + 0x68A1, # HD 5850 (mobile) + 0x6840, # HD 7500M/7600M + 0x6841, # HD 7550M/7570M/7650M + 0x68D8, # HD 5670/5690/5730 + 0x68C0, # HD 5730 / 6570M + 0x68C1, # HD 5650/5750 / 6530M/6550M + 0x68D9, # HD 5550/5570/5630/6510/6610/7570 + 0x6750, # HD 6650A/7650A + 0x6758, # HD 6670/7670 + 0x6759, # HD 6570/7570/8550 + 0x6740, # HD 6730M/6770M/7690M XT + 0x6741, # HD 6630M/6650M/6750M/7670M/7690M + 0x6745, # Unknown ] From ae2a015c6796fd1dbdb4f6e318dde09fbe772ff2 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Tue, 5 Oct 2021 22:16:50 -0600 Subject: [PATCH 3/4] Fix references Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/545 --- resources/cli_menu.py | 2 +- resources/sys_patch.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/cli_menu.py b/resources/cli_menu.py index 1bad0433c..315ecce5e 100644 --- a/resources/cli_menu.py +++ b/resources/cli_menu.py @@ -854,7 +854,7 @@ system_profiler SPHardwareDataType | grep 'Model Identifier' ], [ f"Set Secure Boot Model (SBM):\t\tCurrently {self.constants.secure_status}", - MenuOptions(self.constants.custom_model or self.constant.computer.real_model, self.constants).change_sbm, + MenuOptions(self.constants.custom_model or self.constants.computer.real_model, self.constants).change_sbm, ], [f"Set Vault Mode:\t\t\t\tCurrently {self.constants.vault}", MenuOptions(self.constants.custom_model or self.constants.computer.real_model, self.constants).change_vault], ] diff --git a/resources/sys_patch.py b/resources/sys_patch.py index f4c002be7..82c5d1d5c 100644 --- a/resources/sys_patch.py +++ b/resources/sys_patch.py @@ -117,7 +117,7 @@ class PatchSysVolume: print("- Creating Backup folder") utilities.process_status( - self.elevated( + utilities.elevated( ["cp", "-r", f"{self.mount_location}/{location}", f"{self.mount_location}/{location}-Backup"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, @@ -125,7 +125,7 @@ class PatchSysVolume: ) print("- Zipping Backup folder") utilities.process_status( - self.elevated( + utilities.elevated( ["ditto", "-c", "-k", "--sequesterRsrc", "--keepParent", f"{self.mount_location}/{location}-Backup", f"{self.mount_location}/{location_zip}"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, @@ -134,7 +134,7 @@ class PatchSysVolume: print("- Removing Backup folder") utilities.process_status( - self.elevated( + utilities.elevated( ["rm", "-r", f"{self.mount_location}/{location}-Backup"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, From ee77f76c3a1b1ec4a92dbd2f31ca28d0ee75f1d3 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Wed, 6 Oct 2021 09:44:00 -0600 Subject: [PATCH 4/4] Add AppleGVA patch set --- CHANGELOG.md | 4 +++- resources/constants.py | 25 ++++++++++++++++++++----- resources/defaults.py | 2 +- resources/sys_patch.py | 27 +++++++++++++++++++++++++-- 4 files changed, 49 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d91e6175..c1e62e2e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/resources/constants.py b/resources/constants.py index 3c7c77576..ff36ba2c7 100644 --- a/resources/constants.py +++ b/resources/constants.py @@ -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 ] \ No newline at end of file diff --git a/resources/defaults.py b/resources/defaults.py index 0cc7d7f8f..33b0c3249 100644 --- a/resources/defaults.py +++ b/resources/defaults.py @@ -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 diff --git a/resources/sys_patch.py b/resources/sys_patch.py index 82c5d1d5c..c4eda4163 100644 --- a/resources/sys_patch.py +++ b/resources/sys_patch.py @@ -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: