Phosh (portmanteau of phone and shell) is a graphical user interface designed for mobile and touch-based devices and developed by Purism. It is the default shell used on several mobile Linux operating systems including PureOS, Mobian, and Fedora Phosh. It is also an option on postmarketOS, Manjaro, and openSUSE.

Phosh
Developer(s)Purism, SPC
Initial releaseSeptember 20, 2018; 5 years ago (2018-09-20)
Stable release
0.39.0[1] / May 15, 2024; 58 days ago (2024-05-15)[1]
Repositorygitlab.gnome.org/World/Phosh/phosh
Written inC
Operating systemLinux
TypeGraphical shell
LicenseGNU GPLv3
Websitephosh.mobi

Development

2018 mockups of Phosh

In August 2017, Purism, personal computing hardware vendors and developers of PureOS announced their intention to release a privacy-centric smartphone that ran a mobile-optimized version of their Linux-based operating system.[2] With this announcement, Purism released mockups of Phosh that resembled a modified GNOME Shell. This eventually became known as the Librem 5.

In April 2018, Purism started to publicly release documentation that referenced Phosh with updated mockups,[3] and hired GNOME UI/UX developer Tobias Bernard to directly contribute to the shell.[4]

Despite the Librem 5 phone being delayed, Phosh received its first official release in October 2018, which was primarily focused on developer usage. The first official hardware for direct use with Phosh was shipped several months later in December when Purism shipped hardware devkits.[5] In July 2020, the PinePhone was released with a version of postmarketOS that featured the Phosh interface.[6]

Since August 2021, Phosh's source code repository (including issue tracking and merge request handling) has been hosted by the GNOME Foundation. To ease testing on their devices Purism maintains a separate repository [7] that integrates some of the open upstream merge requests and provides packaging for PureOS.

Features

Overview

The Phosh Overview screen is the primary method to interact with the shell. It contains the App Grid, which displays user applications that can be launched from icons. The App Grid is split into two sections. The top section is reserved for frequently-used applications, and is known as "Favorites". The bottom section is reserved for all other installed applications.

In addition, a functionality is included that allows users to type search terms to find specific applications. The Overview screen also contains the Activities view, which visualizes the currently-opened applications, and gives a method to dismiss them as well.

Lock Screen

When the device's display is toggled from off to on, Phosh displays a Lock Screen with the time and date along with several indicator icons that illustrate the device's status of cellular network service, Wi-Fi, Bluetooth, and battery percentage. Upon sliding up from the bottom of the screen, the Lock Screen requests a predefined passcode to unlock and continue to the Overview screen.

Phosh is based-on the GTK widget toolkit, and uses a custom compositor based on wlroots.[8] Like GNOME Shell, Phosh relies upon certain GNOME components to provide a fully-featured mobile interface. Primary examples of this are its use of the GNOME Session Manager for session management and the GNOME Settings Daemon for storing application and shell settings. Phosh also makes use of some freedesktop.org system components such as Polkit, UPower, iio-sensor-proxy, NetworkManager and ModemManager.

It is both open source and libre software. Closely related technologies used in conjunction with Phosh, and also significantly developed by Purism, are Phoc (a Wayland compositor), Squeekboard (an on-screen virtual keyboard), feedbackd (a haptic feedback daemon) and portions of libadwaita in regards to adaptive windowing to allow for otherwise desktop-centric apps to act and feel as true mobile apps.[9][10]

Version history

The table illustrates major releases, and is not an exhaustive list of releases.

VersionDateInclusion with initial OS release
0.0.1September 20, 2018
0.1.0September 30, 2019
0.2.0February 26, 2020
0.3.0May 19, 2020
0.4.0July 1, 2020Fedora Linux 33
0.5.0October 28, 2020postmarketOS 20.05
0.6.0November 15, 2020postmarketOS 21.03
0.7.0December 10, 2020
0.8.0January 19, 2021Fedora Linux 34
Mobian Bullseye
0.9.0March 3, 2021
0.10.0March 31, 2021PureOS Amber
postmarketOS 21.06
0.11.0May 31, 2021
0.12.0June 30, 2021
0.13.0August 10, 2021Fedora Linux 35
0.14.0October 28, 2021PureOS Byzantium
postmarketOS 21.12
0.15.0January 25, 2022[1]
0.16.0February 25, 2022[1]
0.17.0March 25, 2022[1]postmarketOS 22.06
0.20.0August 8, 2022[1]
0.21.0September 1, 2022[1]postmarketOS 22.06 SP2
0.22.0November 7, 2022[1]
0.23.0December 28, 2022[1]
0.24.0February 2, 2023[1]Debian Bookworm
0.25.0March 2, 2023[1]
0.26.0April 3, 2023[1]
0.27.0May 2, 2023[1]postmarkeOS 23.06
0.28.0June 1, 2023[1]
0.29.0July 6, 2023[1]
0.30.0August 3, 2023[1]
0.31.0September 4, 2023[1]
0.32.0October 6, 2023[1]
0.33.0November 3, 2023[1]postmarketOS 23.12
0.34.0December 6, 2023[1]
0.34.1December 20, 2023[1]
0.35.0January 7, 2024[1]
0.36.0February 3, 2024[1]
0.37.0March 8, 2024[1]
0.38.0April 1, 2024[1]Ubuntu 24.04LTS
0.39.0May 15, 2024[1]

See also

References