Phosh: A GNOME based Wayland shell and compositor
12-01, 16:45–17:15 (UTC), Room A

The phosh shell and phoc compositor together are a GNOME based GUI designed to work on a mobile phone. We will describe how to build phosh with the meta-phosh layer, look at what components outside of oe-core are required (mostly from meta-gnome), demonstrate how to create an image with gtk+3 applications similar to core-image-sato, and show how to build a pure GNOME image. Finally, we will discuss the open issues remaining to turn phosh into a sato replacement.


Phosh (PHOne SHell) is a shell and phoc (PHOne Compositor) is a compositor for Wayland. Unlike many other compositors, it is based on GNOME and gtk+3 without any other requirements (such as Qt). Phosh was developed by Purism and is now part of GNOME World and under active development in the GNOME community. Phosh and phoc implement the standard GNOME desktop interfaces, meaning it is capable of running gtk+3 and GNOME applications without modification. This makes it a good candidate for replacing matchbox and sato (core-image-sato). Because phosh was designed for mobile phone use, there are some implementation details that will need to be overcome before it can be considered a full-fledged replacement for sato and matchbox. Examples of these current issues are the default lock screen (where the PIN is numeric only) and default portrait alignment of the display.

See also: Phosh Slides (1.1 MB)

Tim Orling is the Core OS Architect for High-Velocity Silicon Platforms Engineering (HSPE) in the Internet of Things Group (IOTG) at Intel. Tim joined Intel in early 2016, after many years as a volunteer developer for OpenEmbedded and the Yocto Project. He has been an open source software and embedded hardware enthusiast for many years. He taught in a university setting for more than 5 years and has given many well-received training sessions and technical talks at conferences. Tim is currently working in areas of containerization, orchestration and virtualization for embedded systems. Tim is also driving containerized building and testing of Yocto Project in a highly-scalable Kubernetes native implementation. Tim has been tinkering at home with microcontrollers via Zephyr Project, MicroPython and CircuitPython.

This speaker also appears in: