Getting and Using Mir

Mir is a library for building things, not an end-user product, but it does come with some demos to illustrate the possibilities.

Getting Mir demos

The Mir libraries and demos are available on Ubuntu, Fedora and Arch. It has also been built and tested on Debian but, at the time or writing, is not in the archive.

For Linux distributions that don't currently package Mir you need to build it yourself. (See Getting Involved in Mir).

Getting Mir on Ubuntu

You can install the Mir examples along with the Mir graphics drivers as follows:

sudo apt install mir-demos mir-graphics-drivers-desktop

It is also useful to install Wayland support for Qt and qterminal:

sudo apt install qterminal qtwayland5

Getting the latest Mir release on Ubuntu

As a matter of policy Ubuntu does not routinely update packages after a series is released. This means the Mir team cannot reasonably guarantee that all series will have the latest Mir release available at all times.

The latest Mir release is available for all supported Ubuntu series from the Mir team's "release PPA". To add the PPA to your system:

sudo add-apt-repository --update ppa:mir-team/release

To remove the PPA from your system:

sudo ppa-purge mir-team/release

Getting Mir on Fedora

On Fedora Mir is available from the archive:

sudo dnf install mir-demos

It is also useful to install qterminal:

sudo dnf install qterminal

Getting Mir on Arch

On Arch Linux, you can install the mir package from the AUR.

Using Mir demos

For convenient testing under X11 there's a "miral-app" script that wraps the commands used to start a server and then launches a terminal (as the current user):


If you're using a desktop that supports X11 then you can run this in a terminal window. In that case Mir will automatically select a "Mir-on-X11" backend and run in a Window.

Alternatively, to run Mir "natively" you can run the same command in a Virtual Terminal.

Running applications on Mir

If you use the terminal launched by miral-app Wayland applications can be started as usual:


Options when running the Mir example shell

Script Options

The miral-app script provides options for using an alternative shell (e.g. miral-kiosk as used by the mir-kiosk snap) and an alternative terminal.

-kiosk                      use miral-kiosk instead of miral-shell
-terminal <terminal>        use <terminal> instead of '/usr/bin/miral-terminal'

The default for -terminal is a script that tries to identify the system terminal emulator and launch that. But another terminal, or indeed any application, can be used.

For example:

miral-app -kiosk -terminal supertuxkart

There are some additional options (listed with "-h") but those are the important ones.

<tt>miral-shell</tt> Options

The script will pass everything on the command-line following the first thing it doesn't understand to miral-shell. The options can be listed by miral-shell --help. The following are likely to be of interest:

--window-management-trace           log trace message

Probably the main use for miral-shell is to test window-management (either of a client toolkit or of a server) and this logs all calls to and from the window management policy. This option is supported directly in the MirAL library and works for any MirAL based shell - even one you write yourself.

--window-manager arg (=floating)   window management strategy 

This allows an alternative "tiling" window manager to be selected. Note: --window-manager is only supported by miral-shell (not miral-kiosk).

For example:

miral-app --window-manager tiling

These options can also be specified in a configuration file. For example:

$ cat ~/.config/miral-shell.config 

Copyright © 2012-2023 Canonical Ltd.
Generated on Tue 2 May 10:01:24 UTC 2023
This documentation is licensed under the GPL version 2 or 3.