Re: [RFC] default video device type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 13, 2019 at 05:16:51PM -0500, Cole Robinson wrote:
On 11/13/19 8:22 AM, Martin Kletzander wrote:
On Mon, Oct 07, 2019 at 02:56:11PM +0200, Pavel Mores wrote:

Hi,

I'm looking into fixing

https://bugzilla.redhat.com/show_bug.cgi?id=1668141

(as a short summary, if a graphics device is added to XML that has no
video
device, libvirt automatically adds a video device which is always of type
'cirrus' - even if the underlying qemu doesn't support cirrus).

I'm able to affect the behaviour in question by using qemu
capabilities in
qemuDomainDeviceVideoDefPostParse(), see proof-of-concept change in
[1].  I
have a couple of questions though:

1) is this a proper place and approach to fix the bug?

I don't think so because the guest ABI could change.  Imagine there is an
application that just starts a simple VM (with graphics with no model)
and out
of nowhere (after a long time) they upgrade libvirt and qemu and the VM
will
look differently.

2) what would be the full specification of expected behaviour?  The
bug report
  only states that the video type shouldn't be cirrus but doesn't say
what it
  should be. [2] gives some information about the order of preference
of video
  device types but I was wondering if there are any opinions about
this on this
  list?


Reading the BZ it looks to me like virt-manager should allow choosing
cirrus and
the different default could be chosen in virt-manager.  The BZ is not well
described, to be honest.

My take on the bug was: libvirt shouldn't use a default configuration
that we blatantly know will result in unbootable qemu. So, don't use
cirrus when qemuCaps tells us that the qemu binary definitely doesn't
have cirrus support.


Oh, I missed that.  I was going through old tagged e-mails with no reply, that's
how I got here.  If this resulted in unbootable qemu, that's of course something
we can and should change.

Pavel's v2 series changes the behavior to:

* use cirrus if it's available, so current working behavior is maintained
* if cirrus is unavailable but vga _is_ available, use that. this fixes
the rhel case, but also likely fixes the default for non-x86 archs that
didn't ever have cirrus
* if cirrus and vga aren't available, explicitly error that the user
needs to specify a video model because we didn't find one for them.

Which all sounds good to me.


Me too!  Thanks for the update.

Thanks,
Cole

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux