[winswitch] [Spice-devel] Use spice to show individual X clients like xpra does?

Antoine Martin antoine at nagafix.co.uk
Tue Sep 10 15:31:10 BST 2013


On 10/09/13 01:16, Alon Levy wrote:
>> Hi
>>
>> ----- Original Message -----
>>> Hi,
>>>
>>> I've played around a bit with xpra[1]. Xpra (AFAIK) starts an X server with
>>> a
>>> dummy video driver (or xvfb?) on the remote machine and a client xpra
>>> process
>>> on the local machine shows remote application windows just like they would
>>> run
>>> locally.
>>>
>>> [1] http://xpra.org
>>>
>>> Xpra also forwards sound, clipboard and microfon. So it seems to me that
>>> there
>>> is some overlap with spice.
>>>
>>> It would be cool, if I could use spice in the same way, to see virtual
>>> machine
>>> X clients integrated in my local desktop just like local applications. Is
>>> this
>>> on your roadmap?
>> It would be really nice to have, but nobody is working on this afaik.
>>
>> The current spice project is more designed toward driver level, rather than
>> application level. You'd need to have a per-window drawing context in order
>> to be able to display the seamless apps correctly. On Windows, it would
>> probably need user-space gdi (&directx) hooks (somehow a bit like wine).
>> Older methods just clip the remote windows with help of the window manager,
>> however this is quite limited (see seamlessrdp or virtualbox seamless mode
>> etc). I haven't looked at xpra, it would be interesting to see if and how
>> they manage this per-window context. Perhaps it is possible to extend Xspice
>> similarly? but I suppose it is rather done at higher level (application or X
>> server frontend).
> See http://xpra.org/trac/browser/xpra/trunk/src/README
> I have to confess I used it some time in the past and completely forgot about it, thanks for bringing it up!
> It is of course X specific,
Mostly yes, though the codebase no longer has any hard X11 dependencies
for servers: the shadow mode works with MS Windows servers too for
example (though at present it is no more than a cheap x0vncserver
equivalent - just screen scraping).
(and there are clients in python and Java for many platforms)
>  it uses Xvfb and becomes a compositing manager on top of it, and instead of compositing forwards the images to the remote X server, and also acts as a window manager deferring all app requests to the remote window manager on the client X. I haven't looked at the protocol,
The wire protocol is pretty simple, and supports bencoded data (or
rencoded data which is much faster) with a very limited set of commands
for mapping/moving windows, etc.
I guess another feature that would be relevant to you would be
notification forwarding, the rest is probably handled already.
>  or copy paste support,
Is fully supported on all client platforms, but is one way only for OSX
clients at present.
>  or audio,
We use gstreamer to compress the audio, usually as mp3 via lame.
>  which at this point Xspice supports. It should be easy to use the compositing manager + window manager bits (not sure about language).
"Easy" is not the word I would have chosen here ;)
But maybe spice makes it easier somehow?

Antoine
>  And teach the client of course to implement them too. Any takers?
>
>> _______________________________________________
>> Spice-devel mailing list
>> Spice-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>>
> _______________________________________________
> shifter-users mailing list
> shifter-users at lists.devloop.org.uk
> http://lists.devloop.org.uk/mailman/listinfo/shifter-users




More information about the shifter-users mailing list