System software development

This section has various documents which will teach you how to work with the system level of Ubuntu Touch. This includes the Kernel, Android HAL, Ubuntu UI Toolkit, Unity8, and all of the other software that makes Ubuntu Touch what it is.

This section does not cover most of the applications preinstalled on Ubuntu Touch. See Preinstalled apps for more information on those.

Kernel and hardware abstraction

This section covers how to build and install the Linux kernel and hardware abstraction layer for supported devices.

System Software guides

These guides will give you general instructions on building and testing your own changes to Ubuntu Touch system software. They are not not an exhaustive reference on everything you will come across during development, but they are a great starting point.


If you get stuck at any point while going through this documentation, please contact us for help via the UBports Forum or your preferred communication medium.

System Software reference

This section includes reference guides on how different parts of the Ubuntu Touch system interact to create the user experience.

There’s not much here yet, but maybe you’d like to add some reference material? Check out our guide to contributing to documentation to learn more.