Remote apps idea (without changing the underlying concept)
krh at bitplanet.net
Fri Nov 5 12:58:16 PDT 2010
On Fri, Nov 5, 2010 at 3:16 PM, Martin Sivak <mars at montik.net> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> If I understood the discussions correctly, there will be no underlying X or the "window manager". Instead the compositor process (linked against common wayland library) will be doing all client and window management and work with hardware directly through kernel.
> The clients will then render directly to provided/created buffer and exchange damage and input events with the compositor.
> I hope I got this right, there is a lot of confusing info around.
> Now to my idea:
> So the equivalent of ssh -X, which people are asking for, should be possible using the following approach. And it would only require that any wayland app can be pointed to different local compositor (like we do in X world with -display or $DISPLAY).
> Anyone would then be able to write "network compositor client" which would act as a compositor, but use only in-memory buffers (and probably stores the opengl commands). It would then be able to compress (maybe) the bitmap from the application and sent it over network using any suitable protocol and it would of course return all received input events back to the application.
> On the remote side would be a "network compositor daemon" which would present itself as a regular client app to the compositor running on the remote machine. It would claim ownership of all windows of all apps running through it (and allocate all the necessary buffers) and forward all buffer changes to compositor and input events back over network to the client.
> Basicly, it would be "VNC" with different buffer for each remote app. It would require a pair of relatively simple daemons to do the bitmap and event transfer (much like NX does) and would be completely transparent to the wayland approach and IMHO goals too.
> But of course only if I got the idea right.
Yeah, that's the general idea. RDP Seamless in particular lets your
forward individual windows as far as I know. You could do it as a
separate "network compositor" or you could build it into the regular
desktop compositor, which would let you select an existing window and
forward it over rdp.
More information about the wayland-devel