Sonic Pi as an appimage

Good to know on the plans for Erlang. I like the language, but it just seemed like a big dependency to pull in for the small amount of Erlang code currently in Sonic Pi. Knowing that there are plans to expand it, I’ll take a look at adding it to the app image.

Given Sonic Pi’s Ruby heritage, Elixir would be an interesting choice for the Erlang side of things…

But the next thing on my todo list for this is to fix up the Ruby dependencies. I think for those of us that were able to get the appimage running it was mostly through accidentally falling through to the system install of Ruby and just happening to have most of the packages it uses already installed. I’m going to try using github.com/rbenv/ruby-build to build and install Ruby from source to a non-default location, with the added benefit of being able to use any Ruby version rather than just whatever’s already packaged.

I’ve created a new build for Sonic Pi version 3.2.2: https://github.com/spencerschumann/sonic-pi-appimage/releases/download/v3.2.2-001/sonic-pi.AppImage

I also added a README at https://github.com/spencerschumann/sonic-pi-appimage.

I haven’t tried bundling Erlang yet, so this release still won’t support OSC, and MIDI functionality is untested but most likely also not working.

Apart from the update to v3.2.2, this release also upgrades to Ruby 2.7.1. It also fixes some major problems with the way Ruby libraries and Supercollider plugins were packaged - with the previous release, although these things were packaged, they actually weren’t being used at runtime, and instead it fell back to the ones installed on the system. @TheTraveler this should fix the boot error you saw.

2 Likes

Hi, great work! Just to report. Its working great on my end!

OS: Linux Mint 19.3 Tricia x86_64
Kernel: 5.3.0-51-generic

I had a little “problem” were two suppercollider instances were created and the one used by the app was not connected to the output . The other is connected but I don’t know what it does (it might be a leftover of a previous attempt)

Thanks again!

hi there ;D
At first, very big thanks for you great work, but I have run under Linux Mint 20 Kernel 5.4 and have some errors. Here the log
https://paste.md-5.net/afasakiroy.coffeescript

Greetings
Bogus

Any luck? I’m trying to run Sonic Pi on Gentoo Linux and get the same error.

@mmanu - if possible, you may actually have better luck compiling from source. (You’d end up with a more recent release too :wink: ). The build instructions have improved greatly compared to a few years ago - so it’s worth giving it a go if you can!

(Otherwise I’d recommend leaving an issue or comment on @spencerschumann’s Sonic Pi AppImage GitHub page)

Thanks for the quick reply!!

The problem is the requirements are kind of “too strong” for me, especially the pulseaudio/jack stuff (which I’m not very fond of), so the appimage/flatpak was a perfect workaround for me.

A little bit off topic, and just out of curiosity, but if it works smoothly on Raspberry Pi OS (which is Linux-based), why is it so much harder to get it to work in other Linux distros?

Fair enough!

There are too many other varieties of Linux to support them all :slight_smile:

It works well on Raspberry Pi partly because up until a few years ago, Sonic Pi was produced with support from the Raspberry Pi foundation (after which point, further binary builds have since been generously contributed on our website by one of our team, @robin.newman).

Regarding the support of other Linux variants: each different flavour of Linux does things differently, so making things work for each variety is easier said than done :slight_smile: In particular, we on the core team (besides Sam, who relies purely on crowd-funding and income from talks/workshops/performances) are a small number of volunteers, each with our own strengths and day jobs/other commitments. It comes down to a question of resources - I’m sure we’d love to do more to support multiple Linux variants if we were able.

Further to Ethan’s reply, I have binary .deb files for Raspberry Pi and for Ubuntu (which works on some Ubuntu variants as well). I’ve had a brief look at Gentoo, and it’s whole setup is very different from either of the above, and I think it would be quite involved to get it going on this distribution, and it’s certainly one of which I have no experience.

I totally get your points. Thanks both for the clarifications. I put my faith in an appimage/flatpak binary to get around different distros’ peculiarities. Right now I’m trying Sonic Pi in a virtual machine and it’s quite OK. Occasionally, there are small sound glitches but not a showstopper (no pun intended :slight_smile: )