<br><br><div class="gmail_quote">On Mon, Feb 27, 2012 at 12:06 PM, Jesse Barnes <span dir="ltr">&lt;<a href="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Mon, 27 Feb 2012 11:22:28 -0500<br>
David Jackson &lt;<a href="mailto:djackson452@gmail.com">djackson452@gmail.com</a>&gt; wrote:<br>
<br>
&gt; All I need is the ability to display a single  wayland application to an  X<br>
&gt; server as an xclient connection over X protocol, with network transparency,<br>
&gt; with a command line, run time, per process argument to tell it the target X<br>
&gt; server to use. I dont care as much about the particulars of how this is<br>
&gt; done, just that it can be done in some way.<br>
<br>
</div>I have to say this is a rather bizarre request.  I suppose it would be<br>
a cool feature, but I don&#39;t know of other platforms that provide this<br>
in the way you&#39;re suggesting (there&#39;s VNC and per-window RDP stuff, but<br>
that&#39;s not quite the same).<br>
<br>
But I think this is one of those cases where the user who wants the<br>
feature most gets to implement it. :)<br>
<br>
Getting full functionality across a Wayland-&gt;X11 bridge will be tough<br>
though; it&#39;s much easier to match these things at the toolkit level<br>
rather than the protocol level.<br>
<span class="HOEnZb"><font color="#888888"><br></font></span></blockquote><div><br><br><br>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. <br>
<br>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.<br>
 <br>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. <br>
<br>Like: firefox -target &quot;WaylandX11Bridge:<a href="http://aserveraddress.com:6002">aserveraddress.com:6002</a>&quot;<br><br>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. <br>
<br><br>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.<br>
<br>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.<br><br> <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<span class="HOEnZb"><font color="#888888">
--<br>
Jesse Barnes, Intel Open Source Technology Center<br>
</font></span></blockquote></div><br>