Mir Documentation

Mir is a system-level component that can be used to unlock next-generation user experiences. It runs on a range of Linux powered devices including traditional desktops, IoT and embedded products. Mir is a library for building Wayland compositors as commonly used on Linux desktop devices. It allows device makers and desktop users to have a well-defined, efficient, flexible, and secure platform for their graphical environment.

One of the possible Wayland compositors built using Mir is Ubuntu Frame.

Ubuntu Frame

Ubuntu Frame is an easy to use, reliable and secure display server for embedded Linux devices allowing developers to deploy their graphic applications for kiosks, digital signage and more.

With Ubuntu Frame, the graphic application you choose or design gets a fullscreen window. It also automatically enables windows behaviours, input from touch, keyboard, and mouse, on-screen keyboard, power saving and more. Ubuntu Frame bundles communication protocols, input protocols, and security policies into a single kit, which can then be used in embedded devices.

Ubuntu Frame streamlines the build and development of products that need graphical output. WIth Ubuntu Frame, developers don’t have to deal with drivers, input modalities, windows dynamics and rules. No more integrating DRM, KMS, input protocols and security policies. This means less code to manage, fewer opportunities for bugs and fewer vulnerabilities in untried code, with more time for developing the content of the display.

Ubuntu Frame is for anyone looking to deploy graphic interfaces for embedded Linux devices such as IoT devices, robots, smart home devices, kiosks, and more.


  • Create maintainable images for kiosks and digital signage solutions in under an hour.
  • Out of the box features such as kiosk mode, on-screen keyboard and power saving for making the perfect shell for touchscreen kiosks.
  • Less code for you to integrate and maintain as it bundles communication protocols, input protocols, and security policies into a single kit
  • Compatible with popular toolkits for creating graphical user interfaces like Qt, Flutter, electron, and also html5 and java.
  • Built-in security and long term supported by Canonical.

In this documentation

Get started - a hands-on introduction to Ubuntu Frame for new users
How-to guides
Step-by-step guides covering key operations and common tasks
Concepts - discussion and clarification of key topics
Technical information - specifications, APIs, architecture

Project and community

Mir is fully open source. We value your input and contributions!
You can get involved by:

  • Reporting bugs: we want to know about the problems so we can fix them.
  • Quality assurance: before releasing new features we make a “Call for Testing” a week prior to each update reaching “stable”. This is your opportunity to discover and report any problems.
  • Documentation: there are lots of ways to use Ubuntu Frame and we try to describe the important ones, but maybe we missed yours.
  • Feature requests: we have a lot of ideas on what to do next but you know what you need.
  • Code changes: the code is open and we are open to accepting changes to it. So, don’t worry about maintaining a new fork, and instead, let’s work together.

Mir (and Ubuntu Frame) will continue growing with our community. If you want to get involved:

Last updated 2 months ago. Help improve this document in the forum.