Check whenever an EDID blob is present. In case it is get the display resolution from it. Unless PcdVideoResolutionSource indicates the display resolution has been set already, update PcdVideoHorizontalResolution and PcdVideoVerticalResolution accordingly. Also add the resolution to the mode list. This will make OVMF boot up with the display resolution configured by QEMU, which is 1280x800 by default. The resolution can be set using the xres and yres properties. Here is an example for FullHD: qemu-system-x86_64 -device VGA,xres=1920,yres=1080 Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3778 Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1749250 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
70 lines
1.8 KiB
INI
70 lines
1.8 KiB
INI
## @file
|
|
# This driver is a sample implementation of the Graphics Output Protocol for
|
|
# the QEMU (Cirrus Logic 5446) video controller.
|
|
#
|
|
# Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = QemuVideoDxe
|
|
FILE_GUID = e3752948-b9a1-4770-90c4-df41c38986be
|
|
MODULE_TYPE = UEFI_DRIVER
|
|
VERSION_STRING = 1.0
|
|
|
|
ENTRY_POINT = InitializeQemuVideo
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC
|
|
#
|
|
# DRIVER_BINDING = gQemuVideoDriverBinding
|
|
# COMPONENT_NAME = gQemuVideoComponentName
|
|
#
|
|
|
|
[Sources.common]
|
|
ComponentName.c
|
|
Driver.c
|
|
Gop.c
|
|
Initialize.c
|
|
Qemu.h
|
|
|
|
[Sources.Ia32, Sources.X64]
|
|
VbeShim.c
|
|
VbeShim.h
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
OvmfPkg/OvmfPkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseMemoryLib
|
|
FrameBufferBltLib
|
|
DebugLib
|
|
DevicePathLib
|
|
MemoryAllocationLib
|
|
PcdLib
|
|
PciLib
|
|
PrintLib
|
|
TimerLib
|
|
UefiBootServicesTableLib
|
|
UefiDriverEntryPoint
|
|
UefiLib
|
|
|
|
[Protocols]
|
|
gEfiGraphicsOutputProtocolGuid # PROTOCOL BY_START
|
|
gEfiDevicePathProtocolGuid # PROTOCOL BY_START
|
|
gEfiPciIoProtocolGuid # PROTOCOL TO_START
|
|
|
|
[Pcd]
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdVideoResolutionSource
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution
|