[Spice-devel] Add support for A8 bitmap format

Yaniv Kaul ykaul at redhat.com
Sun Jun 17 02:51:31 PDT 2012


On 06/17/2012 12:03 PM, Alon Levy wrote:
> On Sat, Jun 16, 2012 at 01:57:49AM -0400, Yaniv Kaul wrote:
>> ----- Original Message -----
>>> Hello,
>>>
>>> The following patches add support for a new A8 bitmap format, and for
>>> LZ compression of it. This format is heavliy used by the X server
>>> Render extension for glyphs and geometry information.
>>>
>>> I have verified that the patches with an experiemental version of the
>>> QXL X driver that can generate such pixmaps in the video memory of
>>> the
>>> QXL device.
>>>
>>> Thanks,
>>> Soren
>> - I'm not sure I understand how'll it work with older clients (need feature negotiation, but from guest driver to server and from server to client?). The driver would have to follow whatever the client that is connected to it can work with? I guess we need to solve the general problem of how a new feature in the driver that affects the client should be handled, this is a private case of it.
>> Y.
>>
> Perhaps this is really required in this case. We could do something like
> the following:
>
> Device memory: add client_capabilities == SPICE_DISPALY_CAP_*
> Device added INTERRUPT_CLIENT_CAPS_UPDATED
> Server QXLInterface->update_client_capabilities
> Server & Client SPICE_DISPLAY_CAP_A8
>
> Only problem with this approach is that the driver doesn't have an
> interrupt handler, and it won't until we move to KMS.
>
> Heavy handed alternative:
>   - Filter the messages in the server and translate any A8 message to ??

I'm in favor of this one.

However, I also forgot about the following scenario:
Running old spice server, old QXL driver in VM on host A
VM migrates to host B, which has a new spice server, supporting A8.
User updates driver to get A8 functionality.
VM migrates back to host A (reminder: has old server that is not aware 
of A8).

Not sure what happens now.
Y.

>   - Don't allow clients to connect without CAP_A8 if server advertises
>     it, & advertise it iff some magic qemu command line, i.e. -device
>     qxl,use_a8=1 . Driver will see the same parameter.
>
> I guess I'm advocating the last option - for older client support we run
> without use_a8=1, also for windows guests. For better performing new
> xf86 driver we use use_a8=1 and require new clients as a result.
>
>>>
>>> _______________________________________________
>>> Spice-devel mailing list
>>> Spice-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>>>
>> _______________________________________________
>> Spice-devel mailing list
>> Spice-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/spice-devel




More information about the Spice-devel mailing list