Category:Interface: Difference between revisions
update following Matrix chat |
|||
(47 intermediate revisions by 12 users not shown) | |||
Line 1: | Line 1: | ||
[[File:Nexus5-02-home.jpg|thumb|right|postmarketOS running [[Plasma Mobile]] on top of [[The Mainline Kernel|mainline Linux]] on the [[Google_Nexus_5_(lg-hammerhead)|Google Nexus 5]].]] | [[File:Nexus5-02-home.jpg|thumb|250px|right|postmarketOS running [[Plasma Mobile]] on top of [[The Mainline Kernel|mainline Linux]] on the [[Google_Nexus_5_(lg-hammerhead)|Google Nexus 5]].]] | ||
An interface is the graphical | 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 [https://www.freedesktop.org/software/systemd/man/latest/machine-info.html 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.}} | |||
== List of Interfaces == | |||
These are | === Mobile phones === | ||
These are interfaces that adapt well to handsets (phones). This can also include tablets. | |||
{{Interface box | {{Interface box | ||
|name=Phosh | |name=Phosh | ||
|image=File:Phosh homescreen.png | |image=File:Phosh homescreen.png | ||
|description= | |description=A mobile interface developed by Purism. It is based on the GNOME stack.}} | ||
{{Interface box | {{Interface box | ||
|name=Plasma Mobile | |name=Plasma Mobile | ||
|image=File:Plasma Mobile homescreen.png | |image=File:Plasma Mobile homescreen.png | ||
|description= | |description=The mobile version of KDE Plasma. It is based on the KDE stack.}} | ||
{{Interface box | {{Interface box | ||
|name=Sxmo | |name=Sxmo | ||
|image=File:Sxmo homescreen.png | |image=File:Sxmo homescreen.png | ||
|description= | |description=Based on a tiling WM and uses hardware buttons as controls. For advanced users.}} | ||
{{Interface box | |||
|name=GNOME Mobile | |||
|image=File:Gnome-mobile-postmarketos-23.06.png | |||
|description=The GNOME stack adapted for handsets.}} | |||
{{Interface box | |||
|name=Lomiri | |||
|image=File:Lomiri-example-desktop-2.png | |||
|description=An elegant and convergent shell for both desktop and mobile.}} | |||
{{Interface box | |||
|name=Bananui | |||
|image=File:Bananui.png | |||
|description=A UI for feature phones based on parts of [[Phosh]] and a custom UI toolkit.}} | |||
=== Desktop === | |||
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. | |||
{{Interface box | |||
|name=GNOME | |||
|image=File:GNOME_screenshot.png | |||
|description=The GNOME stack for desktop | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=Plasma Desktop | |||
|image=File:Plasma.png | |||
|description=KDE Plasma 6 Desktop | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=COSMIC | |||
|image=File:Cosmic.png | |||
|description=COSMIC Desktop Environment from System76 | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=Sway | |||
|image=File:Sway.png | |||
|description=Wayland Tiling Window Manager | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=I3wm | |||
|image=File:I3wm.png | |||
|description=X11 Tiling WM | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=Xfce4 | |||
|image=File:Xfce.png | |||
|description=A lightweight desktop environment. One of the best choices for new ports (non-DRM). | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=MATE | |||
|image=File:MATE.png | |||
|description=A fork of GNOME 2. Not as configurable as Xfce4, thus the setup is less touch-friendly. | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=LXQt | |||
|image=File:LXQt.png | |||
|description=Lightweight Qt desktop environment. The state of implementation is rather experimental. | |||
|small=yes | |||
|desktop=true}} | |||
=== TV === | |||
These interfaces are designed to fit on TVs and set-top boxes. | |||
{{Interface box | |||
|name=Kodi | |||
|image=File:Kodi.png | |||
|description=10-foot UI useful on TV's | |||
|nowiki=yes | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=Mediaberry | |||
|image=File:Mediaberry 0.1.0 Home.png | |||
|description=An open platform for streaming boxes and smart TVs (WIP) | |||
|small=yes | |||
|desktop=true}} | |||
{{Interface box | |||
|name=Moonlight | |||
|description=Open Source PC client for NVIDIA GameStream, as used by the NVIDIA Shield | |||
|image=File:Moonlight start screen.png | |||
|small=yes | |||
|nowiki=yes | |||
|desktop=true}} | |||
== | === Watches === | ||
User interfaces that are designed for digital and smart watches. | |||
{{Interface box | |||
|name=AsteroidOS | |||
|image=File:AsteroidQemu.png | |||
|description=Smartwatch UI from AsteroidOS | |||
|small=yes | |||
|desktop=true}} | |||
=== Miscelaneous === | |||
{{Interface box | |||
|name=Cage | |||
|image=File:Postmarketos-demos running in cage.png | |||
|description=Kiosk WM | |||
|small=yes | |||
|nowiki=yes | |||
|desktop=true}} | |||
{{Interface box | {{Interface box | ||
|name=Weston | |name=Weston | ||
|image=File:Weston | |image=File:Weston.png | ||
|description= | |description=The reference Wayland compositor. Can be used as a demo for DRM support. | ||
|small=yes}} | |small=yes | ||
|desktop=true}} | |||
{{Interface box | {{Interface box | ||
|name= | |name=Openbox | ||
|image=File: | |image=File:Screenshot from 2023-12-29 17-29-53.png | ||
|description= | |description=A highly configurable and lightweight X11 window manager | ||
|small=yes}} | |small=yes | ||
|desktop=true}} | |||
=== Console === | |||
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. | |||
{{Interface box | {{Interface box | ||
|name= | |name=console | ||
|image=File: | |image=File:Samsung-j3.png | ||
|description= | |description=Barebone postmarketOS installation; not recommended for phones; mostly used for debugging or headless installations | ||
|nowiki=yes | |||
|small=yes}} | |small=yes}} | ||
{{Interface box | {{Interface box | ||
|name=fbkeyboard | |name=fbkeyboard | ||
|image=File:Fbkeyboard.png | |image=File:Fbkeyboard.png | ||
|description= | |description=A keyboard that runs in the framebuffer. Useful when regular graphical interfaces don't work. | ||
|small=yes}} | |||
{{Interface box | |||
|name=buffyboard | |||
|image=File:buffyboard.png | |||
|description=A modern keyboard that runs in the framebuffer. Useful when regular graphical interfaces don't work. | |||
|nowiki=yes | |nowiki=yes | ||
|small=yes}} | |small=yes}} | ||
{{Interface box | {{Interface box | ||
|name= | |name=Shelli | ||
|image= | |image= | ||
|description= | |description=Plain console with touchscreen gesture support (experimental) | ||
|small=yes}} | |||
{{Interface box | |||
|name=Framebufferphone | |||
|image= | |||
|description=Minimalist framebuffer menu/keyboard UI accessible via touch/volume keys & compatible scripts | |||
|nowiki=yes | |nowiki=yes | ||
|small=yes}} | |small=yes}} | ||
== Which interfaces work where (and which interface should I use?) == | == 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 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]], LXQt | 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 <abbr title="Direct Rendering Manager">DRM</abbr> 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 | Phosh and Weston currently don't work on devices running downstream kernels due to lack of <abbr title="Direct Rendering Manager">DRM</abbr> 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 {{issue|948|pmaports}}. Plasma Mobile can be launched in software rendering mode, but performs poorly. | ||
Additionally, Phosh, Plasma Mobile | 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. | For minimal usage like an SBC or a Raspberry Pi, use console or none. | ||
Line 87: | Line 207: | ||
# apk add postmarketos-ui-console # Install console UI metapackage | # apk add postmarketos-ui-console # Install console UI metapackage | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category:Top Level]] |
Latest revision as of 13:38, 28 March 2025

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)
Clicking on the images in the interface info boxes will take you to the wiki page for the respective interface. |
List of Interfaces
Mobile phones
These are interfaces that adapt well to handsets (phones). This can also include tablets.
Desktop
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.
MATE
A fork of GNOME 2. Not as configurable as Xfce4, thus the setup is less touch-friendly.
Wiki page
LXQt
Lightweight Qt desktop environment. The state of implementation is rather experimental.
Wiki page
TV
These interfaces are designed to fit on TVs and set-top boxes.
Watches
User interfaces that are designed for digital and smart watches.
Miscelaneous
Console
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.
console
Barebone postmarketOS installation; not recommended for phones; mostly used for debugging or headless installations
fbkeyboard
A keyboard that runs in the framebuffer. Useful when regular graphical interfaces don't work.
Wiki page
buffyboard
A modern keyboard that runs in the framebuffer. Useful when regular graphical interfaces don't work.
Shelli
[[|128px|alt=Screenshot of the Shelli interface.|link=Shelli]]
Plain console with touchscreen gesture support (experimental)
Wiki page
Framebufferphone
[[|128px|alt=Screenshot of the Framebufferphone interface.|]]
Minimalist framebuffer menu/keyboard UI accessible via touch/volume keys & compatible scripts
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 commandapk 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.