Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: 929804b1721b73452a977f31af2d7de83193301b
https://github.com/tianocore/edk2/commit/929804b1721b73452a977f31af2d7de83193301b
Author: Gerd Hoffmann <[email protected]>
Date: 2022-01-29 (Sat, 29 Jan 2022)
Changed paths:
M OvmfPkg/AmdSev/AmdSevX64.dsc
M OvmfPkg/Microvm/MicrovmX64.dsc
M OvmfPkg/OvmfPkg.dec
M OvmfPkg/OvmfPkgIa32.dsc
M OvmfPkg/OvmfPkgIa32X64.dsc
M OvmfPkg/OvmfPkgX64.dsc
M OvmfPkg/OvmfXen.dsc
M OvmfPkg/PlatformDxe/Platform.c
M OvmfPkg/PlatformDxe/Platform.inf
Log Message:
-----------
OvmfPkg: add PcdVideoResolutionSource
It's a UINT8 (enum) PCD telling where the PcdVideoHorizontalResolution
and PcdVideoVerticalResolution values are coming from. It can be:
0 (unset aka default from dsc file), or
1 (from PlatformConfig), or
2 (set by Video Driver).
It will be used by video drivers to avoid overriding PlatformConfig
values, or override each others values in case multiple display devices
are present.
The underlying problem this tries to solve is that the GOP protocol has
no way to indicate the preferred video mode. On physical hardware this
isn't much of a problem because using the highest resolution available
works just fine as that is typically the native display resolution
But in a virtual machine you don't want come up with a huge 4k window by
default just because the virtual vga is able to handle that. Cutting
down the video mode list isn't a great solution either as that would
also remove the modes from the platform configuration so the user
wouldn't be able to pick a resolution higher than the default any more.
So with patch drivers can use use PcdVideoHorizontalResolution and
PcdVideoVerticalResolution to indicate what the preferred display
resolution is, without overwriting the user preferences from
PlatformConfig if present.
A possible alternative approach would be to extend the GOP protocol, but
I'm not sure this is a good plan given this is mostly a problem for
virtual machines and using PCDs allows to keep this local to OvmfPkg.
Signed-off-by: Gerd Hoffmann <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Commit: 7f25ddbc03094da582d9fc667ab89615b865aab1
https://github.com/tianocore/edk2/commit/7f25ddbc03094da582d9fc667ab89615b865aab1
Author: Gerd Hoffmann <[email protected]>
Date: 2022-01-29 (Sat, 29 Jan 2022)
Changed paths:
M OvmfPkg/QemuVideoDxe/Driver.c
M OvmfPkg/QemuVideoDxe/Gop.c
M OvmfPkg/QemuVideoDxe/Initialize.c
M OvmfPkg/QemuVideoDxe/Qemu.h
Log Message:
-----------
OvmfPkg/QemuVideoDxe: simplify InitializeBochsGraphicsMode
struct QEMU_VIDEO_MODE_DATA has all the data needed to set the video
mode, there is no need to take the extra indirection and use
struct QEMU_VIDEO_BOCHS_MODES.
Signed-off-by: Gerd Hoffmann <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Commit: 336da55ca8db7777907362daf6e3ca5c9357cf27
https://github.com/tianocore/edk2/commit/336da55ca8db7777907362daf6e3ca5c9357cf27
Author: Gerd Hoffmann <[email protected]>
Date: 2022-01-29 (Sat, 29 Jan 2022)
Changed paths:
M OvmfPkg/QemuVideoDxe/Initialize.c
M OvmfPkg/QemuVideoDxe/Qemu.h
Log Message:
-----------
OvmfPkg/QemuVideoDxe: drop QEMU_VIDEO_BOCHS_MODES->ColorDepth
All video modes in the list are 32-bit,
so drop the useless ColorDepth field.
Signed-off-by: Gerd Hoffmann <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Commit: 55c05427b90230f15f4807a4daa2876e5e2f4998
https://github.com/tianocore/edk2/commit/55c05427b90230f15f4807a4daa2876e5e2f4998
Author: Gerd Hoffmann <[email protected]>
Date: 2022-01-29 (Sat, 29 Jan 2022)
Changed paths:
M OvmfPkg/QemuVideoDxe/Initialize.c
Log Message:
-----------
OvmfPkg/QemuVideoDxe: factor out QemuVideoBochsAddMode
Add helper function to add a video mode to the list of modes.
Move code. Minor debug logging tweaks, no other functional
change.
Signed-off-by: Gerd Hoffmann <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Commit: 49a2d8cbf5191efd5c2709acd1a1e64f0d9599de
https://github.com/tianocore/edk2/commit/49a2d8cbf5191efd5c2709acd1a1e64f0d9599de
Author: Gerd Hoffmann <[email protected]>
Date: 2022-01-29 (Sat, 29 Jan 2022)
Changed paths:
M OvmfPkg/QemuVideoDxe/Initialize.c
M OvmfPkg/QemuVideoDxe/Qemu.h
M OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
Log Message:
-----------
OvmfPkg/QemuVideoDxe: parse edid blob, detect display resolution
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 <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Compare: https://github.com/tianocore/edk2/compare/e95b44c90eed...49a2d8cbf519
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits