From ef2f3a6243f1b2dd5ae1b6ace6c712ce36c7d8e1 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 11:41:07 -0400 Subject: [PATCH 01/37] Initial work in progress on the markdown side of things --- doc/sphinx/architecture.md | 77 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 doc/sphinx/architecture.md diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md new file mode 100644 index 00000000000..e507a599f5d --- /dev/null +++ b/doc/sphinx/architecture.md @@ -0,0 +1,77 @@ +# Overview + +# Concepts +## MirAL +- The "Mir Abstraction Layer" (aka `mirAL` or `miral`) is a layer that makes the core Mir implementation easier for compositor-implementers to work with. +- If one wishes to implement a compositor themselves, they will spend most of their time interacting with the `mirAL` API and only really touch the `mir` API when they require core concepts like a `mir::geometry::Rectangle`. + +## Mir +- The core implementation of the compositor that `MirAL` uses under the hood +- Responsible for doing the heavy-lifting of the compositor, such as: + - Output detection and configuration + - Compositing the image onto outputs + - Implementing the [Wayland protocol](https://wayland.app/protocols/) + - Providing the different platforms that can be used for both display and rendering + - Handling user input and bubbling it up to `MirAL` + - & more! + +# Diagram + +# Code Structure +This section will provide an overview of how the *Mir* codebase is organized through an exploration of the project's directory structure. + +## `/include` +- The `include` folder at the root of the project provides the public-facing API. +- This directory *strictly* includes the interfaces that are useful to a compositor-implementer. +- If one is only interested in implementing their own *Mir*-based compositor, they need not look any further than this directory. + +## `/src` +- The `src` folder at the root of the project comprises the core implementation of *Mir*. +- This section is organized from the highest level of abstraction to the lowest level of abstraction, meaning that those APIs which a compositor-implementer are most likely to encounter are described first while the darker corners of the codebase are described last. + +### `|- /src/miral` +- See [MirAL](#miral) for details on why this interface exists. +- The public-facing interface for this implementation is in `/include/miral/miral` +- Most of the classes in this directory look like this: + + ```c++ + class MyClass + { + public: + void operator()(mir::Server& server) const; + ... + }; + ``` + Instances of such a class (e.g. `X11Support`) are passed to the `MirRunner::run_with` function, wherein the overloaded operator function is called with the server as a parameter. + +### `|- /src/server` +- Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class. +- The `Server` class has a `DisplayServer` which contains the class instances that support the server's runtime. + - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the class of interest. +- The classes that the `Server` relies on for its runtime can be found organized in separate folders in this directory. + +#### `|- /src/server/compositor` +- The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed. + +#### `|- /src/server/input` +- This folder deals with everything input (e.g. keyboard presses, mouse clicks) +- The `InputManager` provides access to the specific input platform that is running (e.g. X, Wayland, or libinput). +- The `InputDispatcher` is responsible for taking events bubbled up from the platform and sending them off to the appropriate listeners + +#### `|- /src/server/frontend_wayland` +- The *Mir* implementation of the wayland protocol. +- The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. + +#### `|- /src/server/frontent_xwayland` +- The *Mir* implementation of the xwayland protocol. +- The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. +- This protocol talks to the `xwayland` server, which is spawned as a subprocess. + +#### `|- /src/server/shell` +- The `Shell` is responsible for managing the surfaces that the compositor wants to show. +- It provides an interface to create, update, and remove these surfaces from the display. + +#### `|- /src/server/scene` +- The `Scene` + +## `/examples` \ No newline at end of file From 934d817134a51b28c54f8b5f68620bb6d53d3470 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 13:23:04 -0400 Subject: [PATCH 02/37] Completion of src + examples --- doc/sphinx/architecture.md | 69 ++++++++++++++++++++++++++++++++------ 1 file changed, 59 insertions(+), 10 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index e507a599f5d..257b379a447 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -29,7 +29,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr - The `src` folder at the root of the project comprises the core implementation of *Mir*. - This section is organized from the highest level of abstraction to the lowest level of abstraction, meaning that those APIs which a compositor-implementer are most likely to encounter are described first while the darker corners of the codebase are described last. -### `|- /src/miral` +## `|- /src/miral` - See [MirAL](#miral) for details on why this interface exists. - The public-facing interface for this implementation is in `/include/miral/miral` - Most of the classes in this directory look like this: @@ -44,34 +44,83 @@ This section will provide an overview of how the *Mir* codebase is organized thr ``` Instances of such a class (e.g. `X11Support`) are passed to the `MirRunner::run_with` function, wherein the overloaded operator function is called with the server as a parameter. -### `|- /src/server` +## `|- /src/server` - Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class. - The `Server` class has a `DisplayServer` which contains the class instances that support the server's runtime. - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the class of interest. - The classes that the `Server` relies on for its runtime can be found organized in separate folders in this directory. -#### `|- /src/server/compositor` +### `|- /src/server/compositor` - The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed. -#### `|- /src/server/input` +### `|- /src/server/input` - This folder deals with everything input (e.g. keyboard presses, mouse clicks) - The `InputManager` provides access to the specific input platform that is running (e.g. X, Wayland, or libinput). - The `InputDispatcher` is responsible for taking events bubbled up from the platform and sending them off to the appropriate listeners -#### `|- /src/server/frontend_wayland` +### `|- /src/server/frontend_wayland` - The *Mir* implementation of the wayland protocol. - The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. -#### `|- /src/server/frontent_xwayland` +### `|- /src/server/frontent_xwayland` - The *Mir* implementation of the xwayland protocol. - The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. - This protocol talks to the `xwayland` server, which is spawned as a subprocess. -#### `|- /src/server/shell` +### `|- /src/server/shell` - The `Shell` is responsible for managing the surfaces that the compositor wants to show. - It provides an interface to create, update, and remove these surfaces from the display. +- As an example, the `WaylandConnector` might as the `Shell` to create a new surface for it. -#### `|- /src/server/scene` -- The `Scene` +### `|- /src/server/scene` +- The `Scene` provides an interfaces for the `Compositor` to access the list of renderable items that are derived from the surfaces added to the `Shell`. +- Unliked the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. -## `/examples` \ No newline at end of file +### `|- /src/server/graphics` +- An abstraction layer which connects the compositor to the specific graphics platform that its rendering on. + +### `|- /src/server/console` +- Handles `logind` and virtual-terminal related tasks for the compositor + +### `|- /src/server/report` +- Logging and other facilities to collect data about the compositor + +## `|- /src/platforms` (with an "s"!) +- Provides both input and rendering platforms that the compositor can use depending on the environment. +- For the rendering platforms, we have: + - *GBM/KMS*: the platform that you would expect if you were running a *Mir*-based compositor as your daily-driver + - *X11*: a useful platform for testing locally + - *Wayland*: another useful platform for testing locally + - *EGLStreams/KMS*: like the *GBM/KMS* platform, but for Nvidia +- For the input platforms, we have: + - evdev + - X11 + - Wayland + +### `|- /src/platform` (no "s") +- Graphics and input code that is shared between platforms + +## `|- /src/renderers` (with an "s"!) +- The supported `Renderer` types. The renderer is used by the Compositor composite the final image. +- Only GL is supported at the moment + +### `|- /src/renderer` (no "s") +- Renderer code that is shared between renderers + +## `|- /src/wayland` +- A subproject used to generate C++ classes from wayland protocol XML files. + +## `|- /src/gl` +- A short list of helpers for GL work + +## `|- /src/cookie` +- Provides event timestamps for inputs events that are difficult to spoof + +## `|- /src/common` +- A library of common functionality that is used throughout the project, including things like loggers, clocks, executors, etc. + +## `/examples` +- A collection of demo *Mir* compositors that are used as examples of how one might build a true compositor. Examples include: + - `miral-app` + - `miral-shel` + - `mir_demo_server` From c18ea513f437e9a8d8e5bfeb505f7e1fcea0521d Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 13:29:17 -0400 Subject: [PATCH 03/37] Inclusion of the tests directory --- doc/sphinx/architecture.md | 43 +++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 257b379a447..b04add5862c 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -1,4 +1,5 @@ # Overview +This document describes the high-level architecture of *Mir*, including a diagram and a brief introduction of the directory structure. # Concepts ## MirAL @@ -16,6 +17,7 @@ - & more! # Diagram +TODO: Implement the diagram # Code Structure This section will provide an overview of how the *Mir* codebase is organized through an exploration of the project's directory structure. @@ -29,7 +31,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr - The `src` folder at the root of the project comprises the core implementation of *Mir*. - This section is organized from the highest level of abstraction to the lowest level of abstraction, meaning that those APIs which a compositor-implementer are most likely to encounter are described first while the darker corners of the codebase are described last. -## `|- /src/miral` +## `/src/miral` - See [MirAL](#miral) for details on why this interface exists. - The public-facing interface for this implementation is in `/include/miral/miral` - Most of the classes in this directory look like this: @@ -44,48 +46,48 @@ This section will provide an overview of how the *Mir* codebase is organized thr ``` Instances of such a class (e.g. `X11Support`) are passed to the `MirRunner::run_with` function, wherein the overloaded operator function is called with the server as a parameter. -## `|- /src/server` +## `/src/server` - Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class. - The `Server` class has a `DisplayServer` which contains the class instances that support the server's runtime. - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the class of interest. - The classes that the `Server` relies on for its runtime can be found organized in separate folders in this directory. -### `|- /src/server/compositor` +### `/src/server/compositor` - The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed. -### `|- /src/server/input` +### `/src/server/input` - This folder deals with everything input (e.g. keyboard presses, mouse clicks) - The `InputManager` provides access to the specific input platform that is running (e.g. X, Wayland, or libinput). - The `InputDispatcher` is responsible for taking events bubbled up from the platform and sending them off to the appropriate listeners -### `|- /src/server/frontend_wayland` +### `/src/server/frontend_wayland` - The *Mir* implementation of the wayland protocol. - The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. -### `|- /src/server/frontent_xwayland` +### `/src/server/frontent_xwayland` - The *Mir* implementation of the xwayland protocol. - The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. - This protocol talks to the `xwayland` server, which is spawned as a subprocess. -### `|- /src/server/shell` +### `/src/server/shell` - The `Shell` is responsible for managing the surfaces that the compositor wants to show. - It provides an interface to create, update, and remove these surfaces from the display. - As an example, the `WaylandConnector` might as the `Shell` to create a new surface for it. -### `|- /src/server/scene` +### `/src/server/scene` - The `Scene` provides an interfaces for the `Compositor` to access the list of renderable items that are derived from the surfaces added to the `Shell`. - Unliked the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. -### `|- /src/server/graphics` +### `/src/server/graphics` - An abstraction layer which connects the compositor to the specific graphics platform that its rendering on. -### `|- /src/server/console` +### `/src/server/console` - Handles `logind` and virtual-terminal related tasks for the compositor -### `|- /src/server/report` +### `/src/server/report` - Logging and other facilities to collect data about the compositor -## `|- /src/platforms` (with an "s"!) +## `/src/platforms` (with an "s"!) - Provides both input and rendering platforms that the compositor can use depending on the environment. - For the rendering platforms, we have: - *GBM/KMS*: the platform that you would expect if you were running a *Mir*-based compositor as your daily-driver @@ -97,26 +99,26 @@ This section will provide an overview of how the *Mir* codebase is organized thr - X11 - Wayland -### `|- /src/platform` (no "s") +### `/src/platform` (no "s") - Graphics and input code that is shared between platforms -## `|- /src/renderers` (with an "s"!) +## `/src/renderers` (with an "s"!) - The supported `Renderer` types. The renderer is used by the Compositor composite the final image. - Only GL is supported at the moment -### `|- /src/renderer` (no "s") +### `/src/renderer` (no "s") - Renderer code that is shared between renderers -## `|- /src/wayland` +## `/src/wayland` - A subproject used to generate C++ classes from wayland protocol XML files. -## `|- /src/gl` +## `/src/gl` - A short list of helpers for GL work -## `|- /src/cookie` +## `/src/cookie` - Provides event timestamps for inputs events that are difficult to spoof -## `|- /src/common` +## `/src/common` - A library of common functionality that is used throughout the project, including things like loggers, clocks, executors, etc. ## `/examples` @@ -124,3 +126,6 @@ This section will provide an overview of how the *Mir* codebase is organized thr - `miral-app` - `miral-shel` - `mir_demo_server` + +## `/tests` +- Unit tests for the entire project. \ No newline at end of file From 528b648ecd1db197e210e0bba275cc50b611f073 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 13:37:12 -0400 Subject: [PATCH 04/37] Removing confusing indent --- doc/sphinx/architecture.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index b04add5862c..b5dead170b2 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -32,7 +32,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr - This section is organized from the highest level of abstraction to the lowest level of abstraction, meaning that those APIs which a compositor-implementer are most likely to encounter are described first while the darker corners of the codebase are described last. ## `/src/miral` -- See [MirAL](#miral) for details on why this interface exists. +- See [MirAL](#miral) for more details - The public-facing interface for this implementation is in `/include/miral/miral` - Most of the classes in this directory look like this: @@ -52,39 +52,39 @@ This section will provide an overview of how the *Mir* codebase is organized thr - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the class of interest. - The classes that the `Server` relies on for its runtime can be found organized in separate folders in this directory. -### `/src/server/compositor` +## `/src/server/compositor` - The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed. -### `/src/server/input` +## `/src/server/input` - This folder deals with everything input (e.g. keyboard presses, mouse clicks) - The `InputManager` provides access to the specific input platform that is running (e.g. X, Wayland, or libinput). - The `InputDispatcher` is responsible for taking events bubbled up from the platform and sending them off to the appropriate listeners -### `/src/server/frontend_wayland` +## `/src/server/frontend_wayland` - The *Mir* implementation of the wayland protocol. - The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. -### `/src/server/frontent_xwayland` +## `/src/server/frontent_xwayland` - The *Mir* implementation of the xwayland protocol. - The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. - This protocol talks to the `xwayland` server, which is spawned as a subprocess. -### `/src/server/shell` +## `/src/server/shell` - The `Shell` is responsible for managing the surfaces that the compositor wants to show. - It provides an interface to create, update, and remove these surfaces from the display. - As an example, the `WaylandConnector` might as the `Shell` to create a new surface for it. -### `/src/server/scene` +## `/src/server/scene` - The `Scene` provides an interfaces for the `Compositor` to access the list of renderable items that are derived from the surfaces added to the `Shell`. - Unliked the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. -### `/src/server/graphics` +## `/src/server/graphics` - An abstraction layer which connects the compositor to the specific graphics platform that its rendering on. -### `/src/server/console` +## `/src/server/console` - Handles `logind` and virtual-terminal related tasks for the compositor -### `/src/server/report` +## `/src/server/report` - Logging and other facilities to collect data about the compositor ## `/src/platforms` (with an "s"!) @@ -99,14 +99,14 @@ This section will provide an overview of how the *Mir* codebase is organized thr - X11 - Wayland -### `/src/platform` (no "s") +## `/src/platform` (no "s") - Graphics and input code that is shared between platforms ## `/src/renderers` (with an "s"!) - The supported `Renderer` types. The renderer is used by the Compositor composite the final image. - Only GL is supported at the moment -### `/src/renderer` (no "s") +## `/src/renderer` (no "s") - Renderer code that is shared between renderers ## `/src/wayland` From 07d5e06c2bfaad5047144048c974e95f5d0d470e Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 13:57:24 -0400 Subject: [PATCH 05/37] Minor typo --- doc/sphinx/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index b5dead170b2..4fc7a6df583 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -75,7 +75,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr - As an example, the `WaylandConnector` might as the `Shell` to create a new surface for it. ## `/src/server/scene` -- The `Scene` provides an interfaces for the `Compositor` to access the list of renderable items that are derived from the surfaces added to the `Shell`. +- The `Scene` provides an interface for the `Compositor` to access the list of renderable items that are derived from the surfaces added to the `Shell`. - Unliked the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. ## `/src/server/graphics` From 2a8ae74cd5ebdba74fefacee4d8886af3acc6e33 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 13:59:03 -0400 Subject: [PATCH 06/37] Remove unnecessary disclaimer --- doc/sphinx/architecture.md | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 4fc7a6df583..eacc3fa1239 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -29,7 +29,6 @@ This section will provide an overview of how the *Mir* codebase is organized thr ## `/src` - The `src` folder at the root of the project comprises the core implementation of *Mir*. -- This section is organized from the highest level of abstraction to the lowest level of abstraction, meaning that those APIs which a compositor-implementer are most likely to encounter are described first while the darker corners of the codebase are described last. ## `/src/miral` - See [MirAL](#miral) for more details From a7f49a57221b592ce2a3a0a559dd041e819797dc Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 13:59:43 -0400 Subject: [PATCH 07/37] Removing reference to the include directory --- doc/sphinx/architecture.md | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index eacc3fa1239..d67ab604eb1 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -32,7 +32,6 @@ This section will provide an overview of how the *Mir* codebase is organized thr ## `/src/miral` - See [MirAL](#miral) for more details -- The public-facing interface for this implementation is in `/include/miral/miral` - Most of the classes in this directory look like this: ```c++ From cd4f4b84bc590b1c55770f98bfc32e5be2f88bf9 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 14:01:22 -0400 Subject: [PATCH 08/37] Adding some extra info to the miral section --- doc/sphinx/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index d67ab604eb1..822d8afb03e 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -31,7 +31,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr - The `src` folder at the root of the project comprises the core implementation of *Mir*. ## `/src/miral` -- See [MirAL](#miral) for more details +- Provides an interface to compositor-implementers that abstracts away many of the nitty-gritty details of *Mir*. See [MirAL](#miral) for more details - Most of the classes in this directory look like this: ```c++ From 48b21dc703c5660f5ab538a297938d38c10344e2 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 14:03:00 -0400 Subject: [PATCH 09/37] Using interface instead of class --- doc/sphinx/architecture.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 822d8afb03e..1f3856337e6 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -46,8 +46,8 @@ This section will provide an overview of how the *Mir* codebase is organized thr ## `/src/server` - Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class. -- The `Server` class has a `DisplayServer` which contains the class instances that support the server's runtime. - - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the class of interest. +- The `Server` class has a `DisplayServer` which provides access to the interfaces that that support the server's runtime. + - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the interface of interest. - The classes that the `Server` relies on for its runtime can be found organized in separate folders in this directory. ## `/src/server/compositor` From 03704e7682e009f61e2cdb599752b6c69f5c0033 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 14:04:15 -0400 Subject: [PATCH 10/37] Fix for typo --- doc/sphinx/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 1f3856337e6..ed7deda9f92 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -62,7 +62,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr - The *Mir* implementation of the wayland protocol. - The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. -## `/src/server/frontent_xwayland` +## `/src/server/frontend_xwayland` - The *Mir* implementation of the xwayland protocol. - The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. - This protocol talks to the `xwayland` server, which is spawned as a subprocess. From a28629df67861fa2cbb4a370381851e3347bbf84 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 14:04:44 -0400 Subject: [PATCH 11/37] As to Ask --- doc/sphinx/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index ed7deda9f92..ee34fc7c466 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -70,7 +70,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr ## `/src/server/shell` - The `Shell` is responsible for managing the surfaces that the compositor wants to show. - It provides an interface to create, update, and remove these surfaces from the display. -- As an example, the `WaylandConnector` might as the `Shell` to create a new surface for it. +- As an example, the `WaylandConnector` might ask the `Shell` to create a new surface for it. ## `/src/server/scene` - The `Scene` provides an interface for the `Compositor` to access the list of renderable items that are derived from the surfaces added to the `Shell`. From 03f2878352a37e370822f4e2ec557aaea1887742 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 14:05:51 -0400 Subject: [PATCH 12/37] Formatting for clarity --- doc/sphinx/architecture.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index ee34fc7c466..6d86a56ce23 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -73,8 +73,9 @@ This section will provide an overview of how the *Mir* codebase is organized thr - As an example, the `WaylandConnector` might ask the `Shell` to create a new surface for it. ## `/src/server/scene` -- The `Scene` provides an interface for the `Compositor` to access the list of renderable items that are derived from the surfaces added to the `Shell`. -- Unliked the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. +- The `Scene` provides an interface for the `Compositor` to access the list of renderable items + - These renderables are derived from the surfaces that were added to the `Shell`. +- Unlike the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. ## `/src/server/graphics` - An abstraction layer which connects the compositor to the specific graphics platform that its rendering on. From 7bd3d290a5b3297cd42703cda6e5901c71d31efe Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 25 Sep 2023 14:08:43 -0400 Subject: [PATCH 13/37] Completion of the initial proofread --- doc/sphinx/architecture.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 6d86a56ce23..66781a1b21d 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -78,7 +78,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr - Unlike the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. ## `/src/server/graphics` -- An abstraction layer which connects the compositor to the specific graphics platform that its rendering on. +- A graphics abstraction layer sitting between the compositor and the specific graphics platform that it is using to render. ## `/src/server/console` - Handles `logind` and virtual-terminal related tasks for the compositor @@ -102,20 +102,20 @@ This section will provide an overview of how the *Mir* codebase is organized thr - Graphics and input code that is shared between platforms ## `/src/renderers` (with an "s"!) -- The supported `Renderer` types. The renderer is used by the Compositor composite the final image. -- Only GL is supported at the moment +- The supported `Renderer` types. The renderer is used by the Compositor to build the final image. +- Only GL is supported at the moment. ## `/src/renderer` (no "s") -- Renderer code that is shared between renderers +- Renderer code that is shared between renderers. ## `/src/wayland` - A subproject used to generate C++ classes from wayland protocol XML files. ## `/src/gl` -- A short list of helpers for GL work +- A short list of helpers for GL work. ## `/src/cookie` -- Provides event timestamps for inputs events that are difficult to spoof +- Provides event timestamps for inputs events that are difficult to spoof. ## `/src/common` - A library of common functionality that is used throughout the project, including things like loggers, clocks, executors, etc. From a02d58777257b7f6a82638a0229280dec85acfc7 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 26 Sep 2023 11:56:08 -0400 Subject: [PATCH 14/37] First iteration of the architecture diagram --- doc/sphinx/architecture.md | 4 +- doc/sphinx/architecture.png | Bin 0 -> 110020 bytes doc/sphinx/architecture.puml | 81 +++++++++++++++++++++++++++++++++++ 3 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 doc/sphinx/architecture.png create mode 100644 doc/sphinx/architecture.puml diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 66781a1b21d..76963660992 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -17,7 +17,7 @@ This document describes the high-level architecture of *Mir*, including a diagra - & more! # Diagram -TODO: Implement the diagram +![Architecture Diagram](./architecture.png "Architecture Diagram") # Code Structure This section will provide an overview of how the *Mir* codebase is organized through an exploration of the project's directory structure. @@ -127,4 +127,4 @@ This section will provide an overview of how the *Mir* codebase is organized thr - `mir_demo_server` ## `/tests` -- Unit tests for the entire project. \ No newline at end of file +- Unit tests for the entire project. diff --git a/doc/sphinx/architecture.png b/doc/sphinx/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..18391339df3f91dcc7e6cb8d71622177b02876ab GIT binary patch literal 110020 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 literal 0 HcmV?d00001 diff --git a/doc/sphinx/architecture.puml b/doc/sphinx/architecture.puml new file mode 100644 index 00000000000..304e022659d --- /dev/null +++ b/doc/sphinx/architecture.puml @@ -0,0 +1,81 @@ +@startuml + +hide members + +' Miral +class miral.MirRunner +class miral.BasicWindowManager extends mir.shell.WindowManager + + +' Server +class mir.Server + +' Scene +class mir.scene.SurfaceStack + +' Graphics +class mir.graphics.MultiplexingDisplay +abstract class mir.graphics.DisplayPlatform +abstract class mir.graphics.Display +abstract class mir.graphics.DisplayBuffer +class mir.graphics.gbm.Display extends mir.graphics.DisplayPlatform +class mir.graphics.wayland.Display extends mir.graphics.DisplayPlatform +class mir.graphics.X.Display extends mir.graphics.DisplayPlatform +class mir.graphics.eglstrean.Display extends mir.graphics.DisplayPlatform + +' Input +class mir.input.InputDispatcher +class mir.input.Platform +class mir.input.evdev.Platform extends mir.input.Platform +class mir.input.wayland.Platform extends mir.input.Platform +class mir.input.X.Platform extends mir.input.Platform + +' Shell +class mir.shell.AbstractShell +class mir.shell.WindowManager + +' Compositor +class mir.compositor.MultithreadedCompositor +class mir.compositor.ScreenShooter + +' Renderer +class mir.renderer.RendererFactory +class mir.renderer.Renderer +class mir.renderer.gl.Renderer extends mir.renderer.Renderer + +' Frontends +class mir.frontend.WaylandConnector +class mir.frontend.XWaylandConnector + +' Forces miral on top of mir +miral.MirRunner --[hidden]-> mir.Server + +' Relationships +mir.Server <-- mir.compositor.MultithreadedCompositor +mir.Server <-- mir.input.InputDispatcher +mir.Server <-- mir.frontend.XWaylandConnector +mir.Server <-- mir.frontend.WaylandConnector + +miral.MirRunner <-- mir.Server +miral.MirRunner <- miral.BasicWindowManager +miral.BasicWindowManager "n" <- miral.WindowManagementPolicy + +mir.compositor.MultithreadedCompositor <-- mir.renderer.RendererFactory +mir.compositor.MultithreadedCompositor <-- mir.scene.SurfaceStack + +mir.renderer.RendererFactory <-- mir.renderer.Renderer +mir.graphics.MultiplexingDisplay "n" <-- mir.graphics.Display +mir.graphics.DisplayPlatform <-- mir.graphics.Display +mir.graphics.Display "n" <-- mir.graphics.DisplayBuffer + +mir.frontend.WaylandConnector <-- mir.shell.AbstractShell +mir.frontend.XWaylandConnector <-- mir.shell.AbstractShell +mir.shell.AbstractShell <-- mir.scene.SurfaceStack +mir.shell.AbstractShell <-- mir.shell.WindowManager + +mir.input.InputDispatcher <-- mir.input.Platform + +mir.compositor.MultithreadedCompositor <-- mir.compositor.ScreenShooter +mir.compositor.ScreenShooter <-- mir.shell.AbstractShell + +@enduml From cc2b82d4df57e29d05f4ba70fdc46c3e6edb7c46 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 26 Sep 2023 15:20:17 -0400 Subject: [PATCH 15/37] Initial draft of the architecture diagram --- doc/sphinx/architecture.png | Bin 110020 -> 217181 bytes doc/sphinx/architecture.puml | 86 +++++++++++++++++++++++++---------- 2 files changed, 63 insertions(+), 23 deletions(-) diff --git a/doc/sphinx/architecture.png b/doc/sphinx/architecture.png index 18391339df3f91dcc7e6cb8d71622177b02876ab..ed99fbb6ff0b0964ca92d77a65825dba15b0d279 100644 GIT binary patch literal 217181 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ȲQ8S~J0 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

c`b>&3u4thK1HMNf=Tcn5Enjt^5i1v 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 literal 110020 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 diff --git a/doc/sphinx/architecture.puml b/doc/sphinx/architecture.puml index 304e022659d..1859060f5ab 100644 --- a/doc/sphinx/architecture.puml +++ b/doc/sphinx/architecture.puml @@ -4,31 +4,48 @@ hide members ' Miral class miral.MirRunner -class miral.BasicWindowManager extends mir.shell.WindowManager +class miral.SystemCompositorWindowManager extends mir.shell.WindowManager +class miral.MinimalWindowManager extends miral.WindowManagementPolicy + +miral.MirRunner <-right- mir.Server +miral.MirRunner <-right- miral.SystemCompositorWindowManager +miral.SystemCompositorWindowManager "n" <-d- miral.WindowManagementPolicy +miral.WindowManagementPolicy <- miral.WindowInfo +miral.WindowManagementPolicy <- miral.ApplicationInfo + ' Server class mir.Server +class mir.ServerConfiguration ' Scene class mir.scene.SurfaceStack ' Graphics -class mir.graphics.MultiplexingDisplay +class mir.graphics.MultiplexingDisplay extends mir.graphics.Display abstract class mir.graphics.DisplayPlatform abstract class mir.graphics.Display abstract class mir.graphics.DisplayBuffer -class mir.graphics.gbm.Display extends mir.graphics.DisplayPlatform -class mir.graphics.wayland.Display extends mir.graphics.DisplayPlatform -class mir.graphics.X.Display extends mir.graphics.DisplayPlatform -class mir.graphics.eglstrean.Display extends mir.graphics.DisplayPlatform +class mir.graphics.gbm.Display extends mir.graphics.Display +class mir.graphics.gbm.DisplayBuffer extends mir.graphics.DisplayBuffer +class mir.graphics.wayland.Display extends mir.graphics.Display +class mir.graphics.wayland.DisplayBuffer extends mir.graphics.DisplayBuffer +class mir.graphics.X.Display extends mir.graphics.Display +class mir.graphics.X.DisplayBuffer extends mir.graphics.DisplayBuffer +class mir.graphics.eglstream.Display extends mir.graphics.Display +class mir.graphics.eglstream.DisplayBuffer extends mir.graphics.DisplayBuffer ' Input -class mir.input.InputDispatcher -class mir.input.Platform +class mir.input.BasicSeat +abstract class mir.input.InputDispatcher +class mir.input.DefaultInputDeviceHub +abstract class mir.input.Platform class mir.input.evdev.Platform extends mir.input.Platform class mir.input.wayland.Platform extends mir.input.Platform class mir.input.X.Platform extends mir.input.Platform +class mir.input.DefaultInputManager +class mir.input.MultiplexingDispatchable ' Shell class mir.shell.AbstractShell @@ -36,7 +53,7 @@ class mir.shell.WindowManager ' Compositor class mir.compositor.MultithreadedCompositor -class mir.compositor.ScreenShooter +class mir.compositor.DefaultDisplayBufferCompositorFactory ' Renderer class mir.renderer.RendererFactory @@ -51,31 +68,54 @@ class mir.frontend.XWaylandConnector miral.MirRunner --[hidden]-> mir.Server ' Relationships -mir.Server <-- mir.compositor.MultithreadedCompositor -mir.Server <-- mir.input.InputDispatcher -mir.Server <-- mir.frontend.XWaylandConnector -mir.Server <-- mir.frontend.WaylandConnector - -miral.MirRunner <-- mir.Server -miral.MirRunner <- miral.BasicWindowManager -miral.BasicWindowManager "n" <- miral.WindowManagementPolicy +mir.Server <-right- mir.ServerConfiguration +mir.ServerConfiguration <-- mir.compositor.MultithreadedCompositor +mir.ServerConfiguration <-- mir.input.DefaultInputDeviceHub +mir.ServerConfiguration <-- mir.input.InputDispatcher +mir.ServerConfiguration <-- mir.input.BasicSeat +mir.ServerConfiguration <-- mir.frontend.XWaylandConnector +mir.ServerConfiguration <-- mir.frontend.WaylandConnector +mir.ServerConfiguration <-- mir.graphics.MultiplexingDisplay +mir.ServerConfiguration <-- mir.graphics.DisplayPlatform +mir.ServerConfiguration <-- mir.input.DefaultInputManager -mir.compositor.MultithreadedCompositor <-- mir.renderer.RendererFactory mir.compositor.MultithreadedCompositor <-- mir.scene.SurfaceStack +mir.compositor.MultithreadedCompositor <-- mir.graphics.MultiplexingDisplay +mir.compositor.MultithreadedCompositor <-- mir.compositor.DefaultDisplayBufferCompositorFactory +mir.compositor.DefaultDisplayBufferCompositorFactory <-- mir.renderer.RendererFactory mir.renderer.RendererFactory <-- mir.renderer.Renderer -mir.graphics.MultiplexingDisplay "n" <-- mir.graphics.Display -mir.graphics.DisplayPlatform <-- mir.graphics.Display +mir.graphics.MultiplexingDisplay "n" <-right- mir.graphics.Display +mir.graphics.DisplayPlatform <-right- mir.graphics.Display mir.graphics.Display "n" <-- mir.graphics.DisplayBuffer +mir.graphics.gbm.Display "n" <-- mir.graphics.gbm.DisplayBuffer +mir.graphics.eglstream.Display "n" <-- mir.graphics.eglstream.DisplayBuffer +mir.graphics.X.Display "n" <-- mir.graphics.X.DisplayBuffer +mir.graphics.wayland.Display "n" <-- mir.graphics.wayland.DisplayBuffer mir.frontend.WaylandConnector <-- mir.shell.AbstractShell mir.frontend.XWaylandConnector <-- mir.shell.AbstractShell mir.shell.AbstractShell <-- mir.scene.SurfaceStack mir.shell.AbstractShell <-- mir.shell.WindowManager -mir.input.InputDispatcher <-- mir.input.Platform +mir.input.DefaultInputManager <-- mir.input.Platform +mir.input.DefaultInputManager <-- mir.input.MultiplexingDispatchable +mir.input.BasicSeat <-- mir.input.InputDispatcher +mir.input.DefaultInputDeviceHub <-- mir.input.BasicSeat +mir.input.DefaultInputDeviceHub <-- mir.input.MultiplexingDispatchable +mir.input.Platform <-- mir.input.DefaultInputDeviceHub +mir.input.InputDispatcher <-- mir.shell.AbstractShell + + +package Hardware <> { + () mouse + () keyboard + () displays +} + -mir.compositor.MultithreadedCompositor <-- mir.compositor.ScreenShooter -mir.compositor.ScreenShooter <-- mir.shell.AbstractShell +Hardware.mouse <-- mir.input.evdev +Hardware.keyboard <-- mir.input.evdev +Hardware.displays <-- mir.graphics.Display @enduml From 0b2219c6a3430670f3e7302ae0ff8dacc54f3c3d Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 26 Sep 2023 15:21:07 -0400 Subject: [PATCH 16/37] Adding brief comment about Scene --- doc/sphinx/architecture.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 76963660992..5ed5cf8c2c3 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -75,6 +75,7 @@ This section will provide an overview of how the *Mir* codebase is organized thr ## `/src/server/scene` - The `Scene` provides an interface for the `Compositor` to access the list of renderable items - These renderables are derived from the surfaces that were added to the `Shell`. + - You can think of the `Scene` as you would think of a "scene graph" in a 3D game engine. - Unlike the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. ## `/src/server/graphics` From b14a8064c59eb796d53ba011af7a267a2daa7455 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 28 Sep 2023 14:50:19 -0400 Subject: [PATCH 17/37] Update doc/sphinx/architecture.md Co-authored-by: Alan Griffiths --- doc/sphinx/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 5ed5cf8c2c3..b1842f3fa53 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -3,7 +3,7 @@ This document describes the high-level architecture of *Mir*, including a diagra # Concepts ## MirAL -- The "Mir Abstraction Layer" (aka `mirAL` or `miral`) is a layer that makes the core Mir implementation easier for compositor-implementers to work with. +- The "Mir Abstraction Layer" (aka `MirAL` or `miral`) is an API that makes Mir easy for compositor-implementers to work with. It provides the core window management concepts and an interface that is more ABI stable than Mir's internal mirserver API. - If one wishes to implement a compositor themselves, they will spend most of their time interacting with the `mirAL` API and only really touch the `mir` API when they require core concepts like a `mir::geometry::Rectangle`. ## Mir From 5d63a7c4d707ac61f29d3a53a3866d5091b72d42 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 28 Sep 2023 16:37:21 -0400 Subject: [PATCH 18/37] Initial updated idea explaining libraries instead of folders --- doc/sphinx/architecture.md | 303 ++++++++++++++++++++++++++----------- 1 file changed, 212 insertions(+), 91 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index b1842f3fa53..53b94c567c5 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -1,27 +1,13 @@ # Overview -This document describes the high-level architecture of *Mir*, including a diagram and a brief introduction of the directory structure. +This document describes the high-level architecture of *Mir*, including a diagram and a brief introduction of the libraries. -# Concepts -## MirAL -- The "Mir Abstraction Layer" (aka `MirAL` or `miral`) is an API that makes Mir easy for compositor-implementers to work with. It provides the core window management concepts and an interface that is more ABI stable than Mir's internal mirserver API. -- If one wishes to implement a compositor themselves, they will spend most of their time interacting with the `mirAL` API and only really touch the `mir` API when they require core concepts like a `mir::geometry::Rectangle`. - -## Mir -- The core implementation of the compositor that `MirAL` uses under the hood -- Responsible for doing the heavy-lifting of the compositor, such as: - - Output detection and configuration - - Compositing the image onto outputs - - Implementing the [Wayland protocol](https://wayland.app/protocols/) - - Providing the different platforms that can be used for both display and rendering - - Handling user input and bubbling it up to `MirAL` - - & more! +# Audience +This document is intended to provide contributors to *Mir* an overview of *Mir*'s systems. It is *not* intended to guide compositor-implementers, unless they are specifically interested in the internals of *Mir*. # Diagram ![Architecture Diagram](./architecture.png "Architecture Diagram") -# Code Structure -This section will provide an overview of how the *Mir* codebase is organized through an exploration of the project's directory structure. - +# Top-Level Folders ## `/include` - The `include` folder at the root of the project provides the public-facing API. - This directory *strictly* includes the interfaces that are useful to a compositor-implementer. @@ -30,102 +16,237 @@ This section will provide an overview of how the *Mir* codebase is organized thr ## `/src` - The `src` folder at the root of the project comprises the core implementation of *Mir*. -## `/src/miral` -- Provides an interface to compositor-implementers that abstracts away many of the nitty-gritty details of *Mir*. See [MirAL](#miral) for more details -- Most of the classes in this directory look like this: - - ```c++ - class MyClass - { - public: - void operator()(mir::Server& server) const; - ... - }; - ``` - Instances of such a class (e.g. `X11Support`) are passed to the `MirRunner::run_with` function, wherein the overloaded operator function is called with the server as a parameter. - -## `/src/server` +## `/examples` +- A collection of demo *Mir* compositors that are used as examples of how one might build a true compositor. Examples include: + - `miral-app` + - `miral-shel` + - `mir_demo_server` + +## `/tests` +- Unit tests for the entire project. + +# Libraries +The following is the library tree: +``` +├── miral +├── miroil +├── mircore +├── mircommon +├── mircookie +└── mirserver + ├── mircompositor + ├── mirinput + ├── mirfrontend + ├── mirfrontend-wayland + ├── mirfrontend-xwayland + ├── mirshell + ├── mirshelldecoration + ├── mirscene + ├── mirgraphics + ├── mirreport + ├── mirlttng + ├── mirlogging + ├── mirnullreport + ├── mirconsole + ├── mirgl + └── mirrenderergl +├── mirplatform +├── mirwayland +├── graphics-gbm-kms +├── graphics-eglstreamkms +├── graphics-x11 +├── graphics-wayland +├── input-evdev +└── renderer-egl-generic +``` + +## miral +- The "Mir Abstraction Layer" (aka `MirAL` or `miral`) is an API that makes Mir easy for compositor-implementers to work with. It provides the core window management concepts and an interface that is more ABI stable than Mir's internal mirserver API. +- Public-facing +- Directories: + - `include/miral` + - `src/miral` + +## miroil +- A custom *Mir* library for the [Lomiri](https://lomiri.com/) folks +- This is unimportant for 99% of people +- Directories: + - `include/miroil` + - `src/miroil` + +## mircore +- Fundamental data structures like 2D points, Rectangles, File Descriptor, etc. +- Public-facing +- Directories: + - `include/core` + - `src/core` + - +## mircommon +- Data structures and utility functions like Mir-event building, logging, keymaps, etc. +- Differs from `mircore` in that the concepts map strictly onto *Mir*'s concepts instead of being general concepts like a Rectangle +- Public-facing +- Directories: + - `include/common` + - `src/common` + - `src/include/common` + +## mircookie +- Provides event timestamps for inputs events that are difficult to spoof. +- Public-facing +- Directories: + - `include/cookie` + - `src/cookie` + - `src/include/cookie` + +## mirserver - Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class. - The `Server` class has a `DisplayServer` which provides access to the interfaces that that support the server's runtime. - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the interface of interest. - The classes that the `Server` relies on for its runtime can be found organized in separate folders in this directory. - -## `/src/server/compositor` +- Directories: + - `include/server` + - `src/server` + - `src/include/server` + +## mircompositor +- Included in `mirserver.so` - The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed. +- Directories: + - `src/include/server/mir/compositor` + - `src/server/compositor` -## `/src/server/input` -- This folder deals with everything input (e.g. keyboard presses, mouse clicks) +## mirinput +- Included in `mirserver.so` +- Deals with everything input (e.g. keyboard presses, mouse clicks) - The `InputManager` provides access to the specific input platform that is running (e.g. X, Wayland, or libinput). - The `InputDispatcher` is responsible for taking events bubbled up from the platform and sending them off to the appropriate listeners - -## `/src/server/frontend_wayland` +- Directories + - `src/include/server/mir/input` + - `src/server/input` + +## mirfrontend +- TODO: How do I describe this one? +- Directories: + - `src/include/server/mir/frontend` + - `src/server/frontend` + +## mirfrontend-wayland - The *Mir* implementation of the wayland protocol. - The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. +- Directories: + - `src/server/frontend_wayland` -## `/src/server/frontend_xwayland` +## mirfrontend-xwayland - The *Mir* implementation of the xwayland protocol. - The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. - This protocol talks to the `xwayland` server, which is spawned as a subprocess. +- Directories: + - `src/server/frontend_xwayland` -## `/src/server/shell` +## mirshell - The `Shell` is responsible for managing the surfaces that the compositor wants to show. - It provides an interface to create, update, and remove these surfaces from the display. - As an example, the `WaylandConnector` might ask the `Shell` to create a new surface for it. - -## `/src/server/scene` +- Directories: + - `src/include/server/mir/shell` + - `src/server/shell` + +## mirshelldecoration +- Manages the decoration of *Mir*'s windows +- Directories: + - `src/server/shell/decoration` + +## mirscene - The `Scene` provides an interface for the `Compositor` to access the list of renderable items - These renderables are derived from the surfaces that were added to the `Shell`. - You can think of the `Scene` as you would think of a "scene graph" in a 3D game engine. - Unlike the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. +- Directories: + - `src/include/mir/server/scene` + - `src/server/scene` -## `/src/server/graphics` +## mirgraphics - A graphics abstraction layer sitting between the compositor and the specific graphics platform that it is using to render. - -## `/src/server/console` +- Directories: + - `src/include/mir/server/graphics` + - `src/server/graphics` + +## mirreport +- Default logging and reporting facilities +- Directories: + - `src/server/report` + +## mirlttng +- Support for LTTng +- Directories: + - `src/server/report/lttng` + +## mirlogging +- Logging facilities +- Directories + - `src/server/report/logging` + +## mirnullreport +- A null implementation of the reporting facilities +- Directories: + - `src/server/report/null` + +## mirconsole - Handles `logind` and virtual-terminal related tasks for the compositor - -## `/src/server/report` -- Logging and other facilities to collect data about the compositor - -## `/src/platforms` (with an "s"!) -- Provides both input and rendering platforms that the compositor can use depending on the environment. -- For the rendering platforms, we have: - - *GBM/KMS*: the platform that you would expect if you were running a *Mir*-based compositor as your daily-driver - - *X11*: a useful platform for testing locally - - *Wayland*: another useful platform for testing locally - - *EGLStreams/KMS*: like the *GBM/KMS* platform, but for Nvidia -- For the input platforms, we have: - - evdev - - X11 - - Wayland - -## `/src/platform` (no "s") -- Graphics and input code that is shared between platforms - -## `/src/renderers` (with an "s"!) -- The supported `Renderer` types. The renderer is used by the Compositor to build the final image. -- Only GL is supported at the moment. - -## `/src/renderer` (no "s") -- Renderer code that is shared between renderers. - -## `/src/wayland` +- Directories: + - `src/server/console` + +## mirgl +- A short list of helpers for GL things +- Directories: + - `src/gl` + +## mirrenderergl +- The only supported `Renderer` type for now +- Future renderers will be found alongside it in the `src/renderers` directory +- Directories: + - `src/renderers/gl` + +## mirplatform +- Graphics and input code that is shared between the platforms found in `src/platforms` +- Directories + - `src/include/platform` + - `src/platform` + +## mirwayland - A subproject used to generate C++ classes from wayland protocol XML files. - -## `/src/gl` -- A short list of helpers for GL work. - -## `/src/cookie` -- Provides event timestamps for inputs events that are difficult to spoof. - -## `/src/common` -- A library of common functionality that is used throughout the project, including things like loggers, clocks, executors, etc. - -## `/examples` -- A collection of demo *Mir* compositors that are used as examples of how one might build a true compositor. Examples include: - - `miral-app` - - `miral-shel` - - `mir_demo_server` - -## `/tests` -- Unit tests for the entire project. +- Directories: + - `src/wayland` + +## graphics-gbm-kms +- GBM/KMS display platform for Mir +- This is the main display platform that one would expect to use +- Directories: + - `src/platforms/gbm-kms` + +## graphics-gbm-kms +- EglStreams/KMS display platform for Mir +- This is an Nvidia-specific platform +- Directories: + - `src/platforms/eglstreams-kms` + +## graphics-x11 +- An X11-based display/input platform +- Primary platform used for testing +- Directories: + - `src/platforms/x11` + +## graphics-wayland +- A Wayland-based display/input platform +- Directories: + - `src/platforms/wayland` + +## input-evdev +- A `libinput` based input platform +- Directories + - `src/platforms/evdev` + +## renderer-egl-generic +- TODO: What do I put here? +- Directories: + - `src/platforms/renderer-generic-egl` From d0915dc9dc2ba4f60ef95022677f251c01de93ae Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 3 Oct 2023 09:53:40 -0400 Subject: [PATCH 19/37] Initial pull request feedback --- doc/sphinx/architecture.md | 66 ++++++-------------------------------- 1 file changed, 10 insertions(+), 56 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 53b94c567c5..411d04de6c6 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -19,11 +19,11 @@ This document is intended to provide contributors to *Mir* an overview of *Mir*' ## `/examples` - A collection of demo *Mir* compositors that are used as examples of how one might build a true compositor. Examples include: - `miral-app` - - `miral-shel` + - `miral-shell` - `mir_demo_server` ## `/tests` -- Unit tests for the entire project. +- Tests for the project, including unit tests, integration tests, acceptance tests, and test framework. # Libraries The following is the library tree: @@ -124,12 +124,6 @@ The following is the library tree: - `src/include/server/mir/input` - `src/server/input` -## mirfrontend -- TODO: How do I describe this one? -- Directories: - - `src/include/server/mir/frontend` - - `src/server/frontend` - ## mirfrontend-wayland - The *Mir* implementation of the wayland protocol. - The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. @@ -152,7 +146,7 @@ The following is the library tree: - `src/server/shell` ## mirshelldecoration -- Manages the decoration of *Mir*'s windows +- Manages *Mir*'s server-side decoration of windows. Currently only used for X11 clients. - Directories: - `src/server/shell/decoration` @@ -176,21 +170,6 @@ The following is the library tree: - Directories: - `src/server/report` -## mirlttng -- Support for LTTng -- Directories: - - `src/server/report/lttng` - -## mirlogging -- Logging facilities -- Directories - - `src/server/report/logging` - -## mirnullreport -- A null implementation of the reporting facilities -- Directories: - - `src/server/report/null` - ## mirconsole - Handles `logind` and virtual-terminal related tasks for the compositor - Directories: @@ -218,35 +197,10 @@ The following is the library tree: - Directories: - `src/wayland` -## graphics-gbm-kms -- GBM/KMS display platform for Mir -- This is the main display platform that one would expect to use -- Directories: - - `src/platforms/gbm-kms` - -## graphics-gbm-kms -- EglStreams/KMS display platform for Mir -- This is an Nvidia-specific platform -- Directories: - - `src/platforms/eglstreams-kms` - -## graphics-x11 -- An X11-based display/input platform -- Primary platform used for testing -- Directories: - - `src/platforms/x11` - -## graphics-wayland -- A Wayland-based display/input platform -- Directories: - - `src/platforms/wayland` - -## input-evdev -- A `libinput` based input platform -- Directories - - `src/platforms/evdev` - -## renderer-egl-generic -- TODO: What do I put here? -- Directories: - - `src/platforms/renderer-generic-egl` +## platforms (the directory, not a namespace) +- A **platform** is a backend that the compositor selects at runtime +- There are three distinct platforms that the compositor makes use of: + - *DisplayPlatform*: determines what the compositor is rendering *to* (e.g gbm-kms, x11, wayland) + - *InputPlatform*: determines how the compositor receives input (e.g. evdev, X11, wayland) + - *RenderingPlatform*: determines how we render (e.g. renderer-egl-generic) +- The platform is loaded from a `.so` file at runtime \ No newline at end of file From 7a67e9e5bfdee5a8bab396ae4b10413717a2ff52 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 3 Oct 2023 13:34:46 -0400 Subject: [PATCH 20/37] Moved from plantuml to mermaid --- doc/sphinx/architecture.md | 8 +- doc/sphinx/architecture.mermaid | 135 ++++++++++++++++++++++++++++++++ doc/sphinx/architecture.png | Bin 217181 -> 0 bytes doc/sphinx/architecture.puml | 121 ---------------------------- 4 files changed, 136 insertions(+), 128 deletions(-) create mode 100644 doc/sphinx/architecture.mermaid delete mode 100644 doc/sphinx/architecture.png delete mode 100644 doc/sphinx/architecture.puml diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 411d04de6c6..8aece1af9d3 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -51,13 +51,7 @@ The following is the library tree: ├── mirgl └── mirrenderergl ├── mirplatform -├── mirwayland -├── graphics-gbm-kms -├── graphics-eglstreamkms -├── graphics-x11 -├── graphics-wayland -├── input-evdev -└── renderer-egl-generic +└── mirwayland ``` ## miral diff --git a/doc/sphinx/architecture.mermaid b/doc/sphinx/architecture.mermaid new file mode 100644 index 00000000000..c4b99a66cfd --- /dev/null +++ b/doc/sphinx/architecture.mermaid @@ -0,0 +1,135 @@ +classDiagram + %% Miral + namespace miral { + class MirRunner + class SystemCompositorWindowManager + class WindowManagementPolicy + } + + SystemCompositorWindowManager *-- WindowManagementPolicy + + %% mir high level + namespace server { + class Server + class ServerConfiguration + } + + MirRunner *-- Server + Server *-- ServerConfiguration + + + %% Graphics + namespace graphics { + class MultiplexingDisplay + class DisplayPlatform + class Display + class DisplayBuffer + class MultiplexingDisplay + + class GbmDisplayPlatform + class X11DisplayPlatform + class WaylandDisplayPlatform + } + <> DisplayPlatform + <> Display + <> DisplayBuffer + + ServerConfiguration *-- DisplayPlatform + ServerConfiguration *-- MultiplexingDisplay + DisplayPlatform *-- Display + Display *-- DisplayBuffer + Display <|-- MultiplexingDisplay + MultiplexingDisplay *-- Display + + DisplayPlatform <|-- GbmDisplayPlatform + DisplayPlatform <|-- X11DisplayPlatform + DisplayPlatform <|-- WaylandDisplayPlatform + + %% Input + namespace input { + class BasicSeat + class InputDispatcher + class DefaultInputDeviceHub + class InputPlatform + class DefaultInputManager + class MultiplexingDispatchable + + class EvdevInputPlatform + class X11InputPlatform + class WaylandInputPlatform + } + + InputPlatform <|-- EvdevInputPlatform + InputPlatform <|-- X11InputPlatform + InputPlatform <|-- WaylandInputPlatform + BasicSeat *-- InputDispatcher + DefaultInputDeviceHub *-- BasicSeat + DefaultInputManager *-- InputPlatform + DefaultInputManager *-- MultiplexingDispatchable + DefaultInputDeviceHub *-- MultiplexingDispatchable + ServerConfiguration *-- InputPlatform + ServerConfiguration *-- DefaultInputDeviceHub + ServerConfiguration *-- InputDispatcher + ServerConfiguration *-- BasicSeat + + + %% Compositor + namespace compositor { + class MultithreadedCompositor + class DefaultDisplayBufferCompositorFactory + } + ServerConfiguration *-- MultithreadedCompositor + MultithreadedCompositor *-- SurfaceStack + MultithreadedCompositor *-- MultiplexingDisplay + MultithreadedCompositor *-- DefaultDisplayBufferCompositorFactory + + + %% Shell + namespace shell { + class AbstractShell + class WindowManager + } + + ServerConfiguration *-- AbstractShell + AbstractShell *-- WindowManager + WindowManager <|-- SystemCompositorWindowManager + InputDispatcher *-- AbstractShell + + + %% Scene + namespace scene { + class SurfaceStack + } + + MultithreadedCompositor *-- SurfaceStack + ServerConfiguration *-- SurfaceStack + AbstractShell *-- SurfaceStack + + %% Frontend wayland + namespace frontend_wayland { + class WaylandConnector + } + + WaylandConnector *-- AbstractShell + ServerConfiguration *-- WaylandConnector + + + %% Frontend XWayland + namespace frontend_xwayland { + class XWaylandConnector + } + + XWaylandConnector *-- AbstractShell + ServerConfiguration *-- XWaylandConnector + + + %% Renderer + namespace renderer { + class RendererFactory + class Renderer + class GlRenderer + } + <> Renderer + DefaultDisplayBufferCompositorFactory *-- RendererFactory + RendererFactory <-- Renderer + Renderer <|-- GlRenderer \ No newline at end of file diff --git a/doc/sphinx/architecture.png b/doc/sphinx/architecture.png deleted file mode 100644 index ed99fbb6ff0b0964ca92d77a65825dba15b0d279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217181 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ȲQ8S~J0 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

c`b>&3u4thK1HMNf=Tcn5Enjt^5i1v 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 diff --git a/doc/sphinx/architecture.puml b/doc/sphinx/architecture.puml deleted file mode 100644 index 1859060f5ab..00000000000 --- a/doc/sphinx/architecture.puml +++ /dev/null @@ -1,121 +0,0 @@ -@startuml - -hide members - -' Miral -class miral.MirRunner -class miral.SystemCompositorWindowManager extends mir.shell.WindowManager -class miral.MinimalWindowManager extends miral.WindowManagementPolicy - -miral.MirRunner <-right- mir.Server -miral.MirRunner <-right- miral.SystemCompositorWindowManager -miral.SystemCompositorWindowManager "n" <-d- miral.WindowManagementPolicy -miral.WindowManagementPolicy <- miral.WindowInfo -miral.WindowManagementPolicy <- miral.ApplicationInfo - - - -' Server -class mir.Server -class mir.ServerConfiguration - -' Scene -class mir.scene.SurfaceStack - -' Graphics -class mir.graphics.MultiplexingDisplay extends mir.graphics.Display -abstract class mir.graphics.DisplayPlatform -abstract class mir.graphics.Display -abstract class mir.graphics.DisplayBuffer -class mir.graphics.gbm.Display extends mir.graphics.Display -class mir.graphics.gbm.DisplayBuffer extends mir.graphics.DisplayBuffer -class mir.graphics.wayland.Display extends mir.graphics.Display -class mir.graphics.wayland.DisplayBuffer extends mir.graphics.DisplayBuffer -class mir.graphics.X.Display extends mir.graphics.Display -class mir.graphics.X.DisplayBuffer extends mir.graphics.DisplayBuffer -class mir.graphics.eglstream.Display extends mir.graphics.Display -class mir.graphics.eglstream.DisplayBuffer extends mir.graphics.DisplayBuffer - -' Input -class mir.input.BasicSeat -abstract class mir.input.InputDispatcher -class mir.input.DefaultInputDeviceHub -abstract class mir.input.Platform -class mir.input.evdev.Platform extends mir.input.Platform -class mir.input.wayland.Platform extends mir.input.Platform -class mir.input.X.Platform extends mir.input.Platform -class mir.input.DefaultInputManager -class mir.input.MultiplexingDispatchable - -' Shell -class mir.shell.AbstractShell -class mir.shell.WindowManager - -' Compositor -class mir.compositor.MultithreadedCompositor -class mir.compositor.DefaultDisplayBufferCompositorFactory - -' Renderer -class mir.renderer.RendererFactory -class mir.renderer.Renderer -class mir.renderer.gl.Renderer extends mir.renderer.Renderer - -' Frontends -class mir.frontend.WaylandConnector -class mir.frontend.XWaylandConnector - -' Forces miral on top of mir -miral.MirRunner --[hidden]-> mir.Server - -' Relationships -mir.Server <-right- mir.ServerConfiguration -mir.ServerConfiguration <-- mir.compositor.MultithreadedCompositor -mir.ServerConfiguration <-- mir.input.DefaultInputDeviceHub -mir.ServerConfiguration <-- mir.input.InputDispatcher -mir.ServerConfiguration <-- mir.input.BasicSeat -mir.ServerConfiguration <-- mir.frontend.XWaylandConnector -mir.ServerConfiguration <-- mir.frontend.WaylandConnector -mir.ServerConfiguration <-- mir.graphics.MultiplexingDisplay -mir.ServerConfiguration <-- mir.graphics.DisplayPlatform -mir.ServerConfiguration <-- mir.input.DefaultInputManager - -mir.compositor.MultithreadedCompositor <-- mir.scene.SurfaceStack -mir.compositor.MultithreadedCompositor <-- mir.graphics.MultiplexingDisplay -mir.compositor.MultithreadedCompositor <-- mir.compositor.DefaultDisplayBufferCompositorFactory -mir.compositor.DefaultDisplayBufferCompositorFactory <-- mir.renderer.RendererFactory - -mir.renderer.RendererFactory <-- mir.renderer.Renderer -mir.graphics.MultiplexingDisplay "n" <-right- mir.graphics.Display -mir.graphics.DisplayPlatform <-right- mir.graphics.Display -mir.graphics.Display "n" <-- mir.graphics.DisplayBuffer -mir.graphics.gbm.Display "n" <-- mir.graphics.gbm.DisplayBuffer -mir.graphics.eglstream.Display "n" <-- mir.graphics.eglstream.DisplayBuffer -mir.graphics.X.Display "n" <-- mir.graphics.X.DisplayBuffer -mir.graphics.wayland.Display "n" <-- mir.graphics.wayland.DisplayBuffer - -mir.frontend.WaylandConnector <-- mir.shell.AbstractShell -mir.frontend.XWaylandConnector <-- mir.shell.AbstractShell -mir.shell.AbstractShell <-- mir.scene.SurfaceStack -mir.shell.AbstractShell <-- mir.shell.WindowManager - -mir.input.DefaultInputManager <-- mir.input.Platform -mir.input.DefaultInputManager <-- mir.input.MultiplexingDispatchable -mir.input.BasicSeat <-- mir.input.InputDispatcher -mir.input.DefaultInputDeviceHub <-- mir.input.BasicSeat -mir.input.DefaultInputDeviceHub <-- mir.input.MultiplexingDispatchable -mir.input.Platform <-- mir.input.DefaultInputDeviceHub -mir.input.InputDispatcher <-- mir.shell.AbstractShell - - -package Hardware <> { - () mouse - () keyboard - () displays -} - - -Hardware.mouse <-- mir.input.evdev -Hardware.keyboard <-- mir.input.evdev -Hardware.displays <-- mir.graphics.Display - -@enduml From c14787e71d4b51a268c2425922f29aeb92d16f6d Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 3 Oct 2023 15:04:04 -0400 Subject: [PATCH 21/37] Adding the diagram to the generated files --- doc/sphinx/.sphinx/requirements.txt | 1 + doc/sphinx/architecture.md | 62 +++++++++---------- doc/sphinx/architecture_diagram.rst | 4 ++ doc/sphinx/conf.py | 1 - doc/sphinx/custom_conf.py.in | 1 + ...tecture.mermaid => high_level_diagram.mmd} | 5 -- doc/sphinx/index.md | 2 + 7 files changed, 39 insertions(+), 37 deletions(-) create mode 100644 doc/sphinx/architecture_diagram.rst rename doc/sphinx/{architecture.mermaid => high_level_diagram.mmd} (96%) diff --git a/doc/sphinx/.sphinx/requirements.txt b/doc/sphinx/.sphinx/requirements.txt index 9ae1d947e69..a891699b360 100644 --- a/doc/sphinx/.sphinx/requirements.txt +++ b/doc/sphinx/.sphinx/requirements.txt @@ -13,3 +13,4 @@ sphinxcontrib-jquery sphinx-notfound-page breathe exhale +sphinxcontrib-mermaid diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 8aece1af9d3..8a3fab50ce4 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -1,31 +1,31 @@ -# Overview +# Architecture This document describes the high-level architecture of *Mir*, including a diagram and a brief introduction of the libraries. -# Audience +## Audience This document is intended to provide contributors to *Mir* an overview of *Mir*'s systems. It is *not* intended to guide compositor-implementers, unless they are specifically interested in the internals of *Mir*. -# Diagram -![Architecture Diagram](./architecture.png "Architecture Diagram") +## Diagram +[Architecture Diagram](./architecture_diagram.rst) -# Top-Level Folders -## `/include` +## Top-Level Folders +### `/include` - The `include` folder at the root of the project provides the public-facing API. - This directory *strictly* includes the interfaces that are useful to a compositor-implementer. - If one is only interested in implementing their own *Mir*-based compositor, they need not look any further than this directory. -## `/src` +### `/src` - The `src` folder at the root of the project comprises the core implementation of *Mir*. -## `/examples` +### `/examples` - A collection of demo *Mir* compositors that are used as examples of how one might build a true compositor. Examples include: - `miral-app` - `miral-shell` - `mir_demo_server` -## `/tests` +### `/tests` - Tests for the project, including unit tests, integration tests, acceptance tests, and test framework. -# Libraries +## Libraries The following is the library tree: ``` ├── miral @@ -54,28 +54,28 @@ The following is the library tree: └── mirwayland ``` -## miral +### miral - The "Mir Abstraction Layer" (aka `MirAL` or `miral`) is an API that makes Mir easy for compositor-implementers to work with. It provides the core window management concepts and an interface that is more ABI stable than Mir's internal mirserver API. - Public-facing - Directories: - `include/miral` - `src/miral` -## miroil +### miroil - A custom *Mir* library for the [Lomiri](https://lomiri.com/) folks - This is unimportant for 99% of people - Directories: - `include/miroil` - `src/miroil` -## mircore +### mircore - Fundamental data structures like 2D points, Rectangles, File Descriptor, etc. - Public-facing - Directories: - `include/core` - `src/core` - -## mircommon +### mircommon - Data structures and utility functions like Mir-event building, logging, keymaps, etc. - Differs from `mircore` in that the concepts map strictly onto *Mir*'s concepts instead of being general concepts like a Rectangle - Public-facing @@ -84,7 +84,7 @@ The following is the library tree: - `src/common` - `src/include/common` -## mircookie +### mircookie - Provides event timestamps for inputs events that are difficult to spoof. - Public-facing - Directories: @@ -92,7 +92,7 @@ The following is the library tree: - `src/cookie` - `src/include/cookie` -## mirserver +### mirserver - Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class. - The `Server` class has a `DisplayServer` which provides access to the interfaces that that support the server's runtime. - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the interface of interest. @@ -102,14 +102,14 @@ The following is the library tree: - `src/server` - `src/include/server` -## mircompositor +### mircompositor - Included in `mirserver.so` - The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed. - Directories: - `src/include/server/mir/compositor` - `src/server/compositor` -## mirinput +### mirinput - Included in `mirserver.so` - Deals with everything input (e.g. keyboard presses, mouse clicks) - The `InputManager` provides access to the specific input platform that is running (e.g. X, Wayland, or libinput). @@ -118,20 +118,20 @@ The following is the library tree: - `src/include/server/mir/input` - `src/server/input` -## mirfrontend-wayland +### mirfrontend-wayland - The *Mir* implementation of the wayland protocol. - The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. - Directories: - `src/server/frontend_wayland` -## mirfrontend-xwayland +### mirfrontend-xwayland - The *Mir* implementation of the xwayland protocol. - The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. - This protocol talks to the `xwayland` server, which is spawned as a subprocess. - Directories: - `src/server/frontend_xwayland` -## mirshell +### mirshell - The `Shell` is responsible for managing the surfaces that the compositor wants to show. - It provides an interface to create, update, and remove these surfaces from the display. - As an example, the `WaylandConnector` might ask the `Shell` to create a new surface for it. @@ -139,12 +139,12 @@ The following is the library tree: - `src/include/server/mir/shell` - `src/server/shell` -## mirshelldecoration +### mirshelldecoration - Manages *Mir*'s server-side decoration of windows. Currently only used for X11 clients. - Directories: - `src/server/shell/decoration` -## mirscene +### mirscene - The `Scene` provides an interface for the `Compositor` to access the list of renderable items - These renderables are derived from the surfaces that were added to the `Shell`. - You can think of the `Scene` as you would think of a "scene graph" in a 3D game engine. @@ -153,45 +153,45 @@ The following is the library tree: - `src/include/mir/server/scene` - `src/server/scene` -## mirgraphics +### mirgraphics - A graphics abstraction layer sitting between the compositor and the specific graphics platform that it is using to render. - Directories: - `src/include/mir/server/graphics` - `src/server/graphics` -## mirreport +### mirreport - Default logging and reporting facilities - Directories: - `src/server/report` -## mirconsole +### mirconsole - Handles `logind` and virtual-terminal related tasks for the compositor - Directories: - `src/server/console` -## mirgl +### mirgl - A short list of helpers for GL things - Directories: - `src/gl` -## mirrenderergl +### mirrenderergl - The only supported `Renderer` type for now - Future renderers will be found alongside it in the `src/renderers` directory - Directories: - `src/renderers/gl` -## mirplatform +### mirplatform - Graphics and input code that is shared between the platforms found in `src/platforms` - Directories - `src/include/platform` - `src/platform` -## mirwayland +### mirwayland - A subproject used to generate C++ classes from wayland protocol XML files. - Directories: - `src/wayland` -## platforms (the directory, not a namespace) +### platforms (the directory, not a namespace) - A **platform** is a backend that the compositor selects at runtime - There are three distinct platforms that the compositor makes use of: - *DisplayPlatform*: determines what the compositor is rendering *to* (e.g gbm-kms, x11, wayland) diff --git a/doc/sphinx/architecture_diagram.rst b/doc/sphinx/architecture_diagram.rst new file mode 100644 index 00000000000..b4b9582a1b1 --- /dev/null +++ b/doc/sphinx/architecture_diagram.rst @@ -0,0 +1,4 @@ +Architecture Diagram +-------------- + +.. mermaid:: ./high_level_diagram.mmd \ No newline at end of file diff --git a/doc/sphinx/conf.py b/doc/sphinx/conf.py index fa20cf163f2..d2b247a143f 100644 --- a/doc/sphinx/conf.py +++ b/doc/sphinx/conf.py @@ -17,7 +17,6 @@ extensions = [ 'sphinx_design', - 'sphinx_tabs.tabs', 'sphinx_reredirects', 'youtube-links', 'related-links', diff --git a/doc/sphinx/custom_conf.py.in b/doc/sphinx/custom_conf.py.in index 661a09b9efb..4632812daba 100644 --- a/doc/sphinx/custom_conf.py.in +++ b/doc/sphinx/custom_conf.py.in @@ -114,6 +114,7 @@ custom_extensions = [ 'breathe', 'exhale', 'sphinx.ext.graphviz', + 'sphinxcontrib.mermaid' ] # Add files or directories that should be excluded from processing. diff --git a/doc/sphinx/architecture.mermaid b/doc/sphinx/high_level_diagram.mmd similarity index 96% rename from doc/sphinx/architecture.mermaid rename to doc/sphinx/high_level_diagram.mmd index c4b99a66cfd..aa0132cb759 100644 --- a/doc/sphinx/architecture.mermaid +++ b/doc/sphinx/high_level_diagram.mmd @@ -30,10 +30,6 @@ classDiagram class X11DisplayPlatform class WaylandDisplayPlatform } - <> DisplayPlatform - <> Display - <> DisplayBuffer - ServerConfiguration *-- DisplayPlatform ServerConfiguration *-- MultiplexingDisplay DisplayPlatform *-- Display @@ -129,7 +125,6 @@ classDiagram class Renderer class GlRenderer } - <> Renderer DefaultDisplayBufferCompositorFactory *-- RendererFactory RendererFactory <-- Renderer Renderer <|-- GlRenderer \ No newline at end of file diff --git a/doc/sphinx/index.md b/doc/sphinx/index.md index 6d960f73882..84e1ddb3377 100644 --- a/doc/sphinx/index.md +++ b/doc/sphinx/index.md @@ -31,5 +31,7 @@ The server API is introduced here: [Introducing the MirAL API](introducing_the_m getting_and_using_mir getting_involved_in_mir +architecture +architecture_diagram api/library_root ``` From ee047d06d94100be2b77bf85d6b85ea8759d8330 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 3 Oct 2023 15:23:59 -0400 Subject: [PATCH 22/37] Adding a proper mermaid version --- doc/sphinx/custom_conf.py.in | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/sphinx/custom_conf.py.in b/doc/sphinx/custom_conf.py.in index 4632812daba..874aefdfa76 100644 --- a/doc/sphinx/custom_conf.py.in +++ b/doc/sphinx/custom_conf.py.in @@ -173,3 +173,6 @@ breathe_projects = {"Mir": "./xml/"} breathe_default_project = "Mir" breathe_default_members = ('members', 'undoc-members') breathe_order_parameters_first = True + +# Mermaid +mermaid_version = "10.5.0" \ No newline at end of file From 5c6c7a9e7d7621c292dd9a9c895301b252463903 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 3 Oct 2023 15:43:07 -0400 Subject: [PATCH 23/37] Adding zoom to mermaid --- doc/sphinx/custom_conf.py.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/sphinx/custom_conf.py.in b/doc/sphinx/custom_conf.py.in index 874aefdfa76..d7e6ddd3679 100644 --- a/doc/sphinx/custom_conf.py.in +++ b/doc/sphinx/custom_conf.py.in @@ -175,4 +175,5 @@ breathe_default_members = ('members', 'undoc-members') breathe_order_parameters_first = True # Mermaid -mermaid_version = "10.5.0" \ No newline at end of file +mermaid_version = "10.5.0" +mermaid_d3_zoom = True From f2f4cfe96e2a9f783d2188d0173599bca4231474 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 3 Oct 2023 16:15:22 -0400 Subject: [PATCH 24/37] Restructured version of the architecture.md file --- doc/sphinx/architecture.md | 171 +++++++++++++++---------------------- 1 file changed, 71 insertions(+), 100 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 8a3fab50ce4..3aa96fbd7da 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -1,115 +1,100 @@ # Architecture -This document describes the high-level architecture of *Mir*, including a diagram and a brief introduction of the libraries. +This document describes the high-level architecture of *Mir*. ## Audience This document is intended to provide contributors to *Mir* an overview of *Mir*'s systems. It is *not* intended to guide compositor-implementers, unless they are specifically interested in the internals of *Mir*. -## Diagram -[Architecture Diagram](./architecture_diagram.rst) - -## Top-Level Folders -### `/include` -- The `include` folder at the root of the project provides the public-facing API. -- This directory *strictly* includes the interfaces that are useful to a compositor-implementer. -- If one is only interested in implementing their own *Mir*-based compositor, they need not look any further than this directory. - -### `/src` -- The `src` folder at the root of the project comprises the core implementation of *Mir*. - -### `/examples` -- A collection of demo *Mir* compositors that are used as examples of how one might build a true compositor. Examples include: - - `miral-app` - - `miral-shell` - - `mir_demo_server` - -### `/tests` -- Tests for the project, including unit tests, integration tests, acceptance tests, and test framework. - -## Libraries -The following is the library tree: -``` -├── miral -├── miroil -├── mircore -├── mircommon -├── mircookie -└── mirserver - ├── mircompositor - ├── mirinput - ├── mirfrontend - ├── mirfrontend-wayland - ├── mirfrontend-xwayland - ├── mirshell - ├── mirshelldecoration - ├── mirscene - ├── mirgraphics - ├── mirreport - ├── mirlttng - ├── mirlogging - ├── mirnullreport - ├── mirconsole - ├── mirgl - └── mirrenderergl -├── mirplatform -└── mirwayland -``` +Click [here](./architecture_diagram.rst) to see a diagram of *Mir*'s systems. + +## Projects +The *Mir* project is split into three subprojects, namely: + +1. *mirserver*: the core implementation of *Mir* +2. *miral*: the library used by compositor developers; relies on *mirserver* to do the heavy-lifting +3. *miroil*: the library used by Lomiri developers; relies on *mirserver* to o the heavy-lifting + +The following explains the role that each plays in a bit more detail. + +### mirserver +- Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class +- Consumed by both `miral` and `miroil` +- Directories: + - `include/server` + - `src/server` + - `src/include/server` ### miral -- The "Mir Abstraction Layer" (aka `MirAL` or `miral`) is an API that makes Mir easy for compositor-implementers to work with. It provides the core window management concepts and an interface that is more ABI stable than Mir's internal mirserver API. -- Public-facing +- The "Mir Abstraction Layer" (aka `MirAL` or `miral`) is an API that makes Mir easy for compositor-implementers to work with. It provides the core window management concepts and an interface that is more ABI stable than Mir's internal `mirserver` API - Directories: - `include/miral` - `src/miral` - + ### miroil -- A custom *Mir* library for the [Lomiri](https://lomiri.com/) folks -- This is unimportant for 99% of people +- A custom *Mir* library for the [Lomiri](https://lomiri.com/) folks. Like `miral`, this library is built upon `mirserver` +- This is unimportant for everyone except Lomiri developers - Directories: - `include/miroil` - `src/miroil` -### mircore +## Core concepts of `mirserver` +The `mirserver` library includes a number of concepts that are key to handling *Mir*'s runtime. These are: + +- [Platforms](#platforms) +- [Core](#core) +- [Common](#common) +- [Compositor](#compositor) +- [Input](#input) +- [Frontend Wayland](#frontend-wayland) +- [Frontend XWayland](#frontend-xwayland) +- [Shell](#shell) +- [Shell Decoration](#shell-decoration) +- [Scene](#scene) +- [Graphics](#graphics) +- [Report](#report) +- [Console](#console) +- [GL](#gl) +- [RendererGL](#renderergl) +- [Wayland Protocol Generation](#wayland-protocol-generation) + +## Platforms +- A **platform** is an adaptors that allows `mirserver` to work across different graphics, input, and rendering stacks +- *Mir* decides which platforms to use at runtime +- There are three distinct types of platforms: + - *Display platform*: determines what the compositor is rendering *to* (e.g gbm-kms, x11, wayland) + - *Input platform*: determines how the compositor receives input (e.g. evdev, X11, wayland) + - *Rendering platform*: determines how we render (e.g. renderer-egl-generic) + +### Core - Fundamental data structures like 2D points, Rectangles, File Descriptor, etc. -- Public-facing +- This library is shared between `mirserver` and `miral` because it provides fundamental concepts. - Directories: - `include/core` - `src/core` - - -### mircommon + +### Common - Data structures and utility functions like Mir-event building, logging, keymaps, etc. - Differs from `mircore` in that the concepts map strictly onto *Mir*'s concepts instead of being general concepts like a Rectangle -- Public-facing +- This library is shared between `mirserver` and `miral - Directories: - `include/common` - `src/common` - `src/include/common` -### mircookie +### Cookie - Provides event timestamps for inputs events that are difficult to spoof. -- Public-facing - Directories: - `include/cookie` - `src/cookie` - `src/include/cookie` - -### mirserver -- Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class. -- The `Server` class has a `DisplayServer` which provides access to the interfaces that that support the server's runtime. - - The `ServerConfiguration` provides a bunch of methods called `the_XYZ()` to access these various instances, where "XYZ" can be replaced with the interface of interest. -- The classes that the `Server` relies on for its runtime can be found organized in separate folders in this directory. -- Directories: - - `include/server` - - `src/server` - - `src/include/server` -### mircompositor +### Compositor - Included in `mirserver.so` - The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed. - Directories: - `src/include/server/mir/compositor` - `src/server/compositor` -### mirinput +### Input - Included in `mirserver.so` - Deals with everything input (e.g. keyboard presses, mouse clicks) - The `InputManager` provides access to the specific input platform that is running (e.g. X, Wayland, or libinput). @@ -118,20 +103,20 @@ The following is the library tree: - `src/include/server/mir/input` - `src/server/input` -### mirfrontend-wayland +### Frontend Wayland - The *Mir* implementation of the wayland protocol. - The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. - Directories: - `src/server/frontend_wayland` -### mirfrontend-xwayland +### Frontend XWayland - The *Mir* implementation of the xwayland protocol. - The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. - This protocol talks to the `xwayland` server, which is spawned as a subprocess. - Directories: - `src/server/frontend_xwayland` -### mirshell +### Shell - The `Shell` is responsible for managing the surfaces that the compositor wants to show. - It provides an interface to create, update, and remove these surfaces from the display. - As an example, the `WaylandConnector` might ask the `Shell` to create a new surface for it. @@ -139,12 +124,12 @@ The following is the library tree: - `src/include/server/mir/shell` - `src/server/shell` -### mirshelldecoration +### Shell Decoration - Manages *Mir*'s server-side decoration of windows. Currently only used for X11 clients. - Directories: - `src/server/shell/decoration` -### mirscene +### Scene - The `Scene` provides an interface for the `Compositor` to access the list of renderable items - These renderables are derived from the surfaces that were added to the `Shell`. - You can think of the `Scene` as you would think of a "scene graph" in a 3D game engine. @@ -153,48 +138,34 @@ The following is the library tree: - `src/include/mir/server/scene` - `src/server/scene` -### mirgraphics +### Graphics - A graphics abstraction layer sitting between the compositor and the specific graphics platform that it is using to render. - Directories: - `src/include/mir/server/graphics` - `src/server/graphics` -### mirreport +### Report - Default logging and reporting facilities - Directories: - `src/server/report` -### mirconsole +### Console - Handles `logind` and virtual-terminal related tasks for the compositor - Directories: - `src/server/console` -### mirgl +### GL - A short list of helpers for GL things - Directories: - `src/gl` -### mirrenderergl +### RendererGL - The only supported `Renderer` type for now - Future renderers will be found alongside it in the `src/renderers` directory - Directories: - `src/renderers/gl` - -### mirplatform -- Graphics and input code that is shared between the platforms found in `src/platforms` -- Directories - - `src/include/platform` - - `src/platform` -### mirwayland +### Wayland Protocol Generation - A subproject used to generate C++ classes from wayland protocol XML files. - Directories: - - `src/wayland` - -### platforms (the directory, not a namespace) -- A **platform** is a backend that the compositor selects at runtime -- There are three distinct platforms that the compositor makes use of: - - *DisplayPlatform*: determines what the compositor is rendering *to* (e.g gbm-kms, x11, wayland) - - *InputPlatform*: determines how the compositor receives input (e.g. evdev, X11, wayland) - - *RenderingPlatform*: determines how we render (e.g. renderer-egl-generic) -- The platform is loaded from a `.so` file at runtime \ No newline at end of file + - `src/wayland` \ No newline at end of file From 768b4d2e050425c50d2b431837a1d8a1598fd019 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 3 Oct 2023 16:20:49 -0400 Subject: [PATCH 25/37] Removing some unnecessary concepts --- doc/sphinx/architecture.md | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 3aa96fbd7da..d7cd8a6a5d3 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -47,13 +47,11 @@ The `mirserver` library includes a number of concepts that are key to handling * - [Frontend Wayland](#frontend-wayland) - [Frontend XWayland](#frontend-xwayland) - [Shell](#shell) -- [Shell Decoration](#shell-decoration) - [Scene](#scene) - [Graphics](#graphics) - [Report](#report) - [Console](#console) -- [GL](#gl) -- [RendererGL](#renderergl) +- [RendererGL](#renderer-gl) - [Wayland Protocol Generation](#wayland-protocol-generation) ## Platforms @@ -124,11 +122,6 @@ The `mirserver` library includes a number of concepts that are key to handling * - `src/include/server/mir/shell` - `src/server/shell` -### Shell Decoration -- Manages *Mir*'s server-side decoration of windows. Currently only used for X11 clients. -- Directories: - - `src/server/shell/decoration` - ### Scene - The `Scene` provides an interface for the `Compositor` to access the list of renderable items - These renderables are derived from the surfaces that were added to the `Shell`. @@ -153,14 +146,10 @@ The `mirserver` library includes a number of concepts that are key to handling * - Handles `logind` and virtual-terminal related tasks for the compositor - Directories: - `src/server/console` - -### GL -- A short list of helpers for GL things -- Directories: - - `src/gl` -### RendererGL -- The only supported `Renderer` type for now +### Renderer GL +- The only supported `Renderer` type +- This is used by the compositor to build the final image - Future renderers will be found alongside it in the `src/renderers` directory - Directories: - `src/renderers/gl` From 8a2eb5ea799ac58d2e22512af088c90ac4ac2569 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 3 Oct 2023 16:30:36 -0400 Subject: [PATCH 26/37] Once again updating the architecture markdown file --- doc/sphinx/architecture.md | 123 +++++++++++++++---------------------- 1 file changed, 49 insertions(+), 74 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index d7cd8a6a5d3..02f04f76e89 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -16,7 +16,7 @@ The *Mir* project is split into three subprojects, namely: The following explains the role that each plays in a bit more detail. ### mirserver -- Provides the core *Mir* runtime, with the entry-point being the `mir::Server` class +- Provides the core *Mir* runtime, with the entry-point being `mir::Server` - Consumed by both `miral` and `miroil` - Directories: - `include/server` @@ -30,8 +30,8 @@ The following explains the role that each plays in a bit more detail. - `src/miral` ### miroil -- A custom *Mir* library for the [Lomiri](https://lomiri.com/) folks. Like `miral`, this library is built upon `mirserver` -- This is unimportant for everyone except Lomiri developers +- A custom *Mir* library for the [Lomiri](https://lomiri.com/) folks +- Like `miral`, this library is built upon `mirserver` - Directories: - `include/miroil` - `src/miroil` @@ -39,20 +39,26 @@ The following explains the role that each plays in a bit more detail. ## Core concepts of `mirserver` The `mirserver` library includes a number of concepts that are key to handling *Mir*'s runtime. These are: -- [Platforms](#platforms) -- [Core](#core) -- [Common](#common) - [Compositor](#compositor) +- [Platforms](#platforms) - [Input](#input) -- [Frontend Wayland](#frontend-wayland) -- [Frontend XWayland](#frontend-xwayland) - [Shell](#shell) - [Scene](#scene) +- [Frontend Wayland](#frontend-wayland) +- [Wayland Protocol Generation](#wayland-protocol-generation) +- [Frontend XWayland](#frontend-xwayland) - [Graphics](#graphics) +- [RendererGL](#renderer-gl) - [Report](#report) - [Console](#console) -- [RendererGL](#renderer-gl) -- [Wayland Protocol Generation](#wayland-protocol-generation) + +### Compositor +- The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed +- These renderables come from the [scene](#scene) +- The final composited image is sent to the displays that are provided by the [platforms](#platforms) +- Directories: + - `src/include/server/mir/compositor` + - `src/server/compositor` ## Platforms - A **platform** is an adaptors that allows `mirserver` to work across different graphics, input, and rendering stacks @@ -62,91 +68,55 @@ The `mirserver` library includes a number of concepts that are key to handling * - *Input platform*: determines how the compositor receives input (e.g. evdev, X11, wayland) - *Rendering platform*: determines how we render (e.g. renderer-egl-generic) -### Core -- Fundamental data structures like 2D points, Rectangles, File Descriptor, etc. -- This library is shared between `mirserver` and `miral` because it provides fundamental concepts. -- Directories: - - `include/core` - - `src/core` - -### Common -- Data structures and utility functions like Mir-event building, logging, keymaps, etc. -- Differs from `mircore` in that the concepts map strictly onto *Mir*'s concepts instead of being general concepts like a Rectangle -- This library is shared between `mirserver` and `miral -- Directories: - - `include/common` - - `src/common` - - `src/include/common` - -### Cookie -- Provides event timestamps for inputs events that are difficult to spoof. -- Directories: - - `include/cookie` - - `src/cookie` - - `src/include/cookie` - -### Compositor -- Included in `mirserver.so` -- The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed. -- Directories: - - `src/include/server/mir/compositor` - - `src/server/compositor` - ### Input -- Included in `mirserver.so` - Deals with everything input (e.g. keyboard presses, mouse clicks) -- The `InputManager` provides access to the specific input platform that is running (e.g. X, Wayland, or libinput). -- The `InputDispatcher` is responsible for taking events bubbled up from the platform and sending them off to the appropriate listeners +- Provides the rest of *Mir* with access to these events +- The input platform is provided by the [platform](#platforms) - Directories - `src/include/server/mir/input` - `src/server/input` - -### Frontend Wayland -- The *Mir* implementation of the wayland protocol. -- The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. -- Directories: - - `src/server/frontend_wayland` - -### Frontend XWayland -- The *Mir* implementation of the xwayland protocol. -- The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol. -- This protocol talks to the `xwayland` server, which is spawned as a subprocess. -- Directories: - - `src/server/frontend_xwayland` ### Shell - The `Shell` is responsible for managing the surfaces that the compositor wants to show. - It provides an interface to create, update, and remove these surfaces from the display. -- As an example, the `WaylandConnector` might ask the `Shell` to create a new surface for it. +- As an example, the [wayland frontend](#frontend-wayland) might ask the `Shell` to create a new surface for it. - Directories: - `src/include/server/mir/shell` - `src/server/shell` - + ### Scene - The `Scene` provides an interface for the `Compositor` to access the list of renderable items - - These renderables are derived from the surfaces that were added to the `Shell`. - - You can think of the `Scene` as you would think of a "scene graph" in a 3D game engine. + - These renderables are derived from the surfaces that were added to the [shell](#shell) + - You can think of the `Scene` as you would think of a "scene graph" in a 3D game engine - Unlike the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. - Directories: - `src/include/mir/server/scene` - `src/server/scene` +### Frontend Wayland +- The *Mir* implementation of the wayland protocol +- The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. +- Directories: + - `src/server/frontend_wayland` + +### Wayland Protocol Generation +- A subproject used to generate C++ classes from wayland protocol XML files. +- Directories: + - `src/wayland` + +### Frontend XWayland +- The *Mir* implementation of the xwayland protocol +- The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol +- This protocol talks to the `xwayland` server, which is spawned as a subprocess +- Directories: + - `src/server/frontend_xwayland` + ### Graphics -- A graphics abstraction layer sitting between the compositor and the specific graphics platform that it is using to render. +- A graphics abstraction layer sitting between the compositor and the specific graphics platform that it is using to render - Directories: - `src/include/mir/server/graphics` - `src/server/graphics` - -### Report -- Default logging and reporting facilities -- Directories: - - `src/server/report` -### Console -- Handles `logind` and virtual-terminal related tasks for the compositor -- Directories: - - `src/server/console` - ### Renderer GL - The only supported `Renderer` type - This is used by the compositor to build the final image @@ -154,7 +124,12 @@ The `mirserver` library includes a number of concepts that are key to handling * - Directories: - `src/renderers/gl` -### Wayland Protocol Generation -- A subproject used to generate C++ classes from wayland protocol XML files. +### Report +- Default logging and reporting facilities +- Directories: + - `src/server/report` + +### Console +- Handles `logind` and virtual-terminal related tasks for the compositor - Directories: - - `src/wayland` \ No newline at end of file + - `src/server/console` \ No newline at end of file From 854eca4a1b899770d2a8a45854041f6a5ff6a568 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Wed, 4 Oct 2023 13:53:00 -0400 Subject: [PATCH 27/37] Updating the architecture docs pt 3 --- doc/sphinx/architecture.md | 166 ++++++++++--------------------------- 1 file changed, 46 insertions(+), 120 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 02f04f76e89..a1de7ae3e2b 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -1,135 +1,61 @@ # Architecture -This document describes the high-level architecture of *Mir*. +This document introduces the architecture of *Mir* at a high-level. ## Audience -This document is intended to provide contributors to *Mir* an overview of *Mir*'s systems. It is *not* intended to guide compositor-implementers, unless they are specifically interested in the internals of *Mir*. +This document is intended to provide contributors to *Mir* an overview of *Mir*'s systems. It is *not* intended to guide compositor authors. Click [here](./architecture_diagram.rst) to see a diagram of *Mir*'s systems. -## Projects -The *Mir* project is split into three subprojects, namely: +## Index +- [APIs for compositor authors](#apis-for-compositor-authors) +- [The Mir Engine](#the-mir-engine) +- [Platforms](#platforms) +- [Supporting Libraries](#supporting-libraries) -1. *mirserver*: the core implementation of *Mir* -2. *miral*: the library used by compositor developers; relies on *mirserver* to do the heavy-lifting -3. *miroil*: the library used by Lomiri developers; relies on *mirserver* to o the heavy-lifting +## APIs for compositor authors +*Mir* provides compositor authors with a set of libraries that they can use to build Wayland based shells. These libraries are: +- *miral* +- *miroil* +- *mirwayland* -The following explains the role that each plays in a bit more detail. +### Miral +The most commonly used library is `miral`. `miral` (the "*Mir* Abstraction Layer") is an API that makes *Mir* easy for compositor authors to work with. It provides core window management concepts and an interface that is more ABI stable than Mir's internal API. `miral` is built on the [*Mir* engine](#the-mir-engine), however compositor authors are encouraged to only interact with the high-level `miral` library. -### mirserver -- Provides the core *Mir* runtime, with the entry-point being `mir::Server` -- Consumed by both `miral` and `miroil` -- Directories: - - `include/server` - - `src/server` - - `src/include/server` +### Miroil +`miroil` is a custom library for the [Lomiri](https://lomiri.com/) folks. Most compositor authors will not interact with `miroil`. [The *Mir* engine](#the-mir-engine) also serves as the basis for `miroil` as it does for `miral`. -### miral -- The "Mir Abstraction Layer" (aka `MirAL` or `miral`) is an API that makes Mir easy for compositor-implementers to work with. It provides the core window management concepts and an interface that is more ABI stable than Mir's internal `mirserver` API -- Directories: - - `include/miral` - - `src/miral` +### Mirwayland +Compositor authors may want to define their own wayland protocol extensions in addition to the ones that the core *Mir* implementation defines. The `mirwayland` library satisfies this requirement. This library may be used in conjunction with either `miral` or `miroil`. -### miroil -- A custom *Mir* library for the [Lomiri](https://lomiri.com/) folks -- Like `miral`, this library is built upon `mirserver` -- Directories: - - `include/miroil` - - `src/miroil` +## The Mir engine +The `mirserver` library is the core implementation of *Mir*. It serves as the engine for both `miral` and `miroil`. This library does the heavy-lifting for the compositor and, as a result, it is the largest piece of *Mir*. This section will explain the primary concepts that drive the engine. -## Core concepts of `mirserver` -The `mirserver` library includes a number of concepts that are key to handling *Mir*'s runtime. These are: +### Core Concepts +At the heart of `mirserver` are two interfaces: the **Shell** and the **Scene**. The `Shell` is responsible for fielding requests from the rest system. The `Shell` then modifies the state of the `Scene` to reflect the requested changes. For example, part of the system would ask the `Shell` to move a window. The `Shell` would then decide what position to move that window to and update the state of the `Scene` to reflect that change. -- [Compositor](#compositor) -- [Platforms](#platforms) -- [Input](#input) -- [Shell](#shell) -- [Scene](#scene) -- [Frontend Wayland](#frontend-wayland) -- [Wayland Protocol Generation](#wayland-protocol-generation) -- [Frontend XWayland](#frontend-xwayland) -- [Graphics](#graphics) -- [RendererGL](#renderer-gl) -- [Report](#report) -- [Console](#console) - -### Compositor -- The `Compositor` is responsible for collecting the set of renderables and sending them off to the outputs to be displayed -- These renderables come from the [scene](#scene) -- The final composited image is sent to the displays that are provided by the [platforms](#platforms) -- Directories: - - `src/include/server/mir/compositor` - - `src/server/compositor` +### From Scene to Screen +Knowing that the `Scene` holds the state of what is to be displayed, we can talk about the **Compositor**. The `Compositor` gets the collection of items to render from the `Scene`, +renders them, and sends them off to the [platform](#platforms) to be displayed. + +### From Interaction to Shell +As stated previously, the `Shell` handles requests from the system and updates the state of the `Scene` accordingly. These requests come from a variety of sources, which we will investigate now. + +**Frontend Wayland**: Responsible for connecting the Wayland protocol with the rest of *Mir*. The `WaylandConnector` class connects requests made via the Wayland protocol to the core state of the compositor. + +**Frontend XWayland**: Responsible for connecting requests send by an `XWayland` server to the rest of *Mir*. The `XWaylandConnector` establishes this connection just like the `WaylandConnector`. This frontend actually spawns the `XWayland` server as a subprocess. + +**Input**: Handles everything having to do with input, including mouse, keyboard, touch, and more. This piece of *Mir* interacts with the specific input [platform](#platforms) and bubbles up events through a list of `InputDispatcher`s, which enables different pieces of the software to react to the events. For example, a compositor's window manager may respond to a key press event by opening up a new terminal via a request to the `Shell`. ## Platforms -- A **platform** is an adaptors that allows `mirserver` to work across different graphics, input, and rendering stacks -- *Mir* decides which platforms to use at runtime -- There are three distinct types of platforms: - - *Display platform*: determines what the compositor is rendering *to* (e.g gbm-kms, x11, wayland) - - *Input platform*: determines how the compositor receives input (e.g. evdev, X11, wayland) - - *Rendering platform*: determines how we render (e.g. renderer-egl-generic) - -### Input -- Deals with everything input (e.g. keyboard presses, mouse clicks) -- Provides the rest of *Mir* with access to these events -- The input platform is provided by the [platform](#platforms) -- Directories - - `src/include/server/mir/input` - - `src/server/input` - -### Shell -- The `Shell` is responsible for managing the surfaces that the compositor wants to show. -- It provides an interface to create, update, and remove these surfaces from the display. -- As an example, the [wayland frontend](#frontend-wayland) might ask the `Shell` to create a new surface for it. -- Directories: - - `src/include/server/mir/shell` - - `src/server/shell` - -### Scene -- The `Scene` provides an interface for the `Compositor` to access the list of renderable items - - These renderables are derived from the surfaces that were added to the [shell](#shell) - - You can think of the `Scene` as you would think of a "scene graph" in a 3D game engine -- Unlike the `Shell`, the `Scene` knows a lot about the Z-order of the surfaces. For this reason, it is also responsible for things like locking the display or sending surfaces to the back of the Z-order. -- Directories: - - `src/include/mir/server/scene` - - `src/server/scene` - -### Frontend Wayland -- The *Mir* implementation of the wayland protocol -- The `WaylandConnector` class is the glue between the compositor and the specific details of the wayland protocol. -- Directories: - - `src/server/frontend_wayland` - -### Wayland Protocol Generation -- A subproject used to generate C++ classes from wayland protocol XML files. -- Directories: - - `src/wayland` - -### Frontend XWayland -- The *Mir* implementation of the xwayland protocol -- The `XWaylandConnector` class is the glue between the compositor and the specific details of the xwayland protocol -- This protocol talks to the `xwayland` server, which is spawned as a subprocess -- Directories: - - `src/server/frontend_xwayland` - -### Graphics -- A graphics abstraction layer sitting between the compositor and the specific graphics platform that it is using to render -- Directories: - - `src/include/mir/server/graphics` - - `src/server/graphics` - -### Renderer GL -- The only supported `Renderer` type -- This is used by the compositor to build the final image -- Future renderers will be found alongside it in the `src/renderers` directory -- Directories: - - `src/renderers/gl` - -### Report -- Default logging and reporting facilities -- Directories: - - `src/server/report` - -### Console -- Handles `logind` and virtual-terminal related tasks for the compositor -- Directories: - - `src/server/console` \ No newline at end of file +We briefly hinted at the existence of so-called "platforms" previously, but they are deserving of a dedicated section. A **Platform** is an adapter that allows the system to work across different graphics, input, and rendering stacks. They come in three flavors: +- **Display Platform**: Determines what the compositor is rendering to. This may be to a physical monitor via GBM/KMS (or EGLStreams for Nvidia), to an X11 or Wayland window, or to a completely virtual buffer. +- **Input Platform**: Determines where the compositor is getting input from. This could be native event via `libinput`, X input events, or Wayland input events. +- **Rendering Platform**: Determines how the compositor renders the final image. For now, only a GL backend is supported here. + +The GBM/KMS platform is most typically what will be used, as it offers a native platform. The X11 platform is useful for development. The Wayland platform is specifically useful for Ubuntu Touch, where they are hosting *Mir* in another Wayland compositor. + +## Supporting Libraries +*Mir* leans on a few core libraries to support the entire system. These libraries contain data structures and utilities that are shared throughout the project, including `miral` and `miroil`. + +- **Core**: Fundamental data concepts, like file descriptors and rectangles. These data structures tend not to be *Mir*-specific. +- **Common**: *Mir*-specific data concepts like *Mir* event building, logging, and timing utilities. \ No newline at end of file From 82dde040d7d0ba0ef4011f86eab5713a2c832681 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 5 Oct 2023 09:21:22 -0400 Subject: [PATCH 28/37] Update doc/sphinx/architecture.md Co-authored-by: Alan Griffiths --- doc/sphinx/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index a1de7ae3e2b..122edd43dc6 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -31,7 +31,7 @@ Compositor authors may want to define their own wayland protocol extensions in a The `mirserver` library is the core implementation of *Mir*. It serves as the engine for both `miral` and `miroil`. This library does the heavy-lifting for the compositor and, as a result, it is the largest piece of *Mir*. This section will explain the primary concepts that drive the engine. ### Core Concepts -At the heart of `mirserver` are two interfaces: the **Shell** and the **Scene**. The `Shell` is responsible for fielding requests from the rest system. The `Shell` then modifies the state of the `Scene` to reflect the requested changes. For example, part of the system would ask the `Shell` to move a window. The `Shell` would then decide what position to move that window to and update the state of the `Scene` to reflect that change. +At the heart of `mirserver` are two interfaces: the **Shell** and the **Scene**. The `Shell` is responsible for fielding requests from the rest system. The `Shell` then modifies the state of the `Scene` to reflect the requested changes. For example, the `Frontend` would ask the `Shell` to initiate dragging a window. The `Shell` would then decide how to move that window to and update the state of the `Scene` to reflect that change. ### From Scene to Screen Knowing that the `Scene` holds the state of what is to be displayed, we can talk about the **Compositor**. The `Compositor` gets the collection of items to render from the `Scene`, From 8f8ae9e04ebc7fc589212aa5c9908e0f857459a6 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 5 Oct 2023 10:51:57 -0400 Subject: [PATCH 29/37] Initial high-level diagram --- doc/sphinx/high_level_diagram.mmd | 147 ++++-------------------------- 1 file changed, 18 insertions(+), 129 deletions(-) diff --git a/doc/sphinx/high_level_diagram.mmd b/doc/sphinx/high_level_diagram.mmd index aa0132cb759..2a0708d9f46 100644 --- a/doc/sphinx/high_level_diagram.mmd +++ b/doc/sphinx/high_level_diagram.mmd @@ -1,130 +1,19 @@ -classDiagram - %% Miral - namespace miral { - class MirRunner - class SystemCompositorWindowManager - class WindowManagementPolicy - } - - SystemCompositorWindowManager *-- WindowManagementPolicy - - %% mir high level - namespace server { - class Server - class ServerConfiguration - } - - MirRunner *-- Server - Server *-- ServerConfiguration - - - %% Graphics - namespace graphics { - class MultiplexingDisplay - class DisplayPlatform - class Display - class DisplayBuffer - class MultiplexingDisplay - - class GbmDisplayPlatform - class X11DisplayPlatform - class WaylandDisplayPlatform - } - ServerConfiguration *-- DisplayPlatform - ServerConfiguration *-- MultiplexingDisplay - DisplayPlatform *-- Display - Display *-- DisplayBuffer - Display <|-- MultiplexingDisplay - MultiplexingDisplay *-- Display - - DisplayPlatform <|-- GbmDisplayPlatform - DisplayPlatform <|-- X11DisplayPlatform - DisplayPlatform <|-- WaylandDisplayPlatform - - %% Input - namespace input { - class BasicSeat - class InputDispatcher - class DefaultInputDeviceHub - class InputPlatform - class DefaultInputManager - class MultiplexingDispatchable - - class EvdevInputPlatform - class X11InputPlatform - class WaylandInputPlatform - } - - InputPlatform <|-- EvdevInputPlatform - InputPlatform <|-- X11InputPlatform - InputPlatform <|-- WaylandInputPlatform - BasicSeat *-- InputDispatcher - DefaultInputDeviceHub *-- BasicSeat - DefaultInputManager *-- InputPlatform - DefaultInputManager *-- MultiplexingDispatchable - DefaultInputDeviceHub *-- MultiplexingDispatchable - ServerConfiguration *-- InputPlatform - ServerConfiguration *-- DefaultInputDeviceHub - ServerConfiguration *-- InputDispatcher - ServerConfiguration *-- BasicSeat - - - %% Compositor - namespace compositor { - class MultithreadedCompositor - class DefaultDisplayBufferCompositorFactory - } - ServerConfiguration *-- MultithreadedCompositor - MultithreadedCompositor *-- SurfaceStack - MultithreadedCompositor *-- MultiplexingDisplay - MultithreadedCompositor *-- DefaultDisplayBufferCompositorFactory - - %% Shell - namespace shell { - class AbstractShell - class WindowManager - } - - ServerConfiguration *-- AbstractShell - AbstractShell *-- WindowManager - WindowManager <|-- SystemCompositorWindowManager - InputDispatcher *-- AbstractShell - - - %% Scene - namespace scene { - class SurfaceStack - } - - MultithreadedCompositor *-- SurfaceStack - ServerConfiguration *-- SurfaceStack - AbstractShell *-- SurfaceStack - - %% Frontend wayland - namespace frontend_wayland { - class WaylandConnector - } - - WaylandConnector *-- AbstractShell - ServerConfiguration *-- WaylandConnector - - - %% Frontend XWayland - namespace frontend_xwayland { - class XWaylandConnector - } - - XWaylandConnector *-- AbstractShell - ServerConfiguration *-- XWaylandConnector - - - %% Renderer - namespace renderer { - class RendererFactory - class Renderer - class GlRenderer - } - DefaultDisplayBufferCompositorFactory *-- RendererFactory - RendererFactory <-- Renderer - Renderer <|-- GlRenderer \ No newline at end of file +classDiagram + CompositorAuthor --> miral: Uses + CompositorAuthor --> miroil: Uses + CompositorAuthor --> mirwayland: Uses + + miral --> mirserver: Uses + miroil --> mirserver: Uses + mirwayland --> mirserver: Uses + Input --> InputPlatform: Receives events form + Input --> Shell: Sends events to + Shell --> Scene: Updates + mirserver o-- Shell: Contains + mirserver o-- Scene: Contains + Compositor --> Scene: Reads + Compositor --> RenderingPlatform: Renders using + Compositor --> DisplayPlatform: Outputs to + FrontendWayland --> Shell: Makes requests to + FrontendXWayland --> Shell: Makes request to From 8fb331f44b467afb06924d5a4954679c438589c7 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 5 Oct 2023 13:59:58 -0400 Subject: [PATCH 30/37] First attempt at mirserver.mmd --- doc/sphinx/architecture_diagram.rst | 16 ++++++++++++++-- doc/sphinx/high_level_diagram.mmd | 15 +++++---------- doc/sphinx/mirserver.mmd | 26 ++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 12 deletions(-) create mode 100644 doc/sphinx/mirserver.mmd diff --git a/doc/sphinx/architecture_diagram.rst b/doc/sphinx/architecture_diagram.rst index b4b9582a1b1..5873121f5d5 100644 --- a/doc/sphinx/architecture_diagram.rst +++ b/doc/sphinx/architecture_diagram.rst @@ -1,4 +1,16 @@ -Architecture Diagram +Diagrams +============== + + +High-Level +-------------- +The following describes the largest chunks of *Mir* and how they relate to one another: + +.. mermaid:: ./high_level_diagram.mmd + +*Mir*'s Engine Closeup -------------- +Let's take a deeper look into the different systems at play in `mirserver`. + -.. mermaid:: ./high_level_diagram.mmd \ No newline at end of file +.. mermaid:: ./mirserver.mmd \ No newline at end of file diff --git a/doc/sphinx/high_level_diagram.mmd b/doc/sphinx/high_level_diagram.mmd index 2a0708d9f46..5871b405e0b 100644 --- a/doc/sphinx/high_level_diagram.mmd +++ b/doc/sphinx/high_level_diagram.mmd @@ -7,13 +7,8 @@ classDiagram miral --> mirserver: Uses miroil --> mirserver: Uses mirwayland --> mirserver: Uses - Input --> InputPlatform: Receives events form - Input --> Shell: Sends events to - Shell --> Scene: Updates - mirserver o-- Shell: Contains - mirserver o-- Scene: Contains - Compositor --> Scene: Reads - Compositor --> RenderingPlatform: Renders using - Compositor --> DisplayPlatform: Outputs to - FrontendWayland --> Shell: Makes requests to - FrontendXWayland --> Shell: Makes request to + + note for core "Universal" + note for common "Universal" + class core + class common diff --git a/doc/sphinx/mirserver.mmd b/doc/sphinx/mirserver.mmd new file mode 100644 index 00000000000..7b302d5a878 --- /dev/null +++ b/doc/sphinx/mirserver.mmd @@ -0,0 +1,26 @@ + +classDiagram + Server o-- Shell + Server o-- Scene + Server o-- Compositor + Server o-- Seat + Server o-- Display + + Shell --> miral: Ask for implementation of shell behavior + Shell --> Scene: Updates + Compositor --> Scene: Reads + Compositor --> Display: To determine outputs + Compositor --> RenderingPlatform: Renders using + Compositor --> DisplayPlatform: Outputs to + InputDispatcher <-- InputPlatform: Sends events to + Seat <-- InputDispatcher: Sends events to + Seat --> Shell: Sends events to + FrontendWayland --> Shell: Makes requests to + FrontendXWayland --> Shell: Makes request to + Scene o-- IdleHub + Scene o-- Clipboard + Scene o-- SceneChangeNotifiers + + + %%Server --> Core + %%Server --> Common From 7690c4ca8d5ddf7626cc2c167556a55f6a9ba3b2 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 5 Oct 2023 14:16:18 -0400 Subject: [PATCH 31/37] Some minor updates --- doc/sphinx/architecture_diagram.rst | 2 +- doc/sphinx/mirserver.mmd | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/sphinx/architecture_diagram.rst b/doc/sphinx/architecture_diagram.rst index 5873121f5d5..137d0b6aebf 100644 --- a/doc/sphinx/architecture_diagram.rst +++ b/doc/sphinx/architecture_diagram.rst @@ -8,7 +8,7 @@ The following describes the largest chunks of *Mir* and how they relate to one a .. mermaid:: ./high_level_diagram.mmd -*Mir*'s Engine Closeup +Mirserver Closeup -------------- Let's take a deeper look into the different systems at play in `mirserver`. diff --git a/doc/sphinx/mirserver.mmd b/doc/sphinx/mirserver.mmd index 7b302d5a878..96f5edb24c7 100644 --- a/doc/sphinx/mirserver.mmd +++ b/doc/sphinx/mirserver.mmd @@ -1,17 +1,17 @@ classDiagram + Shell --> Scene: Updates Server o-- Shell Server o-- Scene Server o-- Compositor Server o-- Seat Server o-- Display - Shell --> miral: Ask for implementation of shell behavior - Shell --> Scene: Updates - Compositor --> Scene: Reads - Compositor --> Display: To determine outputs - Compositor --> RenderingPlatform: Renders using - Compositor --> DisplayPlatform: Outputs to + Shell --> miral: Get shell behavior + Compositor --> Scene: Get renderables + Compositor --> Display: Get outputs + Compositor --> RenderingPlatform: Handles rendering + Compositor --> DisplayPlatform: Outputs image to InputDispatcher <-- InputPlatform: Sends events to Seat <-- InputDispatcher: Sends events to Seat --> Shell: Sends events to From 97238c9e3da0a7d6097bb49c67151a938ad00409 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Thu, 5 Oct 2023 17:11:07 -0400 Subject: [PATCH 32/37] Removing 'Server' from the diagram --- doc/sphinx/mirserver.mmd | 6 ------ 1 file changed, 6 deletions(-) diff --git a/doc/sphinx/mirserver.mmd b/doc/sphinx/mirserver.mmd index 96f5edb24c7..bae492d32d3 100644 --- a/doc/sphinx/mirserver.mmd +++ b/doc/sphinx/mirserver.mmd @@ -1,12 +1,6 @@ classDiagram Shell --> Scene: Updates - Server o-- Shell - Server o-- Scene - Server o-- Compositor - Server o-- Seat - Server o-- Display - Shell --> miral: Get shell behavior Compositor --> Scene: Get renderables Compositor --> Display: Get outputs From a2cc0471fba564557772728ac67f6aed6278c228 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Fri, 6 Oct 2023 09:28:50 -0400 Subject: [PATCH 33/37] Diagram organization --- doc/sphinx/mirserver.mmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/sphinx/mirserver.mmd b/doc/sphinx/mirserver.mmd index bae492d32d3..f55feb9fe14 100644 --- a/doc/sphinx/mirserver.mmd +++ b/doc/sphinx/mirserver.mmd @@ -1,11 +1,11 @@ classDiagram - Shell --> Scene: Updates - Shell --> miral: Get shell behavior Compositor --> Scene: Get renderables Compositor --> Display: Get outputs Compositor --> RenderingPlatform: Handles rendering Compositor --> DisplayPlatform: Outputs image to + Shell --> miral: Get shell behavior + Shell --> Scene: Updates InputDispatcher <-- InputPlatform: Sends events to Seat <-- InputDispatcher: Sends events to Seat --> Shell: Sends events to From a8dff89ee08f9acfa49487b02ab36aa9ae2d6182 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Fri, 6 Oct 2023 09:41:23 -0400 Subject: [PATCH 34/37] Combing the diagrams into the architecture.md file --- doc/sphinx/architecture.md | 14 ++++++++++++-- doc/sphinx/architecture_diagram.rst | 16 ---------------- doc/sphinx/index.md | 1 - 3 files changed, 12 insertions(+), 19 deletions(-) delete mode 100644 doc/sphinx/architecture_diagram.rst diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index 122edd43dc6..d0523ab3421 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -4,14 +4,24 @@ This document introduces the architecture of *Mir* at a high-level. ## Audience This document is intended to provide contributors to *Mir* an overview of *Mir*'s systems. It is *not* intended to guide compositor authors. -Click [here](./architecture_diagram.rst) to see a diagram of *Mir*'s systems. - ## Index +- [Diagrams](#diagrams) - [APIs for compositor authors](#apis-for-compositor-authors) - [The Mir Engine](#the-mir-engine) - [Platforms](#platforms) - [Supporting Libraries](#supporting-libraries) +## Diagrams +### High-Level Diagram +The following describes the largest chunks of *Mir* and how they relate to one another: +```{mermaid} high_level_diagram.mmd +``` + +### Mirserver Closeup +Let's take a deeper look into the different systems at play in `mirserver`. +```{mermaid} mirserver.mmd +``` + ## APIs for compositor authors *Mir* provides compositor authors with a set of libraries that they can use to build Wayland based shells. These libraries are: - *miral* diff --git a/doc/sphinx/architecture_diagram.rst b/doc/sphinx/architecture_diagram.rst deleted file mode 100644 index 137d0b6aebf..00000000000 --- a/doc/sphinx/architecture_diagram.rst +++ /dev/null @@ -1,16 +0,0 @@ -Diagrams -============== - - -High-Level --------------- -The following describes the largest chunks of *Mir* and how they relate to one another: - -.. mermaid:: ./high_level_diagram.mmd - -Mirserver Closeup --------------- -Let's take a deeper look into the different systems at play in `mirserver`. - - -.. mermaid:: ./mirserver.mmd \ No newline at end of file diff --git a/doc/sphinx/index.md b/doc/sphinx/index.md index 84e1ddb3377..25f8b75ae5a 100644 --- a/doc/sphinx/index.md +++ b/doc/sphinx/index.md @@ -32,6 +32,5 @@ The server API is introduced here: [Introducing the MirAL API](introducing_the_m getting_and_using_mir getting_involved_in_mir architecture -architecture_diagram api/library_root ``` From b19cd882c4216197f91604a3b38a73f959ba9339 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Fri, 6 Oct 2023 09:46:55 -0400 Subject: [PATCH 35/37] Updating readability --- doc/sphinx/architecture.md | 42 +++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index d0523ab3421..a2656d99246 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -5,22 +5,11 @@ This document introduces the architecture of *Mir* at a high-level. This document is intended to provide contributors to *Mir* an overview of *Mir*'s systems. It is *not* intended to guide compositor authors. ## Index -- [Diagrams](#diagrams) - [APIs for compositor authors](#apis-for-compositor-authors) - [The Mir Engine](#the-mir-engine) - [Platforms](#platforms) - [Supporting Libraries](#supporting-libraries) - -## Diagrams -### High-Level Diagram -The following describes the largest chunks of *Mir* and how they relate to one another: -```{mermaid} high_level_diagram.mmd -``` - -### Mirserver Closeup -Let's take a deeper look into the different systems at play in `mirserver`. -```{mermaid} mirserver.mmd -``` +- [Diagrams](#diagrams) ## APIs for compositor authors *Mir* provides compositor authors with a set of libraries that they can use to build Wayland based shells. These libraries are: @@ -38,10 +27,12 @@ The most commonly used library is `miral`. `miral` (the "*Mir* Abstraction Layer Compositor authors may want to define their own wayland protocol extensions in addition to the ones that the core *Mir* implementation defines. The `mirwayland` library satisfies this requirement. This library may be used in conjunction with either `miral` or `miroil`. ## The Mir engine -The `mirserver` library is the core implementation of *Mir*. It serves as the engine for both `miral` and `miroil`. This library does the heavy-lifting for the compositor and, as a result, it is the largest piece of *Mir*. This section will explain the primary concepts that drive the engine. +The `mirserver` library is the core implementation of *Mir*. It serves as the engine for both `miral` and `miroil`. This library does the heavy-lifting for the compositor and, as a result, is the largest piece of *Mir*. This section will explain the primary concepts that drive the engine. ### Core Concepts -At the heart of `mirserver` are two interfaces: the **Shell** and the **Scene**. The `Shell` is responsible for fielding requests from the rest system. The `Shell` then modifies the state of the `Scene` to reflect the requested changes. For example, the `Frontend` would ask the `Shell` to initiate dragging a window. The `Shell` would then decide how to move that window to and update the state of the `Scene` to reflect that change. +At the heart of `mirserver` are two interfaces: the **Shell** and the **Scene**. The `Shell` is responsible for fielding requests from the rest system. The `Shell` modifies the state of the `Scene` to reflect the requested changes. + +For example, the `Frontend` would ask the `Shell` to initiate dragging a window. The `Shell` would then decide how to move that window to and update the state of the `Scene` to reflect that change. ### From Scene to Screen Knowing that the `Scene` holds the state of what is to be displayed, we can talk about the **Compositor**. The `Compositor` gets the collection of items to render from the `Scene`, @@ -52,20 +43,33 @@ As stated previously, the `Shell` handles requests from the system and updates t **Frontend Wayland**: Responsible for connecting the Wayland protocol with the rest of *Mir*. The `WaylandConnector` class connects requests made via the Wayland protocol to the core state of the compositor. -**Frontend XWayland**: Responsible for connecting requests send by an `XWayland` server to the rest of *Mir*. The `XWaylandConnector` establishes this connection just like the `WaylandConnector`. This frontend actually spawns the `XWayland` server as a subprocess. +**Frontend XWayland**: Responsible for connecting requests send by an `XWayland` server to the rest of *Mir*. The `XWaylandConnector` establishes this connection just like the `WaylandConnector`. This frontend spawns an `XWayland` server as a subprocess. + +**Input**: Handles everything having to do with input, including mouse, keyboard, touch, and more. This system interacts with the specific input [platform](#platforms) and bubbles up events through a list of `InputDispatcher`s, which enables different pieces of the software to react to the events. -**Input**: Handles everything having to do with input, including mouse, keyboard, touch, and more. This piece of *Mir* interacts with the specific input [platform](#platforms) and bubbles up events through a list of `InputDispatcher`s, which enables different pieces of the software to react to the events. For example, a compositor's window manager may respond to a key press event by opening up a new terminal via a request to the `Shell`. +For example, a compositor's window manager may respond to a key press event by opening up a new terminal via a request to the `Shell`. ## Platforms We briefly hinted at the existence of so-called "platforms" previously, but they are deserving of a dedicated section. A **Platform** is an adapter that allows the system to work across different graphics, input, and rendering stacks. They come in three flavors: - **Display Platform**: Determines what the compositor is rendering to. This may be to a physical monitor via GBM/KMS (or EGLStreams for Nvidia), to an X11 or Wayland window, or to a completely virtual buffer. - **Input Platform**: Determines where the compositor is getting input from. This could be native event via `libinput`, X input events, or Wayland input events. -- **Rendering Platform**: Determines how the compositor renders the final image. For now, only a GL backend is supported here. +- **Rendering Platform**: Determines how the compositor renders the final image. For now, only a GL backend is supported. -The GBM/KMS platform is most typically what will be used, as it offers a native platform. The X11 platform is useful for development. The Wayland platform is specifically useful for Ubuntu Touch, where they are hosting *Mir* in another Wayland compositor. +The GBM/KMS platform is most typically what will be used, as it is the native platform. The X11 platform is useful for development. The Wayland platform is specifically useful for Ubuntu Touch, where they are hosting *Mir* in another Wayland compositor. ## Supporting Libraries *Mir* leans on a few core libraries to support the entire system. These libraries contain data structures and utilities that are shared throughout the project, including `miral` and `miroil`. - **Core**: Fundamental data concepts, like file descriptors and rectangles. These data structures tend not to be *Mir*-specific. -- **Common**: *Mir*-specific data concepts like *Mir* event building, logging, and timing utilities. \ No newline at end of file +- **Common**: *Mir*-specific data concepts like *Mir* event building, logging, and timing utilities. + +## Diagrams +### High-Level Diagram +The following describes the largest chunks of *Mir* and how they relate to one another: +```{mermaid} high_level_diagram.mmd +``` + +### Mirserver Closeup +Let's take a deeper look into the different systems at play in `mirserver`. +```{mermaid} mirserver.mmd +``` \ No newline at end of file From d7c6ab924164ea455405f4da2c2a759796573b56 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Fri, 6 Oct 2023 09:56:14 -0400 Subject: [PATCH 36/37] Update for readability --- doc/sphinx/architecture.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index a2656d99246..f1bfc6d357d 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -18,16 +18,16 @@ This document is intended to provide contributors to *Mir* an overview of *Mir*' - *mirwayland* ### Miral -The most commonly used library is `miral`. `miral` (the "*Mir* Abstraction Layer") is an API that makes *Mir* easy for compositor authors to work with. It provides core window management concepts and an interface that is more ABI stable than Mir's internal API. `miral` is built on the [*Mir* engine](#the-mir-engine), however compositor authors are encouraged to only interact with the high-level `miral` library. +The most commonly used library is **miral**. `miral` (the "*Mir* Abstraction Layer") is an API that makes *Mir* easy for compositor authors to work with. It provides core window management concepts and an interface that is more ABI stable than Mir's internal API. While `miral` is built on the [*Mir* engine](#the-mir-engine), compositor authors are encouraged to only interact with the high-level `miral` library. ### Miroil -`miroil` is a custom library for the [Lomiri](https://lomiri.com/) folks. Most compositor authors will not interact with `miroil`. [The *Mir* engine](#the-mir-engine) also serves as the basis for `miroil` as it does for `miral`. +**miroil** is a custom library for the [Lomiri](https://lomiri.com/) folks. It is like `miral` in that it provides an abstraction over the [*Mir* engine](#the-mir-engine). However, most compositor authors will not interact with `miroil`. ### Mirwayland Compositor authors may want to define their own wayland protocol extensions in addition to the ones that the core *Mir* implementation defines. The `mirwayland` library satisfies this requirement. This library may be used in conjunction with either `miral` or `miroil`. ## The Mir engine -The `mirserver` library is the core implementation of *Mir*. It serves as the engine for both `miral` and `miroil`. This library does the heavy-lifting for the compositor and, as a result, is the largest piece of *Mir*. This section will explain the primary concepts that drive the engine. +The **mirserver** library is the core implementation of *Mir*. It serves as the engine for both `miral` and `miroil`. This library does the heavy-lifting for the compositor and, as a result, is the largest piece of *Mir*. This section will explain the primary concepts that drive the engine. ### Core Concepts At the heart of `mirserver` are two interfaces: the **Shell** and the **Scene**. The `Shell` is responsible for fielding requests from the rest system. The `Shell` modifies the state of the `Scene` to reflect the requested changes. @@ -36,22 +36,22 @@ For example, the `Frontend` would ask the `Shell` to initiate dragging a window. ### From Scene to Screen Knowing that the `Scene` holds the state of what is to be displayed, we can talk about the **Compositor**. The `Compositor` gets the collection of items to render from the `Scene`, -renders them, and sends them off to the [platform](#platforms) to be displayed. +renders them with the help of the [rendering platform](#platforms), and sends them off to the [display platform](#platforms) to be displayed. ### From Interaction to Shell As stated previously, the `Shell` handles requests from the system and updates the state of the `Scene` accordingly. These requests come from a variety of sources, which we will investigate now. **Frontend Wayland**: Responsible for connecting the Wayland protocol with the rest of *Mir*. The `WaylandConnector` class connects requests made via the Wayland protocol to the core state of the compositor. -**Frontend XWayland**: Responsible for connecting requests send by an `XWayland` server to the rest of *Mir*. The `XWaylandConnector` establishes this connection just like the `WaylandConnector`. This frontend spawns an `XWayland` server as a subprocess. +**Frontend XWayland**: Responsible for connecting requests sent by an `XWayland` server to the rest of *Mir*. The `XWaylandConnector` establishes this connection. This frontend spawns an `XWayland` server as a subprocess. -**Input**: Handles everything having to do with input, including mouse, keyboard, touch, and more. This system interacts with the specific input [platform](#platforms) and bubbles up events through a list of `InputDispatcher`s, which enables different pieces of the software to react to the events. +**Input**: Handles everything having to do with input, including mouse, keyboard, touch, and more. This system interacts with the specific [input platform](#platforms) and bubbles up events through a list of `InputDispatcher`s, which enables different pieces of the software to react to events. For example, a compositor's window manager may respond to a key press event by opening up a new terminal via a request to the `Shell`. ## Platforms We briefly hinted at the existence of so-called "platforms" previously, but they are deserving of a dedicated section. A **Platform** is an adapter that allows the system to work across different graphics, input, and rendering stacks. They come in three flavors: -- **Display Platform**: Determines what the compositor is rendering to. This may be to a physical monitor via GBM/KMS (or EGLStreams for Nvidia), to an X11 or Wayland window, or to a completely virtual buffer. +- **Display Platform**: Determines what the compositor is rendering to. This may be a physical monitor via GBM/KMS (or EGLStreams for Nvidia), an X11 or Wayland window, or a completely virtual buffer. - **Input Platform**: Determines where the compositor is getting input from. This could be native event via `libinput`, X input events, or Wayland input events. - **Rendering Platform**: Determines how the compositor renders the final image. For now, only a GL backend is supported. @@ -70,6 +70,6 @@ The following describes the largest chunks of *Mir* and how they relate to one a ``` ### Mirserver Closeup -Let's take a deeper look into the different systems at play in `mirserver`. +The following is a deeper dive into the specifics of `mirserver`: ```{mermaid} mirserver.mmd ``` \ No newline at end of file From 53aaa7f51b417a99829d9e36840274a592cb2ede Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Fri, 6 Oct 2023 10:39:54 -0400 Subject: [PATCH 37/37] Moving diagrams to appropraite sections --- doc/sphinx/architecture.md | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/doc/sphinx/architecture.md b/doc/sphinx/architecture.md index f1bfc6d357d..2e700b549d9 100644 --- a/doc/sphinx/architecture.md +++ b/doc/sphinx/architecture.md @@ -9,9 +9,11 @@ This document is intended to provide contributors to *Mir* an overview of *Mir*' - [The Mir Engine](#the-mir-engine) - [Platforms](#platforms) - [Supporting Libraries](#supporting-libraries) -- [Diagrams](#diagrams) ## APIs for compositor authors +```{mermaid} high_level_diagram.mmd +``` + *Mir* provides compositor authors with a set of libraries that they can use to build Wayland based shells. These libraries are: - *miral* - *miroil* @@ -27,6 +29,9 @@ The most commonly used library is **miral**. `miral` (the "*Mir* Abstraction Lay Compositor authors may want to define their own wayland protocol extensions in addition to the ones that the core *Mir* implementation defines. The `mirwayland` library satisfies this requirement. This library may be used in conjunction with either `miral` or `miroil`. ## The Mir engine +```{mermaid} mirserver.mmd +``` + The **mirserver** library is the core implementation of *Mir*. It serves as the engine for both `miral` and `miroil`. This library does the heavy-lifting for the compositor and, as a result, is the largest piece of *Mir*. This section will explain the primary concepts that drive the engine. ### Core Concepts @@ -61,15 +66,4 @@ The GBM/KMS platform is most typically what will be used, as it is the native pl *Mir* leans on a few core libraries to support the entire system. These libraries contain data structures and utilities that are shared throughout the project, including `miral` and `miroil`. - **Core**: Fundamental data concepts, like file descriptors and rectangles. These data structures tend not to be *Mir*-specific. -- **Common**: *Mir*-specific data concepts like *Mir* event building, logging, and timing utilities. - -## Diagrams -### High-Level Diagram -The following describes the largest chunks of *Mir* and how they relate to one another: -```{mermaid} high_level_diagram.mmd -``` - -### Mirserver Closeup -The following is a deeper dive into the specifics of `mirserver`: -```{mermaid} mirserver.mmd -``` \ No newline at end of file +- **Common**: *Mir*-specific data concepts like *Mir* event building, logging, and timing utilities. \ No newline at end of file