From 7487c3a440052a9017a2249f4a1606eda43e857a Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Thu, 23 Jul 2026 14:56:37 +0100 Subject: [PATCH 1/2] UefiPayloadPkg/PlatformBootManager: clear screen before boot Clear text when the keypress timeout expires, then restore the boot logo before starting the default boot option. Signed-off-by: Matt DeVillier --- .../Library/PlatformBootManagerLib/PlatformBootManager.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c index 0788d850ab..79199c7bc2 100644 --- a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c +++ b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c @@ -383,6 +383,11 @@ PlatformBootManagerWaitCallback ( UINT16 TimeoutRemain ) { + /* Clear text from screen once timeout expires */ + if (TimeoutRemain == 0) { + gST->ConOut->ClearScreen (gST->ConOut); + BootLogoEnableLogo (); + } return; } From 2f6f9fe47b77abdf55c3d549d089bb167f8466c2 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Thu, 23 Jul 2026 14:56:37 +0100 Subject: [PATCH 2/2] MdeModulePkg/BdsDxe: set timeout to zero after keypress Pass zero to the wait callback after a hotkey is detected so the platform can clear the timeout UI immediately. Signed-off-by: Matt DeVillier --- MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 1 + 1 file changed, 1 insertion(+) diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c index 8c4064c191..e00cd0bb80 100644 --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c @@ -332,6 +332,7 @@ BdsWait ( if (HotkeyTriggered != NULL) { Status = BdsWaitForSingleEvent (HotkeyTriggered, EFI_TIMER_PERIOD_SECONDS (1)); if (!EFI_ERROR (Status)) { + TimeoutRemain = 0; break; } } else {