<commit_before>\documentclass{article}
\usepackage{palatino}

\author{<NAME>\\
\texttt{<EMAIL>}
}

\title{The Wayland Display Server}

\begin{document}

\maketitle

\section{Wayland Overview}

\begin{itemize}
\item wayland is a protocol for a new display server.  
\item wayland is an implementation
\end{itemize}

\subsection{Replacing X11}

Over the last 10 years, a lot of functionality have slowly moved out
of the X server and into libraries or kernel drivers. It started with
freetype and fontconfig providing an alternative to the core X fonts
and direct rendering OpenGL as a graphics driver in a client side
library. Then cairo came along and provided a modern 2D rendering
library independent of X and compositing managers took over control of
the rendering of the desktop. Recently with GEM and KMS in the Linux
kernel, we can do modesetting outside X and schedule several direct
rendering clients. The end result is a highly modular graphics stack.

Wayland is a new display server building on top of all those
components. We’re trying to distill out the functionality in the X
server that is still used by the modern Linux desktop. This turns out
to be not a whole lot. Applications can allocate their own off-screen
buffers and render their window contents by themselves. In the end,
what’s needed is a way to present the resulting window surface to a
compositor and a way to receive input. This is what Wayland provides,
by piecing together the components already in the eco-system in a
slightly different way.

X will always be relevant, in the same way Fortran compilers and VRML
browsers are, but it’s time that we think about moving it out of the
critical path and provide it as an optional component for legacy
applications.


\section{Wayland protocol}

\subsection{Basic Principles}<commit_msg>Minor spec edits<commit_after>\documentclass{article}
\usepackage{palatino}

\author{<NAME>\\
\texttt{<EMAIL>}
}

\title{The Wayland Display Server}

\begin{document}

\maketitle

\section{Wayland Overview}

\begin{itemize}
\item wayland is a protocol for a new display server.  
\item wayland is an implementation
\end{itemize}

\subsection{Replacing X11}

Over time, a lot of functionality have slowly moved out of the X
server and into client-side libraries or kernel drivers. One of the
first components to move out was font rendering, with freetype and
fontconfig providing an alternative to the core X fonts.  Direct
rendering OpenGL as a graphics driver in a client side library. Then
cairo came along and provided a modern 2D rendering library
independent of X and compositing managers took over control of the
rendering of the desktop. Recently with GEM and KMS in the Linux
kernel, we can do modesetting outside X and schedule several direct
rendering clients. The end result is a highly modular graphics stack.

\subsection{Make the compositing manager the display server}

Wayland is a new display server building on top of all those
components. We are trying to distill out the functionality in the X
server that is still used by the modern Linux desktop. This turns out
to be not a whole lot. Applications can allocate their own off-screen
buffers and render their window contents by themselves. In the end,
what’s needed is a way to present the resulting window surface to a
compositor and a way to receive input. This is what Wayland provides,
by piecing together the components already in the eco-system in a
slightly different way.

X will always be relevant, in the same way Fortran compilers and VRML
browsers are, but it’s time that we think about moving it out of the
critical path and provide it as an optional component for legacy
applications.


\section{Wayland protocol}

\subsection{Basic Principles}
{'fraction_non_alphanumeric': 0.039797008547008544, 'fraction_numerical': 0.002136752136752137, 'mean_word_length': 4.572916666666667, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5274025', 'n_tokens_mistral': 989, 'n_tokens_neox': 953, 'n_words': 571}