[PATCH wayland v4] doc: start documenting Xwayland

Pekka Paalanen ppaalanen at gmail.com
Mon Dec 18 10:45:48 UTC 2017


On Mon, 18 Dec 2017 11:17:22 +0100
Olivier Fourdan <fourdan at gmail.com> wrote:

> Hi Pekka,
> 
> Sorry in advance for my (too) late comment... Just one thing I would have
> mentioned (see below).
> 
> On 18 August 2017 at 15:29, Pekka Paalanen <ppaalanen at gmail.com> wrote:
> 
> > From: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> >
> > This is a rough intro to what Xwayland is and does, with just one
> > implementation detail so far (Window identification).
> >
> > I paid no attention to formatting details, those can be polished in
> > follow-ups. I just want the prose out.
> >
> > I also just quickly whacked up the diagram, would be happy to see
> > someone replace it with a nicer one. I just didn't have time to learn
> > dot for now.
> >
> > v2:
> > - typo fix
> > - rephrase "talking to hardware" as "driving the displays"
> > - mention circular dependency in intro
> > - add section to explain rootless and rootful modes
> > - remove paragraph about Xwayland protocol usage
> > - move TBD part to the end under a new section header
> >
> > v3:
> > - use "advantage" and "disadvantage" instead of "pro" and "con"
> > - slight rewording on rootful mode and rootless mode paragraphs
> > - removed the paragraph about the lack of shell and special Wayland
> >   protocol extensions
> > - removed the commented out list of ideas to write
> >
> > v4:
> > - typo fixes pointed out by Yong
> >
> > Cc: Olivier Fourdan <ofourdan at redhat.com>
> > Cc: Jonas Ã…dahl <jadahl at gmail.com>
> > Cc: Daniel Stone <daniel at fooishbar.org>
> > Signed-off-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> > ---
> >  doc/publican/Makefile.am                           |   5 +-
> >  doc/publican/sources/Wayland.xml                   |   1 +
> >  doc/publican/sources/Xwayland.xml                  | 170
> > +++++++++++++++++++++
> >  .../sources/images/xwayland-architecture.png       | Bin 0 -> 7611 bytes
> >  4 files changed, 175 insertions(+), 1 deletion(-)
> >  create mode 100644 doc/publican/sources/Xwayland.xml
> >  create mode 100644 doc/publican/sources/images/xwayland-architecture.png

> > +  <section id="sect-X11-Application-Support-xwm">
> > +    <title>X Window Manager (XWM)</title>
> > +    <para>
> > +      From the X11 point of view, the X window manager (XWM) living
> > inside a
> > +      Wayland compositor is just like any other window manager. The
> > difference
> > +      is mostly in which process it resides in, and the few extra
> > conventions
> > +      in the X11 protocol to support Wayland window management (WWM)
> > +      specifically.
> > +    </para>
> > +    <para>
> > +      There are two separate asynchronous communication channels between
> > +      Xwayland and a Wayland compositor: one uses the Wayland protocol,
> > and the
> > +      other one, solely for XWM, uses X11 protocol. This setting demands
> > great
> > +      care from the XWM implementation to avoid (random) deadlocks with
> > +      Xwayland. It is often nearly impossible to prove that synchronous or
> > +      blocking X11 calls from XWM cannot cause a deadlock, and therefore
> > it is
> > +      strongly recommended to make all X11 communications asynchronous.
> > All
> >  
> 
> That is not possible using Xlib which waits for a reply (_XReply) for many
> things, so maybe it would be worth mentioning that xcb is better suited for
> this?
> 
> (for example mutter is using Xlib and seems a lot more sensitive to such
> dead locks than weston which uses xcb)

Hi Olivier,

sure, a patch is welcome. :-)


> +      Wayland communications are already asynchonous by design.
> > +    </para>

Thanks,
pq

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20171218/8ec435f8/attachment.sig>


More information about the wayland-devel mailing list