On 09/16/16 15:06, Andrea Bolognani wrote:
On Fri, 2016-09-16 at 14:43 +0200, Pavel Hrdina wrote:
> On Fri, Sep 16, 2016 at 09:30:23AM +0200, Laszlo Ersek wrote:
>> Most of QEMU's PCI display device models, such as:
>
> Pushed, thanks.
Thanks Pavel!
Ouch, you were too fast! ;)
There is something I wanted to clarify with Laszlo: is
virtio-gpu-pci ever going to be usable on other architectures
such as x86_64? Maybe it already is? Because if that's the
case, we'll want to be able to choose between virtio-vga and
virtio-gpu-pci.
One solution would be to keep mapping model='virtio' to
virtio-vga and create a new model='virtio-gpu' that maps to
virtio-gpu-pci, then forbid aarch64 mach-virt guests to use
model='virtio'. Or something like that, I'm not married to
the idea, I just think it's something we should definitely
think about before this ends up in a release.
I considered this (I think we may have even discussed something like
this downstream, with Marc-André et al... I'm quite vague on it now),
but being this precise about it in the domain XML doesn't bring a lot of
benefits.
Namely, the simple truth is, wherever virtio-vga works, you want
virtio-vga. The VGA compat framebuffer is beneficial -- as its name says
-- for compatibility reasons, for boot firmware and for unaccelerated (=
default) guest OS drivers. For example, in x86_64 guests, you likely
never explicitly want virtio-gpu-pci over virtio-vga, because the UEFI
Windows (8, 10) boot loaders will never work with the former, but they
(and the runtime OSes themselves) nicely work with virtio-vga, due to
the compat framebuffer.
So, really, virtio-vga is the sane default, and the only reason to ever
want virtio-gpu-pci -- as a primary graphics card -- is if virtio-vga is
unusable for architectural reasons.
Thanks
Laszlo