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.

Installation

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/github.com-1ecc6299db9ec823/gobject-sys-0.15.10/src/lib.rs --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/cargo.sh /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().
    Aborting...

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 https://flathub.org/repo/flathub.flatpakrepo
$ 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?
0
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

Subscribe
Notify of
guest

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

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Paul
Paul
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!