[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
virtio-vga: PCI Express Root Port reduces VGA/VESA modes
From: |
Kevin Locke |
Subject: |
virtio-vga: PCI Express Root Port reduces VGA/VESA modes |
Date: |
Tue, 31 May 2022 16:04:08 -0600 |
Hi All,
By default, a virtio-vga device is placed at bus=pcie.0,addr=0x1 (both
by QEMU and by virt-manager and virt-install when creating a domain).
For example:
qemu-system-x86_64 \
-no-user-config \
-nodefaults \
-machine pc-q35-7.0,accel=kvm \
-m 2G \
-cdrom "$iso" \
-device virtio-vga
This works well. However, if I understand correctly, it does not
follow the QEMU PCI Express Guidelines[1] which recommend only placing
legacy PCI devices on the Root Complex. If virtio-vga is attached to
a PCI Express Root Port as recommended:
qemu-system-x86_64 \
-no-user-config \
-nodefaults \
-machine pc-q35-7.0,accel=kvm \
-m 2G \
-cdrom "$iso" \
-device pcie-root-port,id=root_port1,bus=pcie.0 \
-device virtio-vga,bus=root_port1
The guest is only able to use a reduced set of VGA/VESA modes. For
example, the Windows 10 (or 11) installer appears at 640x480 in
grayscale. Another example: Booting Linux with vga=ask shows 12 text
modes, rather than the ~100 modes, including non-text modes, shown in
the default configuration. In both cases, once the virtio-vga guest
drivers are used, everything works fine. That makes it a minor issue
once the drivers are configured, but it can make the initial
installation and configuration of the guest rather frustrating.
Can anyone help me understand what's going on? Am I misunderstanding
the guidelines, or is this case an exception, or a virtio-vga or
vgabios issue, or something else?
Thanks,
Kevin
[1]: https://github.com/qemu/qemu/blob/v7.0.0/docs/pcie.txt
- virtio-vga: PCI Express Root Port reduces VGA/VESA modes,
Kevin Locke <=