[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 14/20] edid: set default resolution to 1280x800 (WXGA)
From: |
Gerd Hoffmann |
Subject: |
[PULL 14/20] edid: set default resolution to 1280x800 (WXGA) |
Date: |
Fri, 14 Jan 2022 07:53:20 +0100 |
From: Daniel P. Berrangé <berrange@redhat.com>
Currently QEMU defaults to a resolution of 1024x768 when exposing EDID
info to the guest OS. The EDID default info is important as this will
influence what resolution many guest OS will configure the screen with
on boot. It can also potentially influence what resolution the firmware
will configure the screen with, though until very recently EDK2 would
not handle EDID info.
One important thing to bear in mind is that the default graphics card
driver provided by Windows will leave the display set to whatever
resolution was enabled by the firmware on boot. Even if sufficient
VRAM is available, the resolution can't be changed without installing
new drivers. IOW, the default resolution choice is quite important
for usability of Windows.
Modern real world monitor hardware for desktop/laptop has supported
resolutions higher than 1024x768 for a long time now, perhaps as long
as 15+ years. There are quite a wide variety of native resolutions in
use today, however, and in wide screen form factors the height may not
be all that tall.
None the less, it is considered that there is scope for making the
QEMU default resolution slightly larger.
In considering what possible new default could be suitable, choices
considered were 1280x720 (720p), 1280x800 (WXGA) and 1280x1024 (SXGA).
In many ways, vertical space is the most important, and so 720p was
discarded due to loosing vertical space, despite being 25% wider.
The SXGA resolution would be good, but when taking into account
window titlebars/toolbars and window manager desktop UI, this might
be a little too tall for some users to fit the guest on their physical
montior.
This patch thus suggests a modest change to 1280x800 (WXGA). This
only consumes 1 MB per colour channel, allowing double buffered
framebuffer in 8 MB of VRAM. Width wise this is 25% larger than
QEMU's current default, but height wise this only adds 5%, so the
difference isn't massive on the QEMU side.
Overall there doesn't appear to be a compelling reason to stick
with 1024x768 resolution.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Message-Id: <20211129140508.1745130-1-berrange@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
include/hw/virtio/virtio-gpu.h | 4 ++--
hw/display/edid-generate.c | 4 ++--
qemu-edid.c | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index acfba7c76c10..2179b757037a 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -147,8 +147,8 @@ struct VirtIOGPUBaseClass {
DEFINE_PROP_UINT32("max_outputs", _state, _conf.max_outputs, 1), \
DEFINE_PROP_BIT("edid", _state, _conf.flags, \
VIRTIO_GPU_FLAG_EDID_ENABLED, true), \
- DEFINE_PROP_UINT32("xres", _state, _conf.xres, 1024), \
- DEFINE_PROP_UINT32("yres", _state, _conf.yres, 768)
+ DEFINE_PROP_UINT32("xres", _state, _conf.xres, 1280), \
+ DEFINE_PROP_UINT32("yres", _state, _conf.yres, 800)
typedef struct VGPUDMABuf {
QemuDmaBuf buf;
diff --git a/hw/display/edid-generate.c b/hw/display/edid-generate.c
index f2b874d5e358..6f5ac6a38ad8 100644
--- a/hw/display/edid-generate.c
+++ b/hw/display/edid-generate.c
@@ -401,10 +401,10 @@ void qemu_edid_generate(uint8_t *edid, size_t size,
info->name = "QEMU Monitor";
}
if (!info->prefx) {
- info->prefx = 1024;
+ info->prefx = 1280;
}
if (!info->prefy) {
- info->prefy = 768;
+ info->prefy = 800;
}
if (info->prefx >= 4096 || info->prefy >= 4096) {
large_screen = 1;
diff --git a/qemu-edid.c b/qemu-edid.c
index c3a9fba10dc4..20c958d9c7eb 100644
--- a/qemu-edid.c
+++ b/qemu-edid.c
@@ -10,8 +10,8 @@
#include "hw/display/edid.h"
static qemu_edid_info info = {
- .prefx = 1024,
- .prefy = 768,
+ .prefx = 1280,
+ .prefy = 800,
};
static void usage(FILE *out)
--
2.34.1
- [PULL 04/20] jackaudio: use ifdefs to hide unavailable functions, (continued)
- [PULL 04/20] jackaudio: use ifdefs to hide unavailable functions, Gerd Hoffmann, 2022/01/14
- [PULL 09/20] uas: add missing return, Gerd Hoffmann, 2022/01/14
- [PULL 06/20] hw/audio/intel-hda: fix stream reset, Gerd Hoffmann, 2022/01/14
- [PULL 11/20] hw/display/vga-mmio: Inline vga_mm_init(), Gerd Hoffmann, 2022/01/14
- [PULL 12/20] hw/display/vga-mmio: QOM'ify vga_mmio_init() as TYPE_VGA_MMIO, Gerd Hoffmann, 2022/01/14
- [PULL 15/20] edid: Added support for 4k@60 Hz monitor, Gerd Hoffmann, 2022/01/14
- [PULL 20/20] ui/input-legacy: pass horizontal scroll information, Gerd Hoffmann, 2022/01/14
- [PULL 07/20] ui/dbus: fix buffer-overflow detected by ASAN, Gerd Hoffmann, 2022/01/14
- [PULL 13/20] hw/mips/jazz: Inline vga_mmio_init() and remove it, Gerd Hoffmann, 2022/01/14
- [PULL 17/20] ui/cocoa: pass horizontal scroll information to the device code, Gerd Hoffmann, 2022/01/14
- [PULL 14/20] edid: set default resolution to 1280x800 (WXGA),
Gerd Hoffmann <=
- [PULL 16/20] ps2: Initial horizontal scroll support, Gerd Hoffmann, 2022/01/14
- [PULL 18/20] ui/gtk: pass horizontal scroll information to the device code, Gerd Hoffmann, 2022/01/14
- [PULL 19/20] ui/sdl2: pass horizontal scroll information to the device code, Gerd Hoffmann, 2022/01/14
- Re: [PULL 00/20] Kraxel 20220114 patches, Peter Maydell, 2022/01/14