1
0
mirror of https://github.com/brl/mutter.git synced 2025-03-14 07:15:03 +00:00
mutter/doc/mutter-relationships.md
Sebastian Wick edfd1880c9 docs: Move the gitlab wiki and other docs to the docs/ directory
Let's try to consolidate our documentation in doc/ in the repo. This
includes some documentation from README.md, the HACKING.md coding style
and the gitlab wiki.

The README.md file now links to all top-level topics (i.e. not reachable
via other topics).

This also includes a few small changes to make things more consistent.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3465>
2024-01-03 20:54:57 +00:00

4.2 KiB

Compositor stage and hardware relationships

Brief description of components

  • MetaLogicalMonitor is one monitor or more monitor occupying the same region of the compositor space. E.g. when mirroring two monitors, both belong to the same logical monitor.
  • MetaMonitor is a single physical monitor, but it can sometimes consist of more than one separate panel (for instance, 5K tiled monitors which literally require 2 cables due to lack of bandwidth)
  • MetaOuptut is a connector e.g. a DisplayPort connector or HDMI connector.
  • MetaCrtc represents a component on the display hardware that channels video memory to connectors.

Entity relationship diagram

Class diagrams

MetaBackend, MetaGpu and MetaMonitorManager class diagrams.

MetaLogicalMonitor, MetaMonitor, MetaOutput and MetaCrtc class diagrams.

ClutterStage and ClutterStageView class diagram when using the Wayland session.

MetaKms class diagram.

Native backend and mode setting

  • MetaGpuKms, MetaCrtcKms and MetaOutputKms are used for configuration.
  • MetaKmsDevice, MetaKmsCrtc, MetaKmsConnector and MetaKmsPlane are abstractions on top of kernel mode setting concepts.