Introduction

Apps for the Librem 5 will be typically built using the open source GTK+ toolkit. In fact many of the apps available will be ported from already existing GTK+ apps which are part of the GNOME environment. In your efforts to write an app or port a current app to the Librem 5, you are likely going to use GTK+ and the tooling around it for development.

The Tools

  • GNOME Builder
  • flatpak, flatpak-builder (Your app package format)
  • flatpak runtimes
  • Librem 5 emulator
  • GTK+ (UI toolkit)
  • GNOME environment (Librem 5 runs GNOME by default)
  • libhandy (library with GTK+ widgets for mobile phones)

The Workflow

A typical developer workflow will involve something of this sort:

  • Install flatpak and flatpak-builder
  • Install GNOME Builder
  • Git checkout a Gnome app to port, or start a new GNOME Application project within GNOME Builder
  • Adjust dependencies for the project to pull in libhandy or other possible requirements
  • Adjust project code and/or xml files for UI changes to accommodate for mobile
  • Build a flatpak from GNOME Builder
  • Copy flatpak into the emulator, install flatpak on emulator, run flatpak app on emulator
  • Debug issues
  • Rinse and repeat until your app works well on the Librem 5 emulator
  • Contribute the app or port