More Background info can be found in this blog post. Please do NOT run some scripts as root which install additional packages and modify important settings!

The Walkthrough

  1. Verify your “sound theme” by issueing: gsettings get org.gnome.desktop.sound theme-name. If it outputs freedesktop, it is the default sound theme. That is fine.
  2. Create your overlay sound directoy: mkdir -p ~/.local/share/sounds/freedesktop/stereo. (You need to replace freedesktop with whatever sound profile name you might be using, if you have switched away from the default)
  3. Place a sound file in “ogg” format under the name “phone-incoming-call.oga” in that directory. For instance by: mv sound.ogg ~/.local/share/sounds/freedesktop/stereo/phone-incoming-call.oga
  4. Test your new ringtone by issueing: fbcli -t -1 -E phone-incoming-call

That's it.

The nitty gritty details

The terminology involved is quite confusing. So be aware that a 1) sound theme, a 2) feedback theme, and 3) feedback profiles are three different things.

  1. The first one defines in which directories a sound file is looked up (the freedesktop theme will serve as fallback, if a sound profile is not defined). So in the case of mobian, this is simply always be 'freedesktop if you never changed it.
  2. The feedback theme connects event names and sound files (or visual/haptic feedback) and also defines various feedback profiles.
  3. Those profiles are full, quiet and silent, providing profiles within a theme. This is what you can change in, for instance, Android phones with the “Do not disturb” settings. You can change them in the settings GUI for everything, or per application.
Feedback themes

Sounds and vibrations can be customized. This is controlled by [[https://source.puri.sm/Librem5/feedbackd/-/blob/main|feedbackd]. The most important names of event are listed [[https://source.puri.sm/Librem5/feedbackd/-/blob/main/doc/Event-naming-spec-0.0.0.md|here] and the configuration of events is being explained [[https://source.puri.sm/Librem5/feedbackd/-/blob/main/doc/Feedback-theme-spec-0.0.0.md|here]. In mobian, the feedback themes are configured in the files located in /usr/share/feedbackd/themes/