[libvirt] [RFC PATCH 0/7] Enable vfio-pci 'property' for mediated devices

Erik Skultety eskultet at redhat.com
Thu Jun 7 07:54:21 UTC 2018


On Thu, Jun 07, 2018 at 08:01:23AM +0200, Gerd Hoffmann wrote:
> On Wed, Jun 06, 2018 at 02:49:24PM +0200, Erik Skultety wrote:
> > On Tue, Jun 05, 2018 at 11:52:03AM +0200, Gerd Hoffmann wrote:
> > >   Hi,
> > >
> > > > > TL;DR:
> > > > > - we have a new attribute value for vfio-pci mediated devices called 'display'
> > > > >     -> devices can now format this new 'display=on/off' property to the cmdline
> > >
> > > Good.
> > >
> > > > > - if user enables the vfio display (display=on) but doesn't enable OpenGL for
> > > > >     Spice, we automatically assume the usage of '-display egl-headless'
> > >
> > > Hmm, I think it would be better to have egl-headless explicitly
> > > configured in the domain xml instead of doing it automagically depending
> > > on configuration.
> >
> > I was thinking about that earlier, then we had a private conversation where I
> > asked why there's no documentation on egl-headless in QEMU to which you replied
> > that the future of egl-headless being uncertain, especially once there's remote
> > opengl renderer support (as opposed to local nowadays). So I took a bit of a
> > safe path here and only made the changes to the command line, thus leaving us
> > with a way of easily ditching that if QEMU decides to deprecate egl-headless
> > completely. So, if QEMU can guarantee supporting egl-headless (of course you
> > can discourage usage of it...) then we surely can expose it through the XML,
>
> Well, I guess if libvirt uses it it pretty much has to stay anyway ...

It would be beneficial to add it to the man page and/or --help output then.

>
> It isn't much of a burden code-wise, most of the underlying egl/opengl
> code is needed for -spice gl=on too.  It is just that once spice got
> remote support for gl=on mode it is alot less useful because native
> spice support clearly is the better route performance-wise.
>
> > egl-headless was introduced in 2.10 IIRC, but I don't see any way for libvirt
> > to use any kind of introspection here, there's no capability for egl-headless,
>
> Yea, right, isn't there.
>
> > I see it defined as a value for DisplayType in the qapi scheme (ui.json), but
> > I don't see any query command.
>
> Also the enum is alwayws present, no matter whenever qemu was compiled
> with opengl support or not.  So even in case you could query it it
> wouldn't buy you anything.

In which case the only thing we can do is let qemu fail with an internal error
rather than failing in libvirt because of a missing capability.

>
> How is spice/vnc support probed for btw?

we execute 'query-commands' and then looking for in "query-spice" and
"query-vnc" literals in the list of returned commands.

Erik




More information about the libvir-list mailing list