Category:Interface

From postmarketOS
Revision as of 20:25, 21 September 2022 by Giannidunk (talk | contribs) (Added Gnome Mobile Shell link according to https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3404)
Jump to navigation Jump to search
postmarketOS running Plasma Mobile on top of mainline Linux on the Google Nexus 5.

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

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

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

Phosh

Screenshot of the Phosh interface.

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

Plasma Mobile

Screenshot of the Plasma Mobile interface.

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

Sxmo

Screenshot of the Sxmo interface.

Sxmo (Simple X Mobile) is based on a tiling WM, and uses hardware buttons as controls. For advanced users. Wiki page

Other interfaces

Xfce4

Screenshot of the Xfce4 interface.

Xfce4 is a lightweight desktop environment. In postmarketOS, it ships a default configuration that is more mobile-friendly. It might be the best choice for new ports (non-DRM) Wiki page

Glacier

Screenshot of the Glacier interface.


Glacier is a mobile interface based on Jolla's Mer stack.

Wiki page

fbkeyboard

Screenshot of the fbkeyboard interface.


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

none/console

Screenshot of the none/console interface.


none literally is a minimal environment with none of UIs. console also has some extra packages such as NetworkManager included.

Weston

Screenshot of the Weston interface.

Weston is the reference implementation of a Wayland compositor. It can be used as a demo for DRM support. Wiki page

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 or the experimental Gnome Shell for Mobile with relevant patches. 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 Glacier and 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, Glacier, 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 17 pages are in this category, out of 17 total.