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] 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