Getting Involved in Mir

Getting involved

The Mir project website is http://www.mirserver.io/, the code is hosted on GitHub

For announcements and other discussions on Mir see: Mir on community.ubuntu

For other questions and discussion about the Mir project: the #mirserver IRC channel on freenode.

Getting Mir source and dependencies

On Ubuntu

You’ll need a few development tools installed:

$ sudo apt install devscripts equivs git

With these installed you can checkout Mir and get the remaining dependencies:

$ git clone --recursive https://github.com/MirServer/mir.git
$ cd mir
$ mk-build-deps -i -s sudo

On Fedora

You’ll need some development tools and packages installed:

$ sudo dnf install git cmake gcc-c++ boost-devel mesa-libEGL-devel \
mesa-libGLES-devel glm-devel protobuf-lite-devel protobuf-compiler \
capnproto-devel capnproto glog-devel gflags-devel systemd-devel \
glib2-devel wayland-devel mesa-libgbm-devel libepoxy-devel nettle-devel \
libinput-devel libxml++-devel libuuid-devel libxkbcommon-devel \
freetype-devel lttng-ust-devel libatomic qterminal qt5-qtwayland \
python3-pillow libevdev-devel umockdev-devel gtest-devel gmock-devel

With these installed you can checkout Mir:

$ git clone --recursive https://github.com/MirServer/mir.git
$ cd mir

Building Mir

$ mkdir build
$ cd  build
$ cmake ..
$ make

This creates an example shell (miral-shell) in the bin directory. This can be run directly:

$ bin/miral-shell

With the default options this runs in a window on X (which is convenient for development).

The miral-shell example is simple, don’t expect to see a sophisticated launcher by default. You can start mir apps from the command-line. For example:

$ bin/miral-run qterminal

To exit from miral-shell press Ctrl-Alt-BkSp.

You can install the Mir examples, headers and libraries you've built with:

$ sudo make install

Contributing to Mir

Please file bug reports at: https://github.com/MirServer/mir/issues

The Mir development mailing list can be found at: https://lists.ubuntu.com/mailman/listinfo/Mir-devel

The Mir coding guidelines are here.

Working on Mir code

Building Mesa

The Mesa packages shipped with Ubuntu are already built with the relevant Mir patches and should work out of the box with Mir.

For GL accelerated clients to use Mir they need to use a patched version of Mesa that supports Mir.

The patch is hosted on GitHub:

$ git clone https://github.com/RAOF/mesa.git

Compile as per normal instructions and pass –with-egl-platforms="mir,drm" to the configure options. You will need libmirclient installed as shown above.

Copyright © 2012-2018 Canonical Ltd.
Generated on Thu 12 Jul 10:49:10 UTC 2018