diff --git a/CHANGELOG.md b/CHANGELOG.md
index 179c0303a..d8b63b1e7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@
- Resolve Content Caching Patch Regression
- Resolve KDK Versioning Fallback crashing when primary KDK site is down
- Resolve AirPlay to Mac support on Ventura with VMM
+- Resolve WindowServer crashing on KDK-less with macOS 13.2 and Rapid Security Response updates
- Increment Binaries:
- OpenCorePkg 0.8.7 - release
- FeatureUnlock 1.1.2 - rolling (94e29ce)
diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist
index 1fc65579d..9108a4059 100644
--- a/payloads/Config/config.plist
+++ b/payloads/Config/config.plist
@@ -1527,6 +1527,24 @@
PlistPath
Contents/Info.plist
+
+ Arch
+ x86_64
+ BundlePath
+ KDKlessWorkaround.kext
+ Comment
+ KDKlessWorkaround
+ Enabled
+
+ ExecutablePath
+ Contents/MacOS/KDKlessWorkaround
+ MaxKernel
+
+ MinKernel
+ 22.0.0
+ PlistPath
+ Contents/Info.plist
+
Block
diff --git a/payloads/Kexts/Misc/KDKlessWorkaround-v1.0.0-DEBUG.zip b/payloads/Kexts/Misc/KDKlessWorkaround-v1.0.0-DEBUG.zip
new file mode 100644
index 000000000..1d8264ae0
Binary files /dev/null and b/payloads/Kexts/Misc/KDKlessWorkaround-v1.0.0-DEBUG.zip differ
diff --git a/payloads/Kexts/Misc/KDKlessWorkaround-v1.0.0-RELEASE.zip b/payloads/Kexts/Misc/KDKlessWorkaround-v1.0.0-RELEASE.zip
new file mode 100644
index 000000000..f50213258
Binary files /dev/null and b/payloads/Kexts/Misc/KDKlessWorkaround-v1.0.0-RELEASE.zip differ
diff --git a/resources/build/misc.py b/resources/build/misc.py
index a4c78c038..4cb91e797 100644
--- a/resources/build/misc.py
+++ b/resources/build/misc.py
@@ -33,6 +33,7 @@ class build_misc:
self.debug_handling()
self.cpu_friend_handling()
self.general_oc_handling()
+ self.aux_kc_workaround()
def feature_unlock_handling(self):
if self.constants.fu_status is True:
@@ -227,4 +228,24 @@ class build_misc:
if self.constants.vault is True and utilities.check_command_line_tools() is True:
print("- Setting Vault configuration")
self.config["Misc"]["Security"]["Vault"] = "Secure"
- support.build_support(self.model, self.constants, self.config).get_efi_binary_by_path("OpenShell.efi", "Misc", "Tools")["Enabled"] = False
\ No newline at end of file
+ support.build_support(self.model, self.constants, self.config).get_efi_binary_by_path("OpenShell.efi", "Misc", "Tools")["Enabled"] = False
+
+ def aux_kc_workaround(self):
+ gpu_dict = []
+ if not self.constants.custom_model:
+ gpu_dict = self.constants.computer.gpus
+ else:
+ if self.model in smbios_data.smbios_dictionary:
+ gpu_dict = smbios_data.smbios_dictionary[self.model]["Stock GPUs"]
+ for gpu in gpu_dict:
+ if not self.constants.custom_model:
+ gpu = gpu.arch
+ if gpu in [
+ device_probe.Intel.Archs.Ivy_Bridge,
+ device_probe.Intel.Archs.Haswell,
+ device_probe.Intel.Archs.Broadwell,
+ device_probe.Intel.Archs.Skylake,
+ device_probe.NVIDIA.Archs.Kepler,
+ ]:
+ support.build_support(self.model, self.constants, self.config).enable_kext("KDKlessWorkaround.kext", self.constants.kdkless_version, self.constants.kdkless_path)
+ break
\ No newline at end of file
diff --git a/resources/constants.py b/resources/constants.py
index 0e717e2d5..bdc56c2cb 100644
--- a/resources/constants.py
+++ b/resources/constants.py
@@ -98,6 +98,10 @@ class Constants:
## https://github.com/blackgate/AMDGPUWakeHandler
self.gpu_wake_version = "1.0.0"
+ ## flagersgit
+ ## https://github.com/flagersgit/KDKlessWorkaround
+ self.kdkless_version = "1.0.0"
+
# Get resource path
self.current_path = Path(__file__).parent.parent.resolve()
self.payload_path = self.current_path / Path("payloads")
@@ -462,6 +466,10 @@ class Constants:
def apple_raid_path(self):
return self.payload_kexts_path / Path(f"Misc/AppleRAIDCard-v{self.apple_raid_version}.zip")
+ @property
+ def kdkless_path(self):
+ return self.payload_kexts_path / Path(f"Misc/KDKlessWorkaround-v{self.kdkless_version}-{self.kext_variant}.zip")
+
@property
def plist_folder_path(self):
return self.payload_kexts_path / Path("Plists")