Guido Günther

Guido Günther

Phone Developer
Guido Günther

Latest posts by Guido Günther (see all)

This is another incarnation of the software development progress for the Librem 5. This time for April 2020 (weeks 14-18). Some items are covered in more detail in separate blog posts at The idea of this summaries is so you can have a closer look at the coding and design side of things. It also shows how much we’re standing on the shoulders of giants reusing existing software and how contributions are flowing back and forth. So these reports are usually rather link heavy pointing to individual merge requests on or to the upstream side (like e.g. GNOME’s gitlab.)

Short and instant messaging

Chats (aka Chatty) handles SMS and instant messaging via XMPP. It has experimental support for various other formats via libpurple.

  • Arnaudd Ferraris fixed a bug where new SMS wasn’t shown: chatty!331
  • Internal refactoring by Sadiq continued

Lurch plugin

The lurch plugin is responsible for OMEMO encryption within libpurple:

Phone Calls

Calls (the app handling phone calls) can now be translated via the GNOME infrastructure thanks to Claude Paroz: calls!110. This prompted a Persian translation by Danial Behzadi.

Compositor and Shell

This section highlights progress in Librem 5’s GTK based graphical shell name phosh and its wlroots based compositor phoc:


  • Thanks to Claude Paroz Phosh’s translations moved to the GNOME infrastructure: phosh!487
  • Use a symbolic icon for the PolicyKit authentication prompt: phosh!485
  • There’s a patch that enables the shell to provide haptic feedback on top/home bar presses, app launch, and window close: phosh!423
  • Cleanup the compositor configuration file name to not cause confusion: phosh!491
  • Avoid excessive g_strdup() usage and plug leak on WiFi signal strength changes: phosh!489
  • Arnaud Ferraris fixed some typos in the source code that showed up when preparing the Debian upload: phosh!492
  • Rafael Fontenelle fixed the DOAP file’s repository URL: phosh!495
  • phosh: Update i18n files and add a check so that we don’t forget to add new files including translations to the i18n infrastructure: phosh!497
  • Allow to skip build and test in CI and only produce Debian packages. This can save some time when one only needs a package to install: phosh!498
  • Thanks to Zander Brown, phosh now has a notification list persisting unseen notifications: phosh!463
  • Thanks to Arnaud Ferraris phosh’s systemd unit dropped the hard-coded user name and directory making it more portable: phosh!493
  • Arnaud Ferraris fixed the long date format when using a French locale: phosh!501
  • Danial Behzadi contributed a Persian translation: phosh!499
  • Rafael Fontenelle updated the Brazilian Portuguese translation: phosh!496


  • Phoc now has a small testlib to ease adding automatic tests. This (among other things) allows to take and compare output content to saved screenshots: phoc!143 This also adds test to exercise some of the layer-shell related code.
  • Triggered by a compile warning that showed up when working on the above we fixed an issue in upstream Wayland so client and server headers can be included at the same time:
  • We now provide add test coverage information: phoc!144
  • Based on work by Arnaud Ferraris update the copyright information phoc!146 in preparation for an upload to Debian.

Debian Packaging / Upload

Arnaud Ferraris reworked phosh’s, phoc’s, and feedbackd’s packaging to make it suitable for inclusion in Debian. This complements wlroots and libhandy giving a more complete mobile stack in upstream Debian.

Gnome Control Center (Settings) / GNOME Settings daemon

  • There’s a merge request for editing wired connections re-enabling more parts that were previously disabled because they weren’t adaptive.
  • Sadiq submitted a patch to upstream GNOME Settings that allows to show a QR code when enabling hot spot mode so it becomes easy for other devices to connect.

System-Level integration


Feedbackd is responsible for haptic, audio (and later) LED based feedback:

  • Allow to set feedback level per application: feedbackd!12 This allows e.g. the shell and on screen keyboard to use only haptic feedback
  • We backported some packaging improvements from Debian: feedbackd!13

Linux Kernel

The process of upstreaming our Linux kernel work progress is covered in a separate report. The current one is for Linux 5.5 and 5.6 so this is about downstream improvements:

Librem 5 base packages

  • Make it harder for apt to remove important packages: librem5-base#28

  • Releases

    • [librem5-devkit-tools 0.0.10](librem5-devkit-tools!146 including above mentioned devfreq changes but also additions to the automatic tests. We could also drop the *no_supertile= workaround for etnaviv by fixing this properly in the compositor.
    • librem5-base 17 Pulled in udisks2 (so GNOME Settings can display storage details) and gthd (so GNOME Usage can show thermal information).


If you made it down here and want to start contributing join us on matrix. We certainly welcome patches and issue comments on If you want to grab an issue and can’t think of a particular problem, check the easy and helpwanted tags in our gitlab instance. See you next month.

Recent Posts

Related Content