Sxmo
Due to PipeWire media server, you might want to refer to Sxmo/Sound. |
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
- Sxmo: Freedom on mobile devices through simplicity and hackability — Video Presentation at Libreplanet 2022
- Sxmo: Simple X Mobile - A minimalist environment for Linux smartphones — Video Presentation at AlpineConf 2021
- project homepage
- Sxmo Tips & Tricks
- postmarketOS podcast interviews about Sxmo with proycon, Miles Alan