From 1713bfe6c3e9a812e39d6188063d979299ff5289 Mon Sep 17 00:00:00 2001 From: Jazzzny Date: Tue, 12 Mar 2024 19:04:54 -0400 Subject: [PATCH] Add SkipLogo patch --- CHANGELOG.md | 2 ++ payloads/Config/config.plist | 24 ++++++++++++++++++++++++ resources/build/firmware.py | 20 +++++++++++++++++++- 3 files changed, 45 insertions(+), 1 deletion(-) 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..2b2758cb5 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,24 @@ 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) 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 not "Max OS Supported" in smbios_data.smbios_dictionary[self.model]: + return + + if smbios_data.smbios_dictionary[self.model]["Max OS Supported"] >= os_data.os_data.monterey and self.model != "MacPro6,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: