[Spice-devel] Fedora 25 guest no changing resolution correctly

Frediano Ziglio fziglio at redhat.com
Mon Oct 23 11:31:37 UTC 2017


> Hi

> El lun, 23-10-2017 a las 06:57 -0400, Frediano Ziglio escribió:

> > > Hello list,
> > 
> 

> > > Recently, we updated the Qemu version being used by flexVDI. We were
> > > using
> > > a
> > > pre-3.3 QXL device, so it did not provide the client_monitors_config
> > > callback and that message was getting through to the VDAgent, which in
> > > turn
> > > changed the resolution of the guest. This was working flawlessly both on
> > > Windows and Linux guests.
> > 
> 

> > > With the new version (we are using qemu v2.6.0 from RHEV 7.3 and
> > > spice-server
> > > v0.12.8 from RHEL 7.4, with a couple of small changes), the
> > > client_monitors_config callback gets called. This works correctly on
> > > Windows
> > > guests, but on Linux guests (tested mainly with Fedora 25, stock vdagent
> > > and
> > > QXL Xorg driver, which are quite up to date) the following happens when a
> > > resolution change is requested by the client:
> > 
> 
> > > - The new resolution is detected by the Xorg server, it can be seen with
> > > xrandr.
> > 
> 
> > > - If the old resolution was a custom one, the display changes to the new
> > > one.
> > 
> 
> > > - If the old resolution was a standard one (like 640x480, 1024x768,
> > > 1920x1080, etc), the display DOES NOT change to the new one.
> > 
> 
> > > I have read quickly through the list archive but found nothing about this
> > > problem. Is there something we are missing? Something else we should be
> > > upgrading too?
> > 
> 

> > > Possible solutions we are considering:
> > 
> 
> > > - Change to virtio-vga for Linux guests. However, we'd rather use the
> > > same
> > > graphics device for all guest types.
> > 
> 

> > this is more a workaround of the problem
> 

> > > - Do not filter the monitors config message and let the vdagent change
> > > the
> > > resolution.
> > 
> 

> > Sorry, not clear which component is filtering this message out.
> 
> > I have some remembrance that the path is a bit different from Windows to
> > Linux.
> 

> This message is captured by the Spice server. If the QXL device (provided by
> Qemu) implements a client_monitors_config callback, then the message is
> filtered out and the callback is called instead. This does not depend on
> whether the guest is Windows or Linux.

For QXL guest can set int_mask in order to filter the message or not (just checked), 
and I think Windows and Linux behave different in this. If I remember on Windows 
the message is handled by the agent which talk to the driver to set the resolution. 

> > > - Fix whatever needs to be fixed in order to make this work. However, we
> > > are
> > > not sure where the problem is. Spice server? Xorg? Qemu?
> > 
> 
> > > Do you have any comments on this?
> > 
> 

> > From your description and the fact that work on Windows guest looks like is
> > a
> > problem with the guest, either the agent or the kernel qxl driver.
> 

> That's what I think, too. And since the message is not received by the guest
> agent, I would say it is the qxl driver, either in the kernel or in Xorg.
> I'll try to see if there is something in there.

> > > Thanks in advance.
> > 
> 

Frediano 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20171023/89dfc4f5/attachment.html>


More information about the Spice-devel mailing list