How To Make an OF AppImage - Tutorial

I’ve written a basic tutorial accompanied by a file structure and shell script to speed up the process of making an OF AppImage:

The summary of steps are:

  1. Compile your OF app in an Ubuntu 16.04 Virtual Machine
  2. On your host machine, run the provided shell script with your ‘app name’ and the provided directory as arguments
  3. Copy across the ‘app’ binary and ‘data’ directory from the VM, and paste it in the new AppImage directory structure
  4. Use the official ‘appimagetool’ to build the AppImage

The bulk of the work is setting up the VM. Once that’s done, just run the shell script and voila! You have a shiny new AppImage that basically will work with any OF app and will work with Linux distros at least as old as Ubuntu 16.04, which was from 2016.

Caveats:
If you use 3rd party libraries, you will need to add them yourself. Currently this AppImage structure supports all OF functionality under Linux, including GStreamer…so that means audio, video, OpenCV etc.

If you run into any issues or want to add any more libraries, let me know. This is meant to be a generic AppImage structure specifically made for OF, so if I’ve missed some libraries, I’ll be happy to add them.

Big thanks to @macramole @pandereto @mr.Bitmap and @theo who contributed valuable info to this thread, which inspired this work:

3 Likes

This is great ! Thanks @grimus !

I should add, if you need to change the icon of the app check out this issue: https://github.com/openframeworks/openFrameworks/issues/6702

A pull request was also made for this:

Yes I forgot to add that to the documentation, that’s what I’ve been using too. I was also going to make a PR…I’ll see if I can bump it to get it merged faster.