[Top][All Lists]

[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?


[1]: https://github.com/qemu/qemu/blob/v7.0.0/docs/pcie.txt

reply via email to

[Prev in Thread] Current Thread [Next in Thread]