A pure Wayland shell for mobile devices like smart phones or small tablets which
- use touch input
- are running battery powered most of the time
- have limited screen space
- have a limited number of buttons
- might be docked to a keyboard, screen and other input devices
Typical devices are the Librem 5 and PinePhone or devices formerly running proprietary operating systems like the OnePlus 6/6T.
The companion Wayland compositor is phoc.
phosh is licensed under the GPL-3.0-or-later licence.
git clone https://gitlab.gnome.org/World/Phosh/phosh
cd phoshThe main branch has the current development version.
On a Debian based system run
sudo apt-get -y install build-essential
sudo apt-get -y build-dep .For an explicit list of dependencies check the Build-Depends entry in the
debian/control file.
We use the meson (and thereby Ninja) build system for phosh. The quickest way to get going is to do the following:
meson setup _build
meson compile -C _buildTo run the tests run
xvfb-run meson test --no-suite screenshots -C _buildFor details see the .gitlab-ci.yml file.
When running from the source tree start the compositor phoc. Then start phosh using:
_build/runor (if you built phoc from source in ../phoc) in one command:
../phoc/_build/run -C ./data/phoc.ini -E _build/runThis will make sure the needed gsettings schema is found. Note that there's no need to install any files outside the source tree.
The result should look something like this:
If you're running a display manager like GDM or LightDM you can select the
Phosh session from the display managers menu. For development purposes
you can use the provided systemd unit:
systemctl start phoshThis runs phosh as the user with user id 1000 (which needs to exist). If you don't have that user and don't want to create one you can make systemd run phosh as any user by using an override file:
cat <<EOF > /etc/systemd/system/phosh.service.d/override.conf
[Service]
User=<your_user>
EOFAll of the above use the /usr/bin/phosh-session script to start compositor
and shell under the hood so if you just want to start phosh from the system
console once invoke that script directly.
This is handled via GNOMEs infra, see https://wiki.gnome.org/TranslationProject and https://l10n.gnome.org/module/phosh/.
- Issue tracker: https://gitlab.gnome.org/World/Phosh/phosh/issues
- Matrix: https://matrix.to/#/#phosh:phosh.mobi
Development documentation including public API docs and notes for application developers is at https://world.pages.gitlab.gnome.org/Phosh/phosh.
