[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug 1896561] [NEW] EFI GOP Mode 1366x768
From: |
Benjamin David Lunt |
Subject: |
[Bug 1896561] [NEW] EFI GOP Mode 1366x768 |
Date: |
Tue, 22 Sep 2020 02:52:04 -0000 |
Public bug reported:
When using the EFI firmware from
https://www.kraxel.org/repos/jenkins/edk2/
(https://www.kraxel.org/repos/jenkins/edk2/edk2.git-
ovmf-x64-0-20200919.1453.g7faece6985.noarch.rpm) (OVMF-pure-efi.fd and
OVMF_VARS-pure-efi.fd) then using the GOP, setting the mode to 1366x768,
QEMU uses a width of 1360 instead.
I am using QEMU for windows (https://qemu.weilnetz.de/) on a Windows 10
machine.
To verify, while in the EFI firmware loaded code (within BOOTx64.EFI)
and before ExitBootServices(), I choose the 1360x768 mode. I then took
notice of where the host window was and how many pixels it occupied. I
then reset the emulation (without quitting) and chose the 1366x768 mode.
QEMU set the host window to the exact same width as the 1360 mode.
i.e.: The same exact pixels where shown in the host background. The
window did not expand the extra 6 pixels.
I allowed the firmware to run its course to my test environment when
using mode 1366x768, all pixels are 6 pixels off to the right. i.e.: 6
pixels down the Frame Buffer. If my test environment changes its HORZ
WIDTH and PIXELS PER SCANLINE to 1360 while using this (1366x768) mode,
the display is correct.
This told me that it could be a few things.
1) Since most (I didn't check them all) of the other modes have the width
value's bits 2:0 clear, mode 1366x768 is the only mode the EDK2 firmware has
with a width where bits 2:0 are not zero. Could EDK2 or QEMU (which for the
Windows version may use SDL2 so it must be considered here) be clearing these
bits? The value of 1366 when clearing bits 2:0 is 1360.
2) Could there be a typo in the code EDK2 where the width should have been 1366?
(I went looking at both QEMU (for Windows) and EDK2 and after looking at many
lines of code, I could not find anywhere where this might happen.
By the way, in /ui/sdl2-2d.c (QEMU Windows version only?), there is a
typo in a comment, missing the second 'e':
Line 156: * the native ones. Thes are the ones I have tested.
3) Could EDK2 be sending 1360 instead of 1366?
4) Could QEMU (passing it on to SDL2 in SDL_SetWindowSize()?) be destroying the
value (bottom three bits)?
Anyway, using the latest version of the EDK2 from the URL listed above,
choosing the 1366x768 mode, does not set QEMU (for Windows) to 1366
pixels in width.
Ben
** Affects: qemu
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1896561
Title:
EFI GOP Mode 1366x768
Status in QEMU:
New
Bug description:
When using the EFI firmware from
https://www.kraxel.org/repos/jenkins/edk2/
(https://www.kraxel.org/repos/jenkins/edk2/edk2.git-
ovmf-x64-0-20200919.1453.g7faece6985.noarch.rpm) (OVMF-pure-efi.fd and
OVMF_VARS-pure-efi.fd) then using the GOP, setting the mode to
1366x768, QEMU uses a width of 1360 instead.
I am using QEMU for windows (https://qemu.weilnetz.de/) on a Windows
10 machine.
To verify, while in the EFI firmware loaded code (within BOOTx64.EFI)
and before ExitBootServices(), I choose the 1360x768 mode. I then
took notice of where the host window was and how many pixels it
occupied. I then reset the emulation (without quitting) and chose the
1366x768 mode. QEMU set the host window to the exact same width as
the 1360 mode. i.e.: The same exact pixels where shown in the host
background. The window did not expand the extra 6 pixels.
I allowed the firmware to run its course to my test environment when
using mode 1366x768, all pixels are 6 pixels off to the right. i.e.:
6 pixels down the Frame Buffer. If my test environment changes its
HORZ WIDTH and PIXELS PER SCANLINE to 1360 while using this (1366x768)
mode, the display is correct.
This told me that it could be a few things.
1) Since most (I didn't check them all) of the other modes have the width
value's bits 2:0 clear, mode 1366x768 is the only mode the EDK2 firmware has
with a width where bits 2:0 are not zero. Could EDK2 or QEMU (which for the
Windows version may use SDL2 so it must be considered here) be clearing these
bits? The value of 1366 when clearing bits 2:0 is 1360.
2) Could there be a typo in the code EDK2 where the width should have been
1366?
(I went looking at both QEMU (for Windows) and EDK2 and after looking at many
lines of code, I could not find anywhere where this might happen.
By the way, in /ui/sdl2-2d.c (QEMU Windows version only?), there is a
typo in a comment, missing the second 'e':
Line 156: * the native ones. Thes are the ones I have tested.
3) Could EDK2 be sending 1360 instead of 1366?
4) Could QEMU (passing it on to SDL2 in SDL_SetWindowSize()?) be destroying
the value (bottom three bits)?
Anyway, using the latest version of the EDK2 from the URL listed
above, choosing the 1366x768 mode, does not set QEMU (for Windows) to
1366 pixels in width.
Ben
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1896561/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug 1896561] [NEW] EFI GOP Mode 1366x768,
Benjamin David Lunt <=