concerns over wayland and need for wayland app display to X Server

David Jackson djackson452 at gmail.com
Mon Feb 27 09:52:16 PST 2012


On Mon, Feb 27, 2012 at 12:06 PM, Jesse Barnes <jbarnes at virtuousgeek.org>wrote:

> On Mon, 27 Feb 2012 11:22:28 -0500
> David Jackson <djackson452 at gmail.com> wrote:
>
> > All I need is the ability to display a single  wayland application to an
>  X
> > server as an xclient connection over X protocol, with network
> transparency,
> > with a command line, run time, per process argument to tell it the
> target X
> > server to use. I dont care as much about the particulars of how this is
> > done, just that it can be done in some way.
>
> I have to say this is a rather bizarre request.  I suppose it would be
> a cool feature, but I don't know of other platforms that provide this
> in the way you're suggesting (there's VNC and per-window RDP stuff, but
> that's not quite the same).
>
> But I think this is one of those cases where the user who wants the
> feature most gets to implement it. :)
>
> Getting full functionality across a Wayland->X11 bridge will be tough
> though; it's much easier to match these things at the toolkit level
> rather than the protocol level.
>
>


If wayland API itself involves little more than sending pixmap or a shared
memory pixmap pointer from apps to a server, then the only option it seems
that would be feasible is to just send the pixmap data on to an X server.

If wayland API does not include a way that has the application telling
which areas have been updated through the API, and works in a way that
applications keep a pixmap around and simply modify that pixmap, which is
shared memory with the wayland server, it would be possible for the wayland
client to X server bridge to scan the pixmap to look for areas that have
been updated and just send the areas with updated data to the server, and
send the parts of the pixmap to the server if they are requested by X
expose events.

One possibility I suggested is designing the wayland client side API so
that client side wayland libraries/drivers which provide the wayland API
can be loaded at runtime as directed by a command line argument.By default,
the library for rendering to a real wayland display would be loaded. But
using a command line argument, one could load another library that supports
the wayland API, such as a wayland client to X11 protocol library would
support the wayland API but would send all of the data onwards over X
protocol to  Xserver address and port defined in the command line argument.
This could be loaded into the client at runtime and the driver selected by
user at runtime with a command line argument.

Like: firefox -target "WaylandX11Bridge:aserveraddress.com:6002"

WaylandX11Bridge would be linked into firefox, and would provide the
wayland API to firefox. It would be glue code between wayland API and xlib.
if firefox only gives WaylandX11Bridge a shared memory pixmap pointer, it
would just have to poll scan the pixmap for changes and send those parts of
the pixmap with changes to the X server, and respond to X expose events by
sending requested parts of the pixmap to the server.


if the wayland API does not support high level vector graphics that itself
makes me skeptical of wayland, to offload rendering to the GPU requires a
high level vector rendering API used by apps to send vector graphics to the
window system.

I would also be skeptical of attempts to give applications direct access to
video hardware. This opens up a whole new set of security vulnerabilities
by giving apps direct access to hardware.



> --
> Jesse Barnes, Intel Open Source Technology Center
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20120227/8fdb8f80/attachment.htm>


More information about the wayland-devel mailing list