[Spice-devel] Client Graphics Filtering

Yaniv Kaul ykaul at redhat.com
Wed Apr 25 01:11:32 PDT 2012


On 04/25/2012 10:41 AM, Yonit Halperin wrote:
> On 04/25/2012 08:32 AM, Noel Van Hook wrote:
>> If I recall my windows drivers correctly, I don't think the driver
>> even knows what application owns the buffer it is drawing into.
>>
> IIUC, the implementation involves guest components that track down the
> relevant bitmaps.
>
> Yonit.

The RDP implementation for it is available (open source) @
http://www.cendio.com/seamlessrdp/
Y.

>> Noel
>>
>> On Tue, Apr 24, 2012 at 11:43 AM, Yonit Halperin<yhalperi at redhat.com>  wrote:
>>> Hi,
>>>
>>> On 04/24/2012 09:12 AM, Alon Levy wrote:
>>>> On Tue, Apr 24, 2012 at 09:47:47AM +0800, 蒋媛园 wrote:
>>>>>   Hi
>>>>>     I want to filter the graphics to the client. For example, only the
>>>>> graphics of a calculator(in guest OS Win7) are send to the client.
>>>>>     I know that there is always the possibility of falling all the way
>>>>> back to CPU drawing to a memory bitmap which is then copied to the client.
>>>>>     Now, I have filtered the drawing commands on device-managed surfaces
>>>>> which belong to some app.exe. However I don't know how to control the
>>>>> engine-managed surfaces, namely those pre-rendered bitmaps. I didn't find
>>>>> related code in QXL driver.
>>>>>     Could you please give me some advice? I really need some help.
>>>>>
>>> I'm not sure I understand exactly what you mean. I guess that by
>>> engine-managed, you mean gdi bitmaps? When the destination of a drawing
>>> operation is a gdi bitmap, the client doesn't know about this operation. The
>>> driver renders the src* of the operation if needed (if it is a device
>>> managed bitmap), copies the relevant src area to a new gdi bitmap, and
>>> fallback to a Gdi call, with the "copied src" and original dest.
>>> If the destination is a device managed bitmap, and the src* is a gdi managed
>>> bitmap, the gdi bitmap is copied to the device memory, and the corresponding
>>> qxl drawing command is sent to the server together with the reference to the
>>> copied bitmap.
>>>
>>> * There can be multiple references to bitmaps in one qxl command
>>> (src/mask/brush), and each one can be a bitmap (gdi/device)
>>>
>>> Regards,
>>> Yonit.
>>>>
>>>> Great to hear someone is working on this, I don't have an answer though,
>>>> Yonit, any idea maybe?
>>>>
>>>>> Thanks in advance
>>>>>   Best Regards!
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 网易Lofter,专注兴趣,分享创作!
>>>>
>>> _______________________________________________
>>> 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