Re: [PATCH 1/2] UefiPayloadPkg: Enable boot logo


Patrick Rudolph
 

Hi Guo,
Yes, the clear screen will remove the boot logo, if any, displayed by
the bootloader.
The EDK2 user that builds UefiPayloadPkg needs to add the bootloader
logo as part of the build process to keep this boot logo displayed.

It might be possible to keep the bootloader's boot logo by adding an
ACPI BGRT parser in the BlSupportDxe.

Regards,
Patrick Rudolph

On Wed, Jan 6, 2021 at 11:30 PM Dong, Guo <guo.dong@intel.com> wrote:


Hi Patrick,

I didn't look at the impl details. If the logo is shown from the bootloader, how it would be impacted in payload phase?
I saw you have clearscreen in this patch. Does it only move the logo to center of the screen?

Thanks,
Guo

-----Original Message-----
From: Patrick Rudolph <patrick.rudolph@9elements.com>
Sent: Wednesday, January 6, 2021 8:08 AM
To: devel@edk2.groups.io
Cc: Ma, Maurice <maurice.ma@intel.com>; Dong, Guo <guo.dong@intel.com>;
You, Benjamin <benjamin.you@intel.com>
Subject: [PATCH 1/2] UefiPayloadPkg: Enable boot logo

From: Tim Crawford <tcrawford@system76.com>

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
---
UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c
| 3 +++

UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
| 1 +
UefiPayloadPkg/UefiPayloadPkg.dsc | 2 ++
UefiPayloadPkg/UefiPayloadPkg.fdf | 2 ++
4 files changed, 8 insertions(+)

diff --git
a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c
b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c
index c5c6af0abc..2df2d5a02d 100644
---
a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c
+++
b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManager.c
@@ -216,6 +216,9 @@ PlatformBootManagerAfterConsole (
Black.Blue = Black.Green = Black.Red = Black.Reserved = 0;

White.Blue = White.Green = White.Red = White.Reserved = 0xFF;



+ gST->ConOut->ClearScreen (gST->ConOut);

+ BootLogoEnableLogo ();

+

EfiBootManagerConnectAll ();

EfiBootManagerRefreshAllBootOption ();



diff --git
a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.i
nf
b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.i
nf
index 1f5a0bcad0..beba973a70 100644
---
a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.i
nf
+++
b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.i
nf
@@ -39,6 +39,7 @@
UefiRuntimeServicesTableLib

UefiLib

UefiBootManagerLib

+ BootLogoLib

PcdLib

DxeServicesLib

MemoryAllocationLib

diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc
b/UefiPayloadPkg/UefiPayloadPkg.dsc
index ae62a9c4d6..1a084c479e 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -169,6 +169,7 @@
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf


SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/
DxeSecurityManagementLib.inf


UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootM
anagerLib.inf

+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf


CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/Customiz
edDisplayLib.inf


FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBlt
Lib.inf



@@ -389,6 +390,7 @@
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf

UefiCpuPkg/CpuDxe/CpuDxe.inf

MdeModulePkg/Universal/BdsDxe/BdsDxe.inf

+ MdeModulePkg/Logo/LogoDxe.inf

MdeModulePkg/Application/UiApp/UiApp.inf {

<LibraryClasses>


NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf

diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf
b/UefiPayloadPkg/UefiPayloadPkg.fdf
index a97ace7395..98d3fdea4a 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -112,6 +112,8 @@ INF
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
INF UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf



INF MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf

+INF MdeModulePkg/Logo/LogoDxe.inf

+

#

# PCI Support

#

--
2.26.2

Join devel@edk2.groups.io to automatically receive all group messages.