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