Add Brightness Control backend

This commit is contained in:
Mykola Grymalyuk
2021-04-01 12:53:27 -06:00
parent 53582efd02
commit 4e40da79bb
3 changed files with 36 additions and 3 deletions

View File

@@ -212,9 +212,17 @@ class Constants:
@property @property
def payload_apple_frameworks_path(self): return self.payload_apple_root_path / Path("Frameworks") def payload_apple_frameworks_path(self): return self.payload_apple_root_path / Path("Frameworks")
@property @property
def payload_apple_frameworks_path_accel(self): return self.payload_apple_frameworks_path / Path("Graphics-Acceleration")
@property
def payload_apple_lauchd_path(self): return self.payload_apple_root_path / Path("LaunchDaemons") def payload_apple_lauchd_path(self): return self.payload_apple_root_path / Path("LaunchDaemons")
@property @property
def payload_apple_lauchd_path_accel(self): return self.payload_apple_lauchd_path / Path("Graphics-Acceleration")
@property
def payload_apple_private_frameworks_path(self): return self.payload_apple_root_path / Path("PrivateFrameworks") def payload_apple_private_frameworks_path(self): return self.payload_apple_root_path / Path("PrivateFrameworks")
@property
def payload_apple_private_frameworks_path_accel(self): return self.payload_apple_private_frameworks_path / Path("Graphics-Acceleration")
@property
def payload_apple_private_frameworks_path_brightness(self): return self.payload_apple_private_frameworks_path / Path("Brightness-Control")
# Apple Extensions # Apple Extensions
@property @property
@@ -233,6 +241,9 @@ class Constants:
@property @property
def legacy_intel_gen2_path(self): return self.legacy_graphics / Path("Intel-Gen6-SandyBridge") def legacy_intel_gen2_path(self): return self.legacy_graphics / Path("Intel-Gen6-SandyBridge")
@property
def legacy_brightness(self): return self.payload_apple_kexts_path / Path("Brightness-Control")
# Apple Frameworks # Apple Frameworks
@property @property
def coredisplay_path(self): return self.payload_apple_frameworks_path / Path("CoreDisplay.framework") def coredisplay_path(self): return self.payload_apple_frameworks_path / Path("CoreDisplay.framework")

View File

@@ -371,6 +371,13 @@ LegacyGPUIntelGen2 = [
"Macmini5,3", # Intel 3000 "Macmini5,3", # Intel 3000
] ]
LegacyBrightness = [
"MacBook5,2",
"iMac7,1",
"iMac8,1",
"iMac9,1",
]
LegacyHID = [ LegacyHID = [
"MacBook4,1", "MacBook4,1",
"MacBook5,1", "MacBook5,1",
@@ -891,3 +898,12 @@ AddIntelGen2Accel = [
"AppleIntelSNBVA.bundle", "AppleIntelSNBVA.bundle",
"IOSurface.kext", "IOSurface.kext",
] ]
DeleteBrightness = [
"AppleGraphicsControl.kext/Contents/PlugIns/AGDCBacklightControl.kext"
]
AddBrightness = [
"AppleBacklight.kext",
"AppleBacklightExpert.kext",
]

View File

@@ -133,17 +133,23 @@ class PatchSysVolume:
# Frameworks # Frameworks
print("- Merging legacy Frameworks") print("- Merging legacy Frameworks")
subprocess.run(f"sudo ditto {self.constants.payload_apple_frameworks_path} {self.mount_frameworks}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode() subprocess.run(f"sudo ditto {self.constants.payload_apple_frameworks_path_accel} {self.mount_frameworks}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode()
if self.model in ModelArray.LegacyBrightness:
print("- Merging legacy Brightness Control Patches")
self.delete_old_binaries(ModelArray.DeleteBrightness)
self.add_new_binaries(ModelArray.AddBrightness, self.constants.legacy_brightness)
subprocess.run(f"sudo ditto {self.constants.payload_apple_private_frameworks_path_brightness} {self.mount_private_frameworks}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode()
# LaunchDaemons # LaunchDaemons
print("- Adding HiddHack.plist") print("- Adding HiddHack.plist")
subprocess.run(f"sudo ditto {self.constants.payload_apple_lauchd_path} {self.mount_lauchd}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode() subprocess.run(f"sudo ditto {self.constants.payload_apple_lauchd_path_accel} {self.mount_lauchd}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode()
subprocess.run(f"sudo chmod 755 {self.mount_lauchd}/HiddHack.plist".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode() subprocess.run(f"sudo chmod 755 {self.mount_lauchd}/HiddHack.plist".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode()
subprocess.run(f"sudo chown root:wheel {self.mount_lauchd}/HiddHack.plist".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode() subprocess.run(f"sudo chown root:wheel {self.mount_lauchd}/HiddHack.plist".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode()
# PrivateFrameworks # PrivateFrameworks
print("- Merging legacy PrivateFrameworks") print("- Merging legacy PrivateFrameworks")
subprocess.run(f"sudo ditto {self.constants.payload_apple_private_frameworks_path} {self.mount_private_frameworks}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode() subprocess.run(f"sudo ditto {self.constants.payload_apple_private_frameworks_path_accel} {self.mount_private_frameworks}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode()
# Sets AppKit to Catalina Window Drawing codepath # Sets AppKit to Catalina Window Drawing codepath
print("- Disabling NSDefenestratorModeEnabled") print("- Disabling NSDefenestratorModeEnabled")