# How-to guides These how-to guides cover the key aspects of working with Mir. - [Developing a Compositor](developing-a-wayland-compositor-using-mir.md): build your own, custom compositor with Mir - [Developing protocol extensions for Mir](developing-wayland-extension-protocols-for-mir-servers.md): extend your compositor with support for a custom protocol extension - [Getting involved in Mir](getting_involved_in_mir.md): first steps to contributing to Mir - [Using checkbox-mir](how-to-use-checkbox-mir.md): validating your environment using [checkbox-mir](https://snapcraft.io/checkbox-mir) - [Calibrating a touchscreen device](how-to-calibrate-a-touchscreen-device.md): creating and using a calibration matrix using [the libinput snap](https://snapcraft.io/libinput) - [Enabling graphics-core22 on a device](how-to-enable-graphics-core22-on-a-device.md): creating a `graphics-core22` provider snap for a new board - [How to specify start up applications](how-to-specify-startup-apps.md) - [How to handle user input](how-to-handle-keyboard-input.md) - [Specifying CSD/SSD Preference](specifying-csd-ssd-preference.md) - [Enable screencasting](how-to-enable-screencasting.md) ```{toctree} :hidden: developing-a-wayland-compositor-using-mir.md developing-wayland-extension-protocols-for-mir-servers.md getting_involved_in_mir.md how-to-use-checkbox-mir.md how-to-calibrate-a-touchscreen-device.md how-to-enable-graphics-core22-on-a-device.md how-to-test-mir-for-a-release.md how-to-update-symbols-map.md how-to-specify-startup-apps.md how-to-handle-keyboard-input.md specifying-csd-ssd-preference.md how-to-enable-screencasting.md ```