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

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

\title{The Wayland Compositing System}

\begin{document}

\maketitle

\section{Wayland Overview}

\begin{itemize}
\item wayland is a protocol for a new display server.
\item weston is the open source project implementing a wayland based compositor
\end{itemize}

\subsection{Replacing X11}

In Linux and other Unix-like systems, the X stack has grown to
encompass funcationality arguably belonging in client libraries,
helper libraries, or the host operating system kernel.  Support for
things like PCI resource management, display configuration management,
direct rendering, and memory management has been integrated into the X
stack, imposing limitations like limited support for standalone
applications, duplication in other projects (e.g. the Linux fb layer
or the DirectFB project), and high levels of complexity for systems
combining multiple elements (for example radeon memory map handling
between the fb driver and X driver, or VT switching).

Moreover, X has grown to incorporate modern features like offscreen
rendering and scene composition, but subject to the limitations of the
X architecture.  For example, the X implementation of composition adds
additional context switches and makes things like input redirection
difficult.

\begin{figure}
\begin{center}
\includegraphics[width=70mm]{x-architecture.png}
\caption{\small \sl X with a compositing manager.\label{fig:X architecture}}<commit_msg>spec: fix typo<commit_after>\documentclass{article}
\usepackage{palatino}
\usepackage{graphicx}

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

\title{The Wayland Compositing System}

\begin{document}

\maketitle

\section{Wayland Overview}

\begin{itemize}
\item wayland is a protocol for a new display server.
\item weston is the open source project implementing a wayland based compositor
\end{itemize}

\subsection{Replacing X11}

In Linux and other Unix-like systems, the X stack has grown to
encompass functionality arguably belonging in client libraries,
helper libraries, or the host operating system kernel.  Support for
things like PCI resource management, display configuration management,
direct rendering, and memory management has been integrated into the X
stack, imposing limitations like limited support for standalone
applications, duplication in other projects (e.g. the Linux fb layer
or the DirectFB project), and high levels of complexity for systems
combining multiple elements (for example radeon memory map handling
between the fb driver and X driver, or VT switching).

Moreover, X has grown to incorporate modern features like offscreen
rendering and scene composition, but subject to the limitations of the
X architecture.  For example, the X implementation of composition adds
additional context switches and makes things like input redirection
difficult.

\begin{figure}
\begin{center}
\includegraphics[width=70mm]{x-architecture.png}
\caption{\small \sl X with a compositing manager.\label{fig:X architecture}}
{'fraction_non_alphanumeric': 0.061724363161332466, 'fraction_numerical': 0.002612671456564337, 'mean_word_length': 5.53091684434968, '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': '6459103', 'n_tokens_mistral': 805, 'n_tokens_neox': 770, 'n_words': 375}