Mir documentation¶
Mir is an open-source C++ library for building custom Wayland compositors. It provides reusable components for graphics, input, window management, and application communication, so developers can start with a working compositor and customize the parts that are specific to their product instead of building everything from scratch.
Mir is used in graphical environments ranging from embedded and kiosk displays to desktop compositors. Some highlights include Ubuntu Frame, Lomiri, Miracle-WM, and Miriway.
In this documentation¶
Get started and build a compositor¶
Getting started with Mir introduces Mir’s capabilities; write your first Wayland compositor walks through a minimal compositor.
Add behavior with guides to keyboard input, startup applications, custom Wayland protocols, configuration overrides, and client/server-side decoration preferences.
Explore compositor libraries, desktop environments, window positioning, compositors built with Mir, and the MirAL API introduction.
Browse the full API reference and Linux kernel requirements.
Run and configure a Mir compositor¶
Configure devices and services: calibrate a touchscreen, enable remote desktop, enable screencasting, and use on-screen keyboards.
Look up Mir configuration options, component reports, and configuration overrides.
Understand Mir and its platforms¶
Understand platform support, graphics driver quirks, security, performance, energy efficiency, accessibility, and XDG portal support.
Develop and contribute to Mir¶
Learn about Mir’s architecture, libraries and modules, and input platform APIs.
Build, debug, and validate: enable graphics for snaps, debug Mir snaps, measure coverage, test a release, and validate a snap graphical environment.
Project maintenance: contribute documentation, report issues and request features, update Wayland Explorer, update symbol maps, and release a new Mir version.
Developer references: continuous integration, the C++ style guide, and the DSO versioning guide.
How this documentation is organised¶
The documentation follows the Diátaxis framework. The tutorials guide you through learning Mir; how-to guides help you complete specific compositor-development tasks; reference provides API and system details; and explanations discuss concepts and design. Separate configuration documentation is aimed at people running Mir-based compositors, while the contributor documentation covers developing and maintaining Mir itself.
Project and community¶
Mir is an open-source project in the Ubuntu family, supported commercially by Canonical. It welcomes community projects, contributions, suggestions, fixes, and constructive feedback.