Hi, On 30 March 2013 20:48, Jason Ekstrand <ja...@jlekstrand.net> wrote:
> Some of this stuff has been somewhat re-defined lately and may not be > up-to-date. You may want to talk to Kristian or Daniel and see what > the current line-of-thought on types of compositors is. I like the > fact that you expanded on things quite a bit. > I'm kinda flattered, but also a very poor person to ask about the current state of system vs. session compositors. :) Cheers, Daniel > --Jason Ekstrand > > On Sat, Mar 30, 2013 at 12:11 AM, <matthias.cla...@gmail.com> wrote: > > From: Matthias Clasen <mcla...@redhat.com> > > > > Turn the bullet-point lists into full paragraphs. > > --- > > doc/Wayland/en_US/Compositors.xml | 119 > +++++++++++++++----------------------- > > 1 file changed, 46 insertions(+), 73 deletions(-) > > > > diff --git a/doc/Wayland/en_US/Compositors.xml > b/doc/Wayland/en_US/Compositors.xml > > index d5311fa..f674776 100644 > > --- a/doc/Wayland/en_US/Compositors.xml > > +++ b/doc/Wayland/en_US/Compositors.xml > > @@ -5,57 +5,53 @@ > > ]> > > <chapter id="chap-Compositors"> > > <title>Types of Compositors</title> > > + > > + <para> > > + Compositors come in different types, depending on which > > + role they play in the overall architecture of the OS. > > + </para> > > + > > <section id="sect-Compositors-System-Compositor"> > > <title>System Compositor</title> > > <para> > > - <itemizedlist> > > - <listitem> > > - <para> > > - ties in with graphical boot > > - </para> > > - </listitem> > > - <listitem> > > - <para> > > - hosts different types of session compositors > > - </para> > > - </listitem> > > - <listitem> > > - <para> > > - lets us switch between multiple sessions (fast user > switching, > > - secure/personal desktop switching) > > - </para> > > - </listitem> > > - <listitem> > > - <para> > > - multiseat > > - </para> > > - </listitem> > > - <listitem> > > - <para> > > - linux implementation using libudev, egl, kms, evdev, cairo > > - </para> > > - </listitem> > > - <listitem> > > - <para> > > - for fullscreen clients, the system compositor can reprogram > the > > - video scanout address to source from the client provided > buffer. > > - </para> > > - </listitem> > > - </itemizedlist> > > + A system compositor can run from early boot until shutdown. > > + It effectively replaces the kernel vt system, and can tie in > > + with the systems graphical boot setup and multiseat support. > > + </para> > > + <para> > > + A system compositor can host different types of session > > + compositors, and let us switch between multiple sessions > > + (fast user switching, or secure/personal desktop switching). > > + </para> > > + <para> > > + A linux implementation of a system compositor will typically > > + use libudev, egl, kms, evdev and cairo. > > + </para> > > + <para> > > + For fullscreen clients, the system compositor can reprogram the > > + video scanout address to read directly from the client provided > > + buffer. > > Does this really need to be 4 separate paragraphs? > > > </para> > > </section> > > <section id="sect-Compositors-Session-Compositor"> > > <title>Session Compositor</title> > > <para> > > + A session compositor is responsible for a single user session. > > + If a system compositor is present, the session compositor will > > + run nested under the system compositor. Nesting is feasible > because > > + the protocol is asynchronous; roundtrips would be too expensive > > + when nesting is involved. If no system compositor is present, a > > + session compositor can run directly on the hw. > > + </para> > > + <para> > > + X applications can continue working under a session compositor > > + by means of a root less X server that is activated on demand. > > + </para> > > + <para> > > + Possible examples for session compositors include > > <itemizedlist> > > - <listitem> > > - <para> > > - nested under the system compositor. nesting is feasible > because > > - protocol is async, roundtrip would break nesting > > - </para> > > - </listitem> > > - <listitem> > > - <para> > > + <listitem> > > + <para> > > gnome-shell > > </para> > > </listitem> > > @@ -66,17 +62,12 @@ > > </listitem> > > <listitem> > > <para> > > - compiz? > > - </para> > > - </listitem> > > - <listitem> > > - <para> > > - kde compositor? > > + kwin > > </para> > > </listitem> > > <listitem> > > <para> > > - text mode using vte > > + kmscon > > </para> > > </listitem> > > <listitem> > > @@ -89,29 +80,17 @@ > > fullscreen X session under wayland > > </para> > > </listitem> > > - <listitem> > > - <para> > > - can run without system compositor, on the hw where it makes > > - sense > > - </para> > > - </listitem> > > - <listitem> > > - <para> > > - root window less X server, bridging X windows into a wayland > > - session compositor > > - </para> > > - </listitem> > > </itemizedlist> > > </para> > > </section> > > <section id="sect-Compositors-Embedding-Compositor"> > > <title>Embedding Compositor</title> > > <para> > > - X11 lets clients embed windows from other clients, or lets client > copy > > - pixmap contents rendered by another client into their window. > This is > > - often used for applets in a panel, browser plugins and similar. > > + X11 lets clients embed windows from other clients, or lets clients > > + copy pixmap contents rendered by another client into their window. > > + This is often used for applets in a panel, browser plugins and > similar. > > Wayland doesn't directly allow this, but clients can communicate > GEM > > - buffer names out-of-band, for example, using d-bus or as command > line > > + buffer names out-of-band, for example, using D-Bus, or command > line > > arguments when the panel launches the applet. Another option is > to > > use a nested wayland instance. For this, the wayland server will > have > > to be a library that the host application links to. The host > > @@ -125,14 +104,8 @@ > > application. > > </para> > > <para> > > - <itemizedlist> > > - <listitem> > > - <para> > > - firefox embedding flash by being a special purpose > compositor to > > - the plugin > > - </para> > > - </listitem> > > - </itemizedlist> > > + An example for this kind of setup is firefox embedding the flash > > + player as a kind of special-purpose compositor. > > </para> > > </section> > > </chapter> > > -- > > 1.8.1.4 > > > > _______________________________________________ > > wayland-devel mailing list > > wayland-devel@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/wayland-devel > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/wayland-devel >
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel