diff --git a/CHANGELOG.md b/CHANGELOG.md index 25462bf96..b46477823 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # OpenCore Legacy Patcher changelog ## 1.5.0 +- Patch SkipLogo on Macs that natively support Monterey or newer + - Resolves missing Apple logo on boot screen - Increment Binaries: - OpenCorePkg 0.9.9 - release diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist index ea62189e1..005812531 100644 --- a/payloads/Config/config.plist +++ b/payloads/Config/config.plist @@ -265,6 +265,30 @@ Skip 0 + + Arch + x86_64 + Comment + Patch SkipLogo + Count + 0 + Enabled + + Find + UwBrAGkAcABMAG8AZwBv + Identifier + Apple + Limit + 0 + Mask + + Replace + QQBrAGkAcABMAG8AZwBv + ReplaceMask + + Skip + 0 + Quirks diff --git a/resources/build/firmware.py b/resources/build/firmware.py index 75b5396c5..866ec2c10 100644 --- a/resources/build/firmware.py +++ b/resources/build/firmware.py @@ -9,7 +9,7 @@ from pathlib import Path from resources import constants, generate_smbios, device_probe from resources.build import support -from data import smbios_data, cpu_data +from data import smbios_data, cpu_data, os_data class BuildFirmware: @@ -38,6 +38,22 @@ class BuildFirmware: self._acpi_handling() self._firmware_driver_handling() self._firmware_compatibility_handling() + self._apple_logo_handling() + + def _apple_logo_handling(self) -> None: + """ + Apple logo Handling + """ + + # Macs that natively support Monterey (excluding MacPro6,1 and Macmini7,1) won't have boot.efi draw the Apple logo. + # This causes a cosmetic issue when booting through OpenCore, as the Apple logo will be missing. + + if not self.model in smbios_data.smbios_dictionary: + return + + if smbios_data.smbios_dictionary[self.model]["Max OS Supported"] >= os_data.os_data.monterey and self.model not in ["MacPro6,1", "Macmini7,1"]: + logging.info("- Enabling Boot Logo patch") + support.BuildSupport(self.model, self.constants, self.config).get_item_by_kv(self.config["Booter"]["Patch"], "Comment", "Patch SkipLogo")["Enabled"] = True def _power_management_handling(self) -> None: