# Getting Involved in Mir ## Getting involved The Mir project website is , the code is [hosted on GitHub](https://github.com/canonical) For announcements and other discussions on Mir see: [Mir on community.ubuntu](https://community.ubuntu.com/c/mir) For other questions and discussion about the Mir project: the [\#mir-server](https://web.libera.chat/?channels=#mir-server) IRC channel on Libera.Chat. ## Getting Mir source and dependencies You can get the source with: git clone https://github.com/canonical/mir.git cd mir You may need to install git for the system you are working on. You’ll also need a few development tools installed. The exact dependencies and instructions vary across distros. ### On Ubuntu sudo apt-get build-dep ./ ### On Fedora and Alpine As we build these distros in Mir's CI you can copy the instructions from the corresponding files under `spread/build`. ## Building cmake -S . -Bbuild cd build cmake --build . This creates an example shell (miral-shell) in the bin directory. This can be run directly: bin/miral-app 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. Within this window you can start a terminal with Ctrl-Alt-Shift-T (the "Shift" is needed to avoid Ubuntu's DE intercepting the input). From this terminal you can start apps. For example: $ gedit To exit from miral-shell press Ctrl-Alt-BkSp. You can install the Mir examples, headers and libraries you've built with: sudo cmake --build . --target install ## Contributing to Mir Please file bug reports at: [https://github.com/canonical/mir/issues](https://github.com/canonical/mir/issues). The Mir Discourse category can be found at: [https://discourse.ubuntu.com/c/mir/15](https://discourse.ubuntu.com/c/mir/15). ```{raw} html The Mir coding guidelines are here. ``` ## Working on code - Hacking guidelines can be found here: [Mir Hacking Guides](https://github.com/canonical/mir/blob/main/HACKING.md) - You can configure *Mir* to provide runtime information helpful for debugging by enabling component reports: [Component Reports](../explanation/component_reports) - A guide on versioning Mir DSOs: [DSO Versioning Guide](../reference/dso_versioning_guide)