Jump to content

Category:Interface

From postmarketOS Wiki
Revision as of 21:58, 15 March 2025 by Fossdd (talk | contribs) (Desktop Interfaces: add sway)
postmarketOS running Plasma Mobile on top of mainline Linux on the Google Nexus 5.

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

Interfaces are categorized based on what chassis type they are primarily recommended for. (See machine-info for more information)

Hint Clicking on the images in the interface info boxes will take you to the wiki page for the respective interface.

Graphical Interfaces

These interfaces display a interface using a graphical toolkit. These are your "normal" interfaces.

Handset Interfaces

These are interfaces that adapt well to handsets (phones). This can also include tablets.

Phosh

Screenshot of the Phosh interface.

A mobile interface developed by Purism. It is based on the GNOME stack.
Wiki page

Plasma Mobile

Screenshot of the Plasma Mobile interface.

The mobile version of KDE Plasma. It is based on the KDE stack.
Wiki page

Sxmo

Screenshot of the Sxmo interface.

Based on a tiling WM and uses hardware buttons as controls. For advanced users.
Wiki page

GNOME Mobile

Screenshot of the GNOME Mobile interface.

The GNOME stack adapted for handsets.
Wiki page

Lomiri

Screenshot of the Lomiri interface.

An elegant and convergent shell for both desktop and mobile.
Wiki page

Bananui

Screenshot of the Bananui interface.

A UI for feature phones based on parts of Phosh and a custom UI toolkit.
Wiki page

Desktop Interfaces

These interfaces are designed to fit on desktop devices, including laptops, convertibles, and servers. Some of these UIs have been adapted to fit on mobile screen-sizes, but the experience may be degraded.

GNOME

Screenshot of the GNOME interface.

The GNOME stack for desktop
Wiki page

COSMIC

Screenshot of the COSMIC interface.

COSMIC Desktop Environment from System76
Wiki page

Sway

Screenshot of the Sway interface.

Window Tiling Manager
Wiki page

Xfce4

Screenshot of the Xfce4 interface.

A lightweight desktop environment. One of the best choices for new ports (non-DRM).
Wiki page

MATE

Screenshot of the MATE interface.

A fork of GNOME 2. Not as configurable as Xfce4, thus the setup is less touch-friendly.
Wiki page

Weston

Screenshot of the Weston interface.

The reference Wayland compositor. Can be used as a demo for DRM support.
Wiki page

Console Interfaces

These display an interface using the Linux CLI or TUI. They are meant for power-users or people who want to configure their system from scratch.

Handset Interfaces

These interfaces display a keyboard on the console, allowing for usage on devices without a physical keyboard.

fbkeyboard

Screenshot of the fbkeyboard interface.

A keyboard that runs in the framebuffer. Useful when regular graphical interfaces don't work.

buffyboard

Screenshot of the buffyboard interface.

A modern keyboard that runs in the framebuffer. Useful when regular graphical interfaces don't work.

console

Screenshot of the console interface.

A minimal environment with a few QOL packages included.

Desktop Interfaces

These interfaces do not have a virtual keyboard and only work on devices where there is a physical keyboard attached.

none

Screenshot of the none interface.

A minimal environment with none of the UIs.

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.

For new ports, using a simple, light-weight X11 interface such as Xfce4, MATE, LXQt 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#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 pmbootstrap init 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 apk add postmarketos-ui-<UI name>. You can get a list of available UIs by using the command apk search postmarketos-ui-.

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

# rc-service tinydm stop # Stop current DM. Replace tinydm with the DM that you are using
# rc-update del tinydm # Don't start DM by default
# apk del postmarketos-ui-* # Delete UI metapackages if you don't need them anymore
# apk add postmarketos-ui-console # Install console UI metapackage

Subcategories

This category has only the following subcategory.

Pages in category "Interface"

The following 21 pages are in this category, out of 21 total.