Sxmo

From postmarketOS Wiki
Note Due to PipeWire media server, you might want to refer to Sxmo/Sound.
Sxmo
Sxmo homescreen.
Sxmo homescreen.
Name Sxmo
Graphics stack dwm on X11/Xorg or sway on Wayland
Toolkit suckless tools (dwm, dmenu, st, etc) or equivalents on Wayland - sway, bemenu, foot, etc.
In postmarketOS
Package postmarketos-ui-sxmo
Status Available

Sxmo, or Simple X Mobile, is a collection of simple programs and scripts used together to create a fully functional mobile UI adhering to the Unix philosophy.

Installation

You can download an installer image or prebuilt image here.

pmbootstrap config ui sxmo-de-sway or sxmo-de-dwm to use dwm instead of sway as the window manager

Alternatively, you may download a PostmarketOS image with Sxmo preinstalled (equivalent to running pmbootstrap init and selecting pinephone and sxmo as the interface).

Usage

User graphical interface controlled by gestures and hardware buttons. Refer to the user guide for detailed usage instructions.

Note that Sxmo is designed for the Pinephone, so don't expect everything to work well on any device out of the box. However, Sxmo is open to contributions that would help to extend portability, see this issue. See below for how to improve functionality on other devices.

Components

Default installation on Xorg consist of:

  • dwm — window manager,
  • dmenu — menu system,
  • lisgd — gesture daemon,
  • svkbd — virtual keyboard,
  • feh — wallpaper,
  • conky — desktop clock,
  • clickclack — audio/vibration feedback on keypress,
  • st — simple terminal,

Default installation on Wayland consist of:

  • Sway — window manager,
  • bemenu — menu system,
  • lisgd — gesture daemon,
  • wvkbd — virtual keyboard,
  • swaybg — wallpaper,
  • wayout — desktop clock,
  • foot — terminal,

State on other devices

Basic functionality works well out of the box on almost any mainline device. However, there are some things that are still have to be generalised, like:

  • Vibration (sxmo_vibratepine doesn't work on msm8916 even if correct path to vibrate device is set)
  • Sound control (need to get it completly universal instead of hardcoding alsa devices)

Fonts on devices with smaller screens can be configured using the variables dmenu.font, dwm.font, st.font and svkbd.font in the file ~/.Xresources. The positioning of the xdm login greeter can be configured with the xlogin*geometry line of the file /etc/X11/xdm/Xresources.

For more information on how to port new devices, see: https://git.sr.ht/~mil/sxmo-utils/tree/master/item/scripts/deviceprofiles/README.md

Pictures

See also