[Spice-devel] Display configuration with 4 displays

Jonathon Jongsma jjongsma at redhat.com
Tue Dec 3 13:47:37 PST 2013


I've mentioned this issue to several people on IRC already, but Hans suggested that I bring it up on the email list to get some additional input. The issue I'm investigating is bug 1008312 [1], in which the guest display configuration misbehaves when you enable and maximize 4 displays. What happens is that the vdagent reverts to a previous configuration because it is unable to reconfigure the displays as requested. Hans suggested that this is a known issue when the QXL driver has insufficient video memory. I attempted to verify that explanation by increasing my QXL video RAM from 64MB to 128MB[2], but it still didn't work. Looking at the XOrg logs, I noticed the following messages whenever the re-configuration failed:

[ 13499.334] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 5120x820
[ 13499.334] resizing primary to 5120x820
[ 13499.334] resizing surface0 to 16793600
[ 13499.334] resizing surface0 compiled out
[ 13499.334] not resizing primary to virtual, leaving old virtual

I asked Alon about these lines and he suggested that these messages were expected -- this resizable surface stuff is ifdef'ed out because it's still WIP. That means that the QXL driver has a fixed surface size that can't be resized.  Which is fine -- I don't care too much if the surface is not resizable as long as it's large enough to not *require* resizing.  But notice that the driver attempts to resize the surface whenever the surface0 size exceeds about 16M (16793600). It seems that this value comes from VGA_RAM_SIZE, which is hard-coded as (16 * 1024 * 1024) in spiceqxl_driver.h, regardless of what I configure my QXL video memory to be.  Is this expected behavior?

Jonathon


[1] https://bugzilla.redhat.com/show_bug.cgi?id=1008312
[2] values greater than 128MB prevented the vm from booting for some reason, but that's a different story...


More information about the Spice-devel mailing list