
On Thu, Aug 29, 2019 at 12:19:49PM +0200, Gerd Hoffmann wrote:
Hi,
Incidentally, and I haven't followed this closely so apologies if I'm asking a silly question, if the point of bochs-display is to have a video device without legacy VGA emulation then why aren't we using the existing virtio-gpu, which has been around a lot longer and has better support throughout the stack, instead?
Well, virtio-gpu (on x86) actually is "-device virtio-vga". That comes with legacy VGA emulation, for the boot display ...
For UEFI guests with virtio-gpu support it is possible to use "-display virtio-gpu-pci" instead (simliar to arm). Only drawback is that you can't have a EFI GOB with virtio-gpu-pci, so efifb doesn't work. Linux kernel console shows up after the virtio-gpu driver loads, which is rather late compared to efifb.
For UEFI guests without virtio-gpu support "-device virtio-gpu-pci" will not work due to the lack of EFI GOB support. For these guests "-display bochs-display" should preferred over "-device VGA", to get rid of the unused legacy VGA emulation (and thereby reduce the attack surface).
Also note that bochs-display can be plugged into pcie slots (that is true for virtio-gpu-pci too btw).
BTW a while ago you did a really helpful blog post describing best usage for each display type https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ there's been quite a few changes since then with virtio-vga and bochs-display arriving, so it would be awesome if you wrote an updated blog post, or even added something to the main qemu-doc.texi doc giving recommandations for what to use for guests. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|