sys_patch.py: Test rerouting patches to root

This commit is contained in:
Mykola Grymalyuk
2024-08-26 17:10:51 -06:00
parent 132f12c885
commit f931c3b6c2
6 changed files with 419 additions and 17 deletions

Binary file not shown.

View File

@@ -14,7 +14,7 @@ class Constants:
def __init__(self) -> None: def __init__(self) -> None:
# Patcher Versioning # Patcher Versioning
self.patcher_version: str = "1.6.0" # OpenCore-Legacy-Patcher self.patcher_version: str = "1.6.0" # OpenCore-Legacy-Patcher
self.patcher_support_pkg_version: str = "1.7.1" # PatcherSupportPkg self.patcher_support_pkg_version: str = "1.7.3" # PatcherSupportPkg
self.copyright_date: str = "Copyright © 2020-2024 Dortania" self.copyright_date: str = "Copyright © 2020-2024 Dortania"
self.patcher_name: str = "OpenCore Legacy Patcher" self.patcher_name: str = "OpenCore Legacy Patcher"

View File

@@ -71,6 +71,7 @@ class SystemPatchDictionary():
self.marketing_version: str = marketing_version self.marketing_version: str = marketing_version
self.affected_by_cve_2024_23227: bool = self.__is_affect_by_cve_2024_23227() self.affected_by_cve_2024_23227: bool = self.__is_affect_by_cve_2024_23227()
self.metallib_directory: str = self.__resolve_metallibsupportpkg()
# XNU Kernel versions # XNU Kernel versions
self.macOS_12_0_B7: float = 21.1 self.macOS_12_0_B7: float = 21.1
@@ -148,6 +149,13 @@ class SystemPatchDictionary():
return False return False
def __resolve_metallibsupportpkg(self) -> str:
"""
Temporarily hard coded
"""
return "/Library/Application Support/Dortania/MetallibSupportPkg/15.0-24A5327a"
def _generate_sys_patch_dict(self): def _generate_sys_patch_dict(self):
""" """
Generates the sys_patch_dict dictionary Generates the sys_patch_dict dictionary
@@ -378,8 +386,8 @@ class SystemPatchDictionary():
"Metal.framework": "12.5-3802-22" if self.os_major < os_data.os_data.sonoma else "12.5-3802-23", "Metal.framework": "12.5-3802-22" if self.os_major < os_data.os_data.sonoma else "12.5-3802-23",
}, },
"/System/Library/PrivateFrameworks": { "/System/Library/PrivateFrameworks": {
"MTLCompiler.framework": "12.5-3802", "MTLCompiler.framework": "12.7.6-3802",
"GPUCompiler.framework": "12.5-3802", "GPUCompiler.framework": "12.7.6-3802",
}, },
"/System/Library/Sandbox/Profiles": { "/System/Library/Sandbox/Profiles": {
"com.apple.mtlcompilerservice.sb": "12.5-3802", "com.apple.mtlcompilerservice.sb": "12.5-3802",
@@ -404,7 +412,7 @@ class SystemPatchDictionary():
"Install": { "Install": {
"/System/Library/Frameworks": { "/System/Library/Frameworks": {
"Metal.framework": f"13.2.1-{self.os_major}", "Metal.framework": f"13.2.1-{self.os_major}",
**({ "CoreImage.framework": "14.0 Beta 3" } if self.os_major >= os_data.os_data.sonoma else {}), **({ "CoreImage.framework": "14.0 Beta 3" if self.os_major < os_data.os_data.sequoia else "14.0 Beta 3-24"} if self.os_major >= os_data.os_data.sonoma else {}),
}, },
"/System/Library/PrivateFrameworks": { "/System/Library/PrivateFrameworks": {
**({ "MTLCompiler.framework": "13.2.1" } if self.os_major == os_data.os_data.ventura else {}), **({ "MTLCompiler.framework": "13.2.1" } if self.os_major == os_data.os_data.ventura else {}),
@@ -419,6 +427,385 @@ class SystemPatchDictionary():
}, },
}, },
"Metal 3802 .metallibs": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.sequoia,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSCore.framework/Versions/A/Resources": {
"default.metallib": "14.6.1",
},
"/System/Library/Frameworks/MLCompute.framework/Versions/A/Resources": {
"default.metallib": "14.6.1"
},
"/System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/Resources": {
"default.metallib": "14.6.1",
},
"/System/Library/Frameworks/CoreImage.framework/Versions/A": {
"CoreImage.metallib": "14.6.1",
},
"/System/Library/Frameworks/CoreImage.framework/Versions/A/Resources": {
"default.metallib": "14.6.1",
"ci_filters.metallib": "14.6.1",
"ci_stdlib_stitchable_h.metallib": "14.6.1",
"ci_stdlib_stitchable.metallib": "14.6.1",
"CIPortraitBlurStitchableV3.metallib": "14.6.1",
"CIPortraitBlurStitchableV2.metallib": "14.6.1",
"ci_stdlib_h.metallib": "14.6.1",
"ci_filters_stitchable.metallib": "14.6.1",
"CIPortraitBlurV2.metallib": "14.6.1",
"CIPortraitBlurV3.metallib": "14.6.1",
"ci_stdlib.metallib": "14.6.1",
},
"/System/iOSSupport/System/Library/PrivateFrameworks/VFX.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/VisionKitInternal.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/TSReading.framework/Versions/A/Resources": {
"TSDDefaultMetalLibrary.metallib": self.metallib_directory,
"KeynoteMetalLibrary.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/WeatherUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
"ForegroundEffectShaders.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/AvatarKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/Tungsten.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/TextInputUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/ActivityRingsUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/ChatKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/WeatherMaps.framework/Versions/A/Resources": {
"WeatherMapsMetalLib.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/HomeAccessoryControlUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/PassKitUIFoundation.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/PrivateFrameworks/MediaCoreUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/Frameworks/ARKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/Frameworks/SpriteKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/Frameworks/PencilKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/Frameworks/SwiftUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/iOSSupport/System/Library/Frameworks/SceneKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Video/Plug-Ins/AppleGVAHEVCEncoder.bundle/Contents/Resources": {
"AppleGVAHEVCFrameStatistics.metallib": self.metallib_directory,
},
"/System/Library/Video/Plug-Ins/AV1DecoderSW.bundle/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Video/Plug-Ins/AppleAVEEncoder.bundle/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/CoreServices/MTLReplayer.app/Contents/Frameworks/MTLReplayController.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/CoreImage/CIPassThrough.cifilter/Contents/Resources": {
"CIPassThrough.ci.metallib": self.metallib_directory,
},
"/System/Library/CoreImage/PortraitFilters.cifilter/Contents/Resources": {
"default.metallib": self.metallib_directory,
"portrait_filters.metallib": self.metallib_directory,
},
"/System/Library/ScreenCaptureKitMetal/ScreenCaptureKitMetal.bundle/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/ExtensionKit/Extensions/Monterey.appex/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/ExtensionKit/Extensions/Drift.appex/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/ExtensionKit/Extensions/WallpaperMacintoshExtension.appex/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/ExtensionKit/Extensions/WallpaperSequoiaExtension.appex/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/SetupAssistantSupportUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/GESS.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/VFX.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/VisionCore.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/CMImaging.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/CoreRE.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/HDRProcessing.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/AvatarKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/SkyLight.framework/Versions/A/Resources": {
"SkyLightShaders.air64.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/RenderBox.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/AppleISPEmulator.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/NeutrinoCore.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Tungsten.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/ImageHarmonizationKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/VideoProcessing.framework/Versions/A/PlugIns/Codecs/VCPRealtimeEncoder.bundle/Contents/Resources": {
"ProcessAccelerate.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/VideoProcessing.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
"ProcessAccelerate.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Portrait.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/VisualGeneration.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
"NonMaxLineSuppress.ci.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/AccelerateGPU.framework": {
"GPUBLAS.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/AccelerateGPU.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/ShaderGraph.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Hydra.framework/Plugins/HydraQLThumbnailExtension.appex/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Hydra.framework/Plugins/HydraQLPreviewExtension.appex/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Hydra.framework/Versions/C/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/SiriUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/TextRecognition.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Leonardo.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/VectorKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/VectorKit.framework/Versions/A/Resources/metal_libraries": {
"AlloyCommonLibrary.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/GPUToolsCapture.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/PhotoImaging.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/MetalTools.framework/Versions/A/Resources": {
"MTLLegacySVICBSupport.metallib": self.metallib_directory,
"MTLGPUDebugICBSupport.metallib": self.metallib_directory,
"MTLGPUDebugAccelerationStructureSupport.metallib": self.metallib_directory,
"MTLDebugShaders.metallib": self.metallib_directory,
"MTLLegacySVAccelerationStructureSupport.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/AppleDepth.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Human.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/CorePhotogrammetry.framework/Versions/A/Resources": {
"ComputerVision_Tess_Kernels.metallib": self.metallib_directory,
"Photogrammetry_Matching_Kernels.metallib": self.metallib_directory,
"Photogrammetry_Texturing_Kernels.metallib": self.metallib_directory,
"Photogrammetry_MVS_Kernels.metallib": self.metallib_directory,
"Photogrammetry_Meshing_Kernels.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/HumanUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Quagga.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/Espresso.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/CMPhoto.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/AltruisticBodyPoseKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/PhotosUICore.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/MusicUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/FRC.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/H13ISPServices.framework/Versions/A/Resources": {
"CalibrateRgbIr.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/SiriUICore.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/PassKitUIFoundation.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/H16ISPServices.framework/Versions/A/Resources": {
"CalibrateRgbIr.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/CoreOCModules.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/PhotosensitivityProcessing.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/PrivateFrameworks/MediaCoreUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/Metal.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
"MTLMeshShaderEmulator.metallib": self.metallib_directory,
"MTLBVHBuilder.metallib": self.metallib_directory,
"MTLECBE.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/QuartzCore.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/CoreMediaIO.framework/Versions/A/Resources/ACD.plugin/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSFunctions.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSRayIntersector.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNeuralNetwork.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSNDArray.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSImage.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/MetalPerformanceShaders.framework/Versions/A/Frameworks/MPSMatrix.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/MetalFX.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/ParavirtualizedGraphics.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/ImageIO.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/SpriteKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/PencilKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/CoreDisplay.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/SwiftUICore.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/SwiftUI.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/Vision.framework/Versions/A/Resources": {
"ImageFilters.metallib": self.metallib_directory,
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/StickerKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/VideoToolbox.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/Frameworks/SceneKit.framework/Versions/A/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Library/VideoProcessors/CCPortrait.bundle/Contents/Resources": {
"default.metallib": self.metallib_directory,
"CoreImageKernels_only.ci.metallib": self.metallib_directory,
"CoreImageKernels.ci.metallib": self.metallib_directory,
},
"/System/Applications/Music.app/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Applications/Chess.app/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
"/System/Applications/Freeform.app/Contents/Resources": {
"default.metallib": self.metallib_directory,
"coreimage.metallib": self.metallib_directory,
},
"/System/Applications/Freeform.app/Contents/Extensions/USDRendererExtension.appex/Contents/Resources": {
"default.metallib": self.metallib_directory,
},
},
},
# Primarily for AMD GCN GPUs # Primarily for AMD GCN GPUs
"Revert GVA Downgrade": { "Revert GVA Downgrade": {
"Display Name": "", "Display Name": "",

View File

@@ -719,7 +719,9 @@ class DetectRootPatch:
return True return True
if any([self.kepler_gpu, self.ivy_gpu, self.haswell_gpu]): if any([self.kepler_gpu, self.ivy_gpu, self.haswell_gpu]):
if Path("~/.dortania_developer").expanduser().exists(): if Path("~/.dortania_developer").expanduser().exists():
return True # Temporarily hard coded
if Path("/Library/Application Support/Dortania/MetallibSupportPkg/15.0-24A5327a").exists():
return True
return False return False
return True return True

View File

@@ -66,6 +66,7 @@ class GenerateRootPatchSets:
if self.hardware_details["Graphics: Intel Ivy Bridge"] is True: if self.hardware_details["Graphics: Intel Ivy Bridge"] is True:
required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]}) required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]})
required_patches.update({"Metal 3802 Common Extended": all_hardware_patchset["Graphics"]["Metal 3802 Common Extended"]}) required_patches.update({"Metal 3802 Common Extended": all_hardware_patchset["Graphics"]["Metal 3802 Common Extended"]})
required_patches.update({"Metal 3802 .metallibs": all_hardware_patchset["Graphics"]["Metal 3802 .metallibs"]})
required_patches.update({"Catalina GVA": all_hardware_patchset["Graphics"]["Catalina GVA"]}) required_patches.update({"Catalina GVA": all_hardware_patchset["Graphics"]["Catalina GVA"]})
required_patches.update({"Monterey OpenCL": all_hardware_patchset["Graphics"]["Monterey OpenCL"]}) required_patches.update({"Monterey OpenCL": all_hardware_patchset["Graphics"]["Monterey OpenCL"]})
required_patches.update({"Big Sur OpenCL": all_hardware_patchset["Graphics"]["Big Sur OpenCL"]}) required_patches.update({"Big Sur OpenCL": all_hardware_patchset["Graphics"]["Big Sur OpenCL"]})
@@ -75,6 +76,7 @@ class GenerateRootPatchSets:
if self.hardware_details["Graphics: Intel Haswell"] is True: if self.hardware_details["Graphics: Intel Haswell"] is True:
required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]}) required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]})
required_patches.update({"Metal 3802 Common Extended": all_hardware_patchset["Graphics"]["Metal 3802 Common Extended"]}) required_patches.update({"Metal 3802 Common Extended": all_hardware_patchset["Graphics"]["Metal 3802 Common Extended"]})
required_patches.update({"Metal 3802 .metallibs": all_hardware_patchset["Graphics"]["Metal 3802 .metallibs"]})
required_patches.update({"Monterey GVA": all_hardware_patchset["Graphics"]["Monterey GVA"]}) required_patches.update({"Monterey GVA": all_hardware_patchset["Graphics"]["Monterey GVA"]})
required_patches.update({"Monterey OpenCL": all_hardware_patchset["Graphics"]["Monterey OpenCL"]}) required_patches.update({"Monterey OpenCL": all_hardware_patchset["Graphics"]["Monterey OpenCL"]})
required_patches.update({"Intel Haswell": all_hardware_patchset["Graphics"]["Intel Haswell"]}) required_patches.update({"Intel Haswell": all_hardware_patchset["Graphics"]["Intel Haswell"]})
@@ -105,6 +107,7 @@ class GenerateRootPatchSets:
if self.hardware_details["Graphics: Nvidia Kepler"] is True: if self.hardware_details["Graphics: Nvidia Kepler"] is True:
required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]}) required_patches.update({"Metal 3802 Common": all_hardware_patchset["Graphics"]["Metal 3802 Common"]})
required_patches.update({"Metal 3802 Common Extended": all_hardware_patchset["Graphics"]["Metal 3802 Common Extended"]}) required_patches.update({"Metal 3802 Common Extended": all_hardware_patchset["Graphics"]["Metal 3802 Common Extended"]})
required_patches.update({"Metal 3802 .metallibs": all_hardware_patchset["Graphics"]["Metal 3802 .metallibs"]})
required_patches.update({"Catalina GVA": all_hardware_patchset["Graphics"]["Catalina GVA"]}) required_patches.update({"Catalina GVA": all_hardware_patchset["Graphics"]["Catalina GVA"]})
required_patches.update({"Monterey OpenCL": all_hardware_patchset["Graphics"]["Monterey OpenCL"]}) required_patches.update({"Monterey OpenCL": all_hardware_patchset["Graphics"]["Monterey OpenCL"]})
required_patches.update({"Big Sur OpenCL": all_hardware_patchset["Graphics"]["Big Sur OpenCL"]}) required_patches.update({"Big Sur OpenCL": all_hardware_patchset["Graphics"]["Big Sur OpenCL"]})

View File

@@ -379,7 +379,11 @@ class PatchSysVolume:
for install_patch_directory in list(required_patches[patch][method_install]): for install_patch_directory in list(required_patches[patch][method_install]):
logging.info(f"- Handling Installs in: {install_patch_directory}") logging.info(f"- Handling Installs in: {install_patch_directory}")
for install_file in list(required_patches[patch][method_install][install_patch_directory]): for install_file in list(required_patches[patch][method_install][install_patch_directory]):
source_folder_path = source_files_path + "/" + required_patches[patch][method_install][install_patch_directory][install_file] + install_patch_directory source_folder_path = required_patches[patch][method_install][install_patch_directory][install_file] + install_patch_directory
# Check whether to source from root
if not required_patches[patch][method_install][install_patch_directory][install_file].startswith("/"):
source_folder_path = source_files_path + "/" + source_folder_path
if method_install == "Install": if method_install == "Install":
destination_folder_path = str(self.mount_location) + install_patch_directory destination_folder_path = str(self.mount_location) + install_patch_directory
else: else:
@@ -436,10 +440,27 @@ class PatchSysVolume:
logging.info("- Running Preflight Checks before patching") logging.info("- Running Preflight Checks before patching")
for patch in required_patches:
# Check if all files are present
for method_type in ["Install", "Install Non-Root"]:
if method_type not in required_patches[patch]:
continue
for install_patch_directory in required_patches[patch][method_type]:
for install_file in required_patches[patch][method_type][install_patch_directory]:
source_file = required_patches[patch][method_type][install_patch_directory][install_file] + install_patch_directory + "/" + install_file
# Check whether to source from root
if not required_patches[patch][method_type][install_patch_directory][install_file].startswith("/"):
source_file = source_files_path + "/" + source_file
if not Path(source_file).exists():
raise Exception(f"Failed to find {source_file}")
# Make sure old SkyLight plugins aren't being used # Make sure old SkyLight plugins aren't being used
self._clean_skylight_plugins() self._clean_skylight_plugins()
# Make sure non-Metal Enforcement preferences are not present # Make sure non-Metal Enforcement preferences are not present
self._delete_nonmetal_enforcement() self._delete_nonmetal_enforcement()
# Make sure we clean old kexts in /L*/E* that are not in the patchset # Make sure we clean old kexts in /L*/E* that are not in the patchset
kernelcache.KernelCacheSupport( kernelcache.KernelCacheSupport(
mount_location_data=self.mount_location_data, mount_location_data=self.mount_location_data,
@@ -451,17 +472,6 @@ class PatchSysVolume:
if "Intel Sandy Bridge" in required_patches: if "Intel Sandy Bridge" in required_patches:
sys_patch_helpers.SysPatchHelpers(self.constants).snb_board_id_patch(source_files_path) sys_patch_helpers.SysPatchHelpers(self.constants).snb_board_id_patch(source_files_path)
for patch in required_patches:
# Check if all files are present
for method_type in ["Install", "Install Non-Root"]:
if method_type not in required_patches[patch]:
continue
for install_patch_directory in required_patches[patch][method_type]:
for install_file in required_patches[patch][method_type][install_patch_directory]:
source_file = source_files_path + "/" + required_patches[patch][method_type][install_patch_directory][install_file] + install_patch_directory + "/" + install_file
if not Path(source_file).exists():
raise Exception(f"Failed to find {source_file}")
# Ensure KDK is properly installed # Ensure KDK is properly installed
self._merge_kdk_with_root(save_hid_cs=True if "Legacy USB 1.1" in required_patches else False) self._merge_kdk_with_root(save_hid_cs=True if "Legacy USB 1.1" in required_patches else False)