From df469be05f6803718321015858ab62f6c1c8c10f Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk <48863253+khronokernel@users.noreply.github.com> Date: Wed, 12 May 2021 15:38:23 -0600 Subject: [PATCH 1/2] Remove AppleBacklightFixup reliance --- Resources/Build.py | 12 +++++------- Resources/Constants.py | 3 +++ payloads/Config/config.plist | 18 ++++++++++++++++++ .../Kexts/Misc/BacklightInjector-v1.0.0.zip | Bin 0 -> 2643 bytes 4 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip diff --git a/Resources/Build.py b/Resources/Build.py index 7415444fb..827ec2a72 100644 --- a/Resources/Build.py +++ b/Resources/Build.py @@ -369,20 +369,18 @@ class BuildOpenCore: self.constants.custom_mxm_gpu = True if self.model in ["iMac11,1", "iMac11,2", "iMac11,3"]: print("- Adding Nvidia Brightness Control and DRM patches") - self.config["DeviceProperties"]["Add"][backlight_path] = {"@0,backlight-control": binascii.unhexlify("01000000"), "@0,built-in": binascii.unhexlify("01000000"), "shikigva": 256, "agdpmod": "vit9696"} + self.config["DeviceProperties"]["Add"][backlight_path] = {"applbkl": binascii.unhexlify("01000000"), "@0,backlight-control": binascii.unhexlify("01000000"), "@0,built-in": binascii.unhexlify("01000000"), "shikigva": 256, "agdpmod": "vit9696"} if self.constants.custom_model and self.model == "iMac11,2": # iMac11,2 can have either PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0) or PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) # Set both properties when we cannot run hardware detection - self.config["DeviceProperties"]["Add"]["PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)"] = {"@0,backlight-control": binascii.unhexlify("01000000"), "@0,built-in": binascii.unhexlify("01000000"), "shikigva": 256, "agdpmod": "vit9696"} - shutil.copy(self.constants.backlight_path, self.constants.kexts_path) - self.get_kext_by_bundle_path("AppleBacklightFixup.kext")["Enabled"] = True + self.config["DeviceProperties"]["Add"]["PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)"] = {"applbkl": binascii.unhexlify("01000000"), "@0,backlight-control": binascii.unhexlify("01000000"), "@0,built-in": binascii.unhexlify("01000000"), "shikigva": 256, "agdpmod": "vit9696"} elif self.model in ["iMac12,1", "iMac12,2"]: print("- Adding Nvidia Brightness Control and DRM patches") - self.config["DeviceProperties"]["Add"][backlight_path] = {"@0,backlight-control": binascii.unhexlify("01000000"), "@0,built-in": binascii.unhexlify("01000000"), "shikigva": 256} + self.config["DeviceProperties"]["Add"][backlight_path] = {"applbkl": binascii.unhexlify("01000000"), "@0,backlight-control": binascii.unhexlify("01000000"), "@0,built-in": binascii.unhexlify("01000000"), "shikigva": 256} print("- Disabling unsupported iGPU") self.config["DeviceProperties"]["Add"]["PciRoot(0x0)/Pci(0x2,0x0)"] = {"name": binascii.unhexlify("23646973706C6179"), "IOName": "#display", "class-code": binascii.unhexlify("FFFFFFFF")} - shutil.copy(self.constants.backlight_path, self.constants.kexts_path) - self.get_kext_by_bundle_path("AppleBacklightFixup.kext")["Enabled"] = True + shutil.copy(self.constants.backlight_injector_path, self.constants.kexts_path) + self.get_kext_by_bundle_path("BacklightInjector.kext")["Enabled"] = True self.config["UEFI"]["Quirks"]["ForgeUefiSupport"] = True self.config["UEFI"]["Quirks"]["ReloadOptionRoms"] = True diff --git a/Resources/Constants.py b/Resources/Constants.py index 6a0c1439a..3e6ec492d 100644 --- a/Resources/Constants.py +++ b/Resources/Constants.py @@ -30,6 +30,7 @@ class Constants: self.restrictevents_mbp_version = "1.0.1" self.piixata_version = "1.0.0" self.backlight_version = "1.0.1" + self.backlight_injector_version = "1.0.0" self.cpufriend_version = "1.2.3" self.nightshift_version = "1.1.0" self.smcspoof_version = "1.0.0" @@ -177,6 +178,8 @@ class Constants: @property def backlight_path(self): return self.payload_kexts_path / Path(f"Misc/AppleBacklightFixup-v{self.backlight_version}.zip") @property + def backlight_injector_path(self): return self.payload_kexts_path / Path(f"Misc/BacklightInjector-v{self.backlight_injector_version}.zip") + @property def cpufriend_path(self): return self.payload_kexts_path / Path(f"Acidanthera/CPUFriend-v{self.cpufriend_version}.zip") @property def nightshift_path(self): return self.payload_kexts_path / Path(f"Misc/NightShiftEnabler-v{self.nightshift_version}.zip") diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist index e2d090687..a736d1096 100644 --- a/payloads/Config/config.plist +++ b/payloads/Config/config.plist @@ -842,6 +842,24 @@ PlistPath Contents/Info.plist + + Arch + x86_64 + Comment + BacklightInjector + Enabled + + MaxKernel + + MinKernel + + BundlePath + BacklightInjector.kext + ExecutablePath + + PlistPath + Contents/Info.plist + Block diff --git a/payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip b/payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..5ec0d772e0c2a83baee771d72352a4130bad9153 GIT binary patch literal 2643 zcmWIWW@Zs#0D(i!1wmj2ln`f7U~o!I&d$k9&nWTC%Sufy$uH8&POT`>4-MgEV1Iic zAOVC=s?SL%t>9*0WckX-zyLNZ0B)#5<{A`36>uBsoS#>cnpaW`F`ZLmP67;LHJyWj zgW))mlUXDffM(-#vYtzDd@#@hsbIH%1G>9EE;-=!M1pZ%MAFoIoe+EbX$esy*WoO{)=C~Mx*?&%Bi-`|DS&U6(2Z7 z+U=6g`DZ`$II3DUUyHq!ZOveF_TqjPm5=EUmFs@VzI|yGrO(u5B$giF&CYS)Et3-y zC^~_m3W-hh@U8$R6K!C4$H)6RI{ODl=;KH$dhytU-VqqVXc3#7Aex+>kd*Mj*C*@) ze^^IA1JeWvW_1B+#*NYf%|ApP&M*W&R5;MUY|+-j;y6>(Aoc~wb?hA69S1B-f$jmh z3E^7gv^R%?fk6v*>VT&`&%CsJy@H&~;u3H=0i{4AC`NPa)@gUcW;+NRU;j8b;2mqy z)mw5$Ha9MD4R+@Jwk6zFy6ouM(|WOHTD6P!xy@fQIYEf&(aY9{UH$j}q?eVYvweSK z`1qJ@DC^`$SKdVTWd=<2IOI~56?c5`U*XSZZWrHY5w`y)$J;w+vy=42uL&~0+IHsO z);Mpu^{oP5Plk+NGP6lebw#Gsv$fZLvfr+&sMzqKX_L@Q-2;dErkq)M>8Zq#ZwC)3 z&6@FGSEZuG;VxPH4^@4vyu>YMC41XHp*PL1(%HsPn`Si<8`;SQGKKlRGhDl(#iQeaF z$Bur8zLRQ}y7EBPx+u5wf>Oy+owfJlqAYeMSTV^29h#Z8<;Ta0qCby+6y*NiVko-L zhGXG{Dee&gePLJFRu_6NiBL9O*5p>JeyneD4u`{rV{%eF7u{R#ExO2=wDP~SZ`VOf zDbAMnY_%ful>Z%_{_=-_rQd^F-jj2$e&?**&V04m?yl#W6!lfs9inB~;+4K>?(5h8 z;<%o@^3dCBAK&E#>|HAsTI#Y$qQp8oQuuXQp!Sh_t3+!1x)-gzqPJ^X=7Fv`kBts- zRZVHDdZ)L0X4DVyE$>$Gg@&}fzWI75&!6QXmF(^t!dJIjojDlS63D7 z?NdIUsgs&qdY&UxmR)&{f<2dV-`C!dNQd{4POr~h_q=gOM@4V>{AZG4;UdB|kFQLx zT)Aq;_Txu?HGllxFKFX?`x(PbpVdJ-7VUrL6L?8v=cG;3CWI=i+xv(6!?%Bope*of z%dM~7ObiU5gpNH6tO90dQz9}fJTK_QABMKV`?O;ny71J z=*gd&E2|hSXC75moXWaVA=FK(SjeH|&08;9fxj=c`@>&dl?}Fge=%t0glF3GO6o54 z|K3wn{%qH;yTLy#8{Z%JzPs4m?{C?Y^393D@fXzpzyIUTFEj7g^SNJ_l+0%O`{rxx zW|OXYFKu2;{9V5M{<}#xe!sP5(wV1i7S^?3_acTTTzel)T6F2jq)UrJ?oPR~<;=1pTEg`*!V=`t z5o9E&?u3E2j-fy%4ol$a171SntfwKi!D Date: Wed, 12 May 2021 17:29:03 -0600 Subject: [PATCH 2/2] Add Monitor Injection --- .../Kexts/Misc/BacklightInjector-v1.0.0.zip | Bin 2643 -> 2970 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip b/payloads/Kexts/Misc/BacklightInjector-v1.0.0.zip index 5ec0d772e0c2a83baee771d72352a4130bad9153..79d17e59d91f809899493d764c2dd2b120562d88 100644 GIT binary patch delta 1578 zcmZ9Mdpy&77{@n_ZJ04CUQt7JT$Y$yD2G(c(uKL?a!jOIm#tie##Gc?8$X?+A}N*) zMKw8V$uSC($z`OdmZQ_i-6F|BuUDPdd7jtv{PX>Mp6C1g^X}BTx|X$5ff)u^z%`Xu zL9{^2k(!cNa_!WF-QeEXe$*Zlvm?5S5O1r&R=U)~j-i@Jyy$gyp#EO`U#8Z{ zdLe78Ncpj>%e7piXR|x3o*kN9v^fb!PmY`W4_es|^}MsV>LCD4Y!YRUHbiDbg^|gL zc^_eF zHNG^2Ku&cjFs{N!!LynV)+NP$d2?d}IoQboL}GJ5iQsQew+BKIMrki{LtBbuneTrq zbmnoT_h)6-ch9KSrghu91{UBJddluJPL&ZF#pgdI2%Lg+b4!a2_!&&HZ))UWUo+3t z*oo_D{7d!bcXRjiw|Ar8)w^b=)4pBkyrE@q@mLGocPuhLX^NUg0NW46kV}P2H5D*!clCFAxv) zWs%;aF~y~s@fFNyx*bw7#hy+@VV$-xevgv?govq?wD(d-m+CV_GYNTQ&2kzmQ68>=WfW1}Ws6(|+!klu%A6+-w z-pXxy+T}wL>P+3^^Gzy|?At@CpmA`4rEGqi#jw}EnWzA=zUa!y3^S@R(r)=?+`KEGFv*@FYUtkwA_R^{M*XC;N zM1;dOlU`9JCA69|QkZkhk3V>gG3;?t^t;++vAgWP+7Wyex6u0#VHLiX!sw@uWg^C( zNr*bfp}USUq1DsJ6O4m7?mEU~9=afA09j>;DBb@!aEAH8RD{qgS7Se+h+X3e;zYl; zgX78B>6;xT9}N!UC_4llBaUv1-wbtLtqYOobUp;Cr;```Q5X8ln>4LUIP8T{H?J%T zw?ecCI)I15J{pE4kRjhObpXGNIoMME7hnirSkd_h@>U3E8ZvPLtu(0s(o4C;~`Op&(#F(cy<_WvnLftFoGs7`CkW7Zvr<6#xJL delta 1249 zcmbOwepzIK6Vplc$rCw+xtLi*7(l=wb7G=77pKOY1PBI6PTcCrbU=L*VaPuaSe9n{kA3CR=Vuy+S7WmW?Hq2_qokqGdV$s>Cwy9hh6>m|D>0d zrL%p1WBB-(Z7A#HM_1lN_hkl5^f=^Fl@)h<@n7N3XKokYXA!plC&ydgJ7=?#^u@0U zGQZk(=HJ#hZ@KlY0$)#tj9)UdNltY|rqr{w*M73!uB)in@S$mw&`jL}hx(?RS$XNH z#F1|Y4=Bx=@nBideJ=KULenzx*FV2^@zQ7a=A8<2+FH2I=1GLE+grgupL?xB7XO?G z7p-2_!`B$p%jYcJZY5%$xk&Ybe?)z-|D6*Ie;VS~oLV2s;`=iB^vg~Ak4WY|`v2C3 zNnp8&-sfq@j(&)~lWLZ_@<7$PD7W;2Qpr-CwfEzqEOsVXG06lSnwhrc$H$7IKaYPD zZ%_{_=-_rQd^F-jj2$e&?**&V04m?yl#W6!lfs9inB~ z;+4K>?(5h8;<%o@^3dCBAK&E#>|HAsTI#Y$qQp8oQuuXQp!Sh_t3+!1x)-gzqPJ^X z=7Fv`kBts-RZVHDdZ)L0X4DVyE$>$Gg@&}fzWI7*J+ zV&NjfHjl4NuUr|lYRC5DM}IYc{N68U<9quV!%UymK|2=hf94Z-No41wP17cXDy-Z4 zhx@~~e~ba%>>R(g-1^$h1WCgI-k?0d0ffk@d)4Gq?2h3407};2^ePHT7FE8WK|P&jjY@$87isvQZset%b6?P z)K>0PRTD7wYHZQ$iWNQiQ*&iiJ)`B!qpFHiSyw8Ax=9raIh4G4>t!qO_oa4!_^Ye3 z!FKO22F;xCOnY8Q-KGBDdy2}R?fP{$_@`y#`vc#17n}S2EqhYFIZ-(Ng8KjWf86KkPw^vO*!x0K8MI_lECCFqaPFK_-BnMc2080|Z$qHOypfY44rz{^R zlo8=Sc`=tWJeZBZDilE~;MM@GGG$PJ6*>${8n3W2OuoQw4c7!VR(Nt7Hy>LEJ4hV> DeE}On