Music sketch

Resonance – Rust-based music player

We often look at software that’s in an alpha stage of development. Some projects fizzle out without ever reaching a mature release. Others grow into mighty oaks. That’s the nature of open source.

Resonance is an example of a project that’s in a very early stage of development. This is an intuitive music player application written in Rust (with a smattering of Python), built with a clean user interface using GTK4 / Libadwaita.

Resonance is published under an open source license.


There’s a package in the Arch User Repository (AUR) for Arch and Arch-based distros. The package initially failed to build using the Manjaro distro bailing out with the error message:

error: could not compile `gobject-sys`

Caused by:
  process didn't exit successfully: `rustc --crate-name gobject_sys --edition=2021 /var/tmp/pamac-build-luke/resonance/src/resonance/build/cargo-home/registry/src/ --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=c021cd9f2d63c389 -C extra-filename=-c021cd9f2d63c389 --out-dir /var/tmp/pamac-build-luke/resonance/src/resonance/build/target/debug/deps -L dependency=/var/tmp/pamac-build-luke/resonance/src/resonance/build/target/debug/deps --extern glib=/var/tmp/pamac-build-luke/resonance/src/resonance/build/target/debug/deps/libglib_sys-5c4bce59d6342c75.rmeta --extern libc=/var/tmp/pamac-build-luke/resonance/src/resonance/build/target/debug/deps/liblibc-e95a0cbc12acf3be.rmeta --cap-lints allow -l gobject-2.0 -l glib-2.0 --cfg system_deps_have_gobject_2_0` (signal: 11, SIGSEGV: invalid memory reference)
warning: build failed, waiting for other jobs to finish...
[4/5] Generating src/resonance_gresource with a custom command
FAILED: src/resonance 
/bin/sh /var/tmp/pamac-build-luke/resonance/src/resonance/build-aux/ /var/tmp/pamac-build-luke/resonance/src/resonance/build /var/tmp/pamac-build-luke/resonance/src/resonance src/resonance plain resonance
ninja: build stopped: subcommand failed.
INFO: autodetecting backend as ninja
INFO: calculating backend command to run: /usr/bin/ninja -C /var/tmp/pamac-build-luke/resonance/src/resonance/build
==> ERROR: A failure occurred in build().

Shortly before publishing this review, we tested the AUR package again. It now compiles fine.

We also tried compiling the software on a fresh installation of Ubuntu 23.04. Besides needing a few additional packages to those detailed on the project’s GithUb page, Resonance failed to build at the final stage with ld complaining about missing libraries: -lpython3.11 and -lsqlite3.

Sometimes life is too short to investigate why a package doesn’t build. Fortunately, more projects are providing an alternative to building a package in the shape of cross-platform packages like snap, AppImage, and Flatpak.

For Resonance, there’s a Flatpak available.

Install with the commands:

$ flatpak remote-add --if-not-exists flathub
$ flatpak install flathub io.github.nate_xyz.Resonance

        ID                             Branch  Op  Remote   Download
1. [✓] org.gnome.Platform.Locale      44      i   flathub   17.8 kB / 340.5 MB
2. [✓] org.gnome.Platform             44      i   flathub  191.1 MB / 326.4 MB
3. [✓] io.github.nate_xyz.Resonance   stable  i   flathub    7.2 MB / 7.4 MB
Can you see the disadvantage of installing the Flatpak?
Any thoughts on this?x

You may be aware that from Ubuntu 23.04, Flatpak doesn’t work out of the box. Now you have to install Flatpak with the command $ sudo apt install flatpak.

Next page: Page 2 – In Operation

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Summary

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
11 months ago

I installed Resonance just to verify its memory usage. I got the same. Never seen a music player use 8GB of RAM before!