[PATCH weston v4 00/15] Add a fullscreen shell protocol

Andrew Wedgbury andrew.wedgbury at realvnc.com
Tue Mar 11 09:36:31 PDT 2014

Hi Jason,

On Wed, 26 Feb 2014, Jason Ekstrand wrote:

> 4) Screen sharing and recording.  The security discussion on how to allow
>    clients to request screen sharing and things of the like is still going
>    on and I have no intention of solving that question here.  Most
>    proposals for screen sharing and capture have been based on weston's
>    screenshooter protocol which allows the screenshooter client to hand a
>    surface to weston that weston then fills with the contents of the
>    screen.  While this works for screenshots, there are a lot of race
>    conditions involved in doing it this way.  People have also suggested
>    screen sharing protocols.  However, these usually involve re-writing
>    most of the wayland protocol in the other (client -> server) direction.
>    For this reason, I propose that, instead of having complicated screen
>    sharing protocols, the screen sharing or recording program simply act
>    as a wayland compositor supporting the fullscreen shell protocol.  The
>    primary compositor (the DE) can then spawn the sharing program and
>    connect to it as a client.  This way we can use the normal Wayland
>    protocol for communication rather than re-writing it in reverse.

Thanks for this. I've been putting together a prototype using our VNC 
server - I've implemented the required interfaces along with your new 
fullscreen shell, and I'm launching it in place of weston from your 
screen-share module. It appears to be working well.

One query - I notice you've added a "sprawl" option in compositor-wayland,
which creates an output for every output in the fullscreen shell
compositor. This makes sense in the "system compositor" use cases. But for
screen capture you really want the opposite - i.e. the fullscreen shell
compositor needs to create an output for each output of the real
compositor. I guess we could just connect back to the real compositor and
get the output configuration, but there still needs to be some way of
connecting this up in screen-share. (At the moment I'm simply creating a
single output in my fullscreen shell compositor)


Andrew Wedgbury <andrew.wedgbury at realvnc.com>

More information about the wayland-devel mailing list