diff --git a/CHANGELOG.md b/CHANGELOG.md index d8b7a9db8..3b45c0b19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # OpenCore Legacy Patcher changelog ## 3.0.0 +- Restore support for FileVault 2 on macOS 26 ## 2.4.0 - Reduce CPU usage on main UI thread diff --git a/opencore_legacy_patcher/constants.py b/opencore_legacy_patcher/constants.py index 0a8e62f52..d9e69990c 100644 --- a/opencore_legacy_patcher/constants.py +++ b/opencore_legacy_patcher/constants.py @@ -322,6 +322,10 @@ class Constants: return self.payload_path / Path("ACPI/SSDT-DGPU.aml") # Drivers + @property + def sequoia_apfs_driver_path(self): + return self.payload_path / Path("Drivers/apfs_aligned.efi") + @property def nvme_driver_path(self): return self.payload_path / Path("Drivers/NvmExpressDxe.efi") diff --git a/opencore_legacy_patcher/efi_builder/firmware.py b/opencore_legacy_patcher/efi_builder/firmware.py index c59e6686a..c247a6cd5 100644 --- a/opencore_legacy_patcher/efi_builder/firmware.py +++ b/opencore_legacy_patcher/efi_builder/firmware.py @@ -216,6 +216,14 @@ class BuildFirmware: if not "CPU Generation" in smbios_data.smbios_dictionary[self.model]: return + # APFS check + # The macOS 26 APFS EFI driver's FileVault 2 implementation is broken, and + # must be replaced with the macOS 15 APFS EFI driver. + logging.info("- Enabling macOS 26 FileVault 2 support") + self.config["UEFI"]["APFS"]["EnableJumpstart"] = False + shutil.copy(self.constants.sequoia_apfs_driver_path, self.constants.drivers_path) + support.BuildSupport(self.model, self.constants, self.config).get_efi_binary_by_path("apfs_aligned.efi", "UEFI", "Drivers")["Enabled"] = True + # Exfat check if smbios_data.smbios_dictionary[self.model]["CPU Generation"] < cpu_data.CPUGen.sandy_bridge.value: # Sandy Bridge and newer Macs natively support ExFat diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist index 7d1498f43..f548fb11d 100644 --- a/payloads/Config/config.plist +++ b/payloads/Config/config.plist @@ -2936,6 +2936,18 @@ LoadEarly + + Comment + + Path + apfs_aligned.efi + Enabled + + Arguments + + LoadEarly + + Comment diff --git a/payloads/Drivers/apfs_aligned.efi b/payloads/Drivers/apfs_aligned.efi new file mode 100644 index 000000000..0821fa7fd Binary files /dev/null and b/payloads/Drivers/apfs_aligned.efi differ