Install Guide

Distribution Packages

Below you will find links to the distributions on which mepo has been packaged and has known support. Generally using your distribution's package manager is the preferred install route. If you do not see your distribution in the below list, you may also install on alternative distributions using the officially maintained flatpak.

Supported distributions:

  • Alpine Edge & postmarketOS
    • Example install command for Phosh, Swmo, and Wayland desktops: apk add mepo-scripts-bemenu
    • Example install command for Sxmo and X desktops: apk add mepo-scripts-dmenu
    • Example install command for Plasma Mobile & alternative environments: apk add mepo-scripts-zenity
  • Arch Linux AUR
  • NixOS
  • NetBSD

After installation, you may launch mepo by running the command mepo. On environments such as Phosh and Plasma Mobile an icon should appear in the launcher for mepo based on the .desktop file.


Mepo is available as a flatpak on flathub. This is helpful for distributions where mepo has not been packaged yet such as Mobian. The flatpak package is officially maintained by Miles, the main developer of mepo. Bugs related to the flatpak may be reported to the bug tracker or on the mailing list.

To install the flatpak, reference your distribution's guide for how to install flatpak to setup flatpak on your machine and then run the below commands to add flathub, install the flatpak, and run mepo:

flatpak remote-add --if-not-exists flathub
flatpak install flathub com.milesalan.mepo
flatpak run com.milesalan.mepo

Notes on Supported UI Environments

Mepo is built in SDL2 and thus boots quickly and has good cross-UI environment compatibility by default. Beyond this base level rendering compatibility, mepo is also bundled with scripts (e.g. mepo_* scripts) which provide menuing and user input features. For example, searching for a location via Nominatim, for this input entry, menuing is used. Depending on your UI environment, the menuing program used may be either bemenu, dmenu, or zenity. See the script for the particular logic used to determine this, generally on X dmenu is used; while on Wayland bemenu is used, and on environments where neither bemenu nor dmenu are well supported, zenity is the fallback method.

The following environments have been tested in development and should be considered as supported environments, bugs with the following environments should be filed on the bug tracker:

  • Phosh: menuing via bemenu
  • Sxmo: menuing via dmenu
  • Plasma Mobile: menuing via zenity
  • Desktop Wayland (tested on sway): menuing via bemenu
  • Desktop X (tested on i3): menuing via dmenu

Notes on Supported Devices

In development, testing generally occured on the Pinephone, a Motorola G4 Play, and a generic linux desktop. postmarketOS is one of the primary distribution targets for mepo, and generally x86_64 and aarch64 devices running postmarketOS should work well out-of-the-box in the above supported UI environments. Support for devices running alternative architectures such as arm_v7 is based on distribution support. Note: currently Alpine linux only supports zig builds on x86_64 and aarch64.

For device-specific bugs, please file a ticket in the bug tracker.