Category:Interface



An interface is the graphical shell that runs on a device. Traditionally, these are called "desktop environments"; however, we prefer to use the name "interfaces" as we ship multiple mobile-first user interfaces as well.

As of writing, there are 17 user interfaces readily available in postmarketOS. These range from regular desktop environments to mobile-centric interfaces.

Commonly used interfaces
These are recommended for devices running a (close to) mainline kernel.

Other interfaces
Other than these few, we package other user interfaces, ranging from various desktop environments to 10-foot UIs like Kodi or Plasma Bigscreen, as well as experimental UIs like Shelli. If you'd like to learn more, you can find more links to wiki pages of various interfaces at the bottom of this page.

Which interfaces work where (and which interface should I use?)
For devices running a (close to) mainline kernel (they typically have working GPU acceleration), Phosh, Plasma Mobile and Sxmo are recommended. There are also some alternative mobile interfaces like Lomiri, but support for them is still work-in-progress.

For new ports, using a simple, light-weight X11 interface such as Xfce4, LXQt, MATE may provide a better experience. Sxmo and i3wm could also be used as options.

Phosh and Weston currently don't work on devices running downstream kernels due to lack of DRM support (only supported in mainline kernel). It also does not work on mainline devices without working hardware acceleration; however, some progress towards fixing this was made - see pmaports issue #948. Plasma Mobile can be launched in software rendering mode, but performs poorly.

Additionally, Phosh, Plasma Mobile and other 'modern' UIs may be too heavy for resource constrained devices (e.g. those with little RAM or less powerful CPU/GPU)

For minimal usage like an SBC or a Raspberry Pi, use console or none.

Installing interfaces
For devices in the main or community category, you can download official postmarketOS images with pre-installed interfaces.

If you'd like to install a different interface, you have multiple options:


 * Install postmarketOS with pmbootstrap. During  you will be asked to select an user interface.
 * If you'd like to install a different UI on a device running postmarketOS, install the UI package for it with . You can get a list of available UIs by using the command.

For none/console UI, you can run these commands according to your demand: