Appimage or Flatpak. Suggestion for better distribution for linux

Hey there. I like the application. It works smoothly, does what it needs to do, isn’t overloaded with useless features and is generally very useful. One small remark, is that I’d like to see a better way of distributing your application for linux distros other than debian based ones. I have two suggestions that should be rather painless for both the user and the developers.

An appimage is basically a portable executable that can be executed on all distros, without any dependency problems. Drop the appimage anywhere in your filesystem, double click and the application starts.

Flatpak is a cross-distro package manager that allows developers to package the application and its dependencies and distribute the application to any linux system. Again, without any dependency problems for the user. It works pretty much like an appstore. The advantages of this, is that your application will be much easier to find for linux users. Many of them would be able to download your application straight from their application store, integrated into their distros and desktop environments. The trade-off, is that its slightly less convenient for the developer, although it still shouldn’t be very hard.

2 Likes

+1 for appimage, I am not a fan of flatpak. It does not “just work” in a lot of cases.

2 Likes

+1 for flatpak and appimage. Flatpak is included in most user-friendly distros and so is AppImage. Flatpak is preferred due to auto updates which AppImage does not have.

2 Likes

+1 for appimage

1 Like

I would add snaps

1 Like

En formato RPM ya que seria la segunda mas usada…

I’m voting for flatpak, it is easy to install apps from flathub.

I was actually considering using AudioRelay as a home audio AV solution; Would a Docker image be possible? I could throw it on a dinky little server that would get audio input from all my things at my TV, and would be able to broadcast them anywhere into my house. It would make setup EXTREMELY easy compared to the rest of these options tbh.

Has there been any updates on this???
Using this is still broken on my linux distro and I use a dual PC setup.(one Windows, one dual boots Linux and Windows)
Being able to use AudioRelay in Windows is great, but when I reboot into Linux I have to figure something else out. It would be AMAZING to just use ONE software for BOTH!!!
Please make this possible!!!

Same. I love this app and was going to purchase it but saw It doesn’t run on my preferred distribution (Gentoo). An AppImage would be great.
EDIT: Thankfully, it turned out the app worked fine on Gentoo as well. I just had to copy the Debian files and run it from /opt/audiorelay/bin/AudioRelay (or equivalently symlink it from there to /usr/bin).
EDIT2: But it isn’t creating a system tray icon.

I made a test Flatpak build of AudioRelay. Please take note that this is unofficial and I’m not connected in any way with the developer.

To test it:

flatpak install --user flathub org.flatpak.Builder
git clone --branch=audiorelay https://github.com/IverCoder/flathub.git
cd flathub
flatpak run org.flatpak.Builder --user --install --force-clean build-dir net.audiorelay.AudioRelay.yml

This is not yet stable. For one thing, it just broadcasts a shrieking version of whatever your mic is capturing at that time, which in my experience also occurs on the .tar.gz version.

Please discuss about my build on this thread so we don’t clutter this one.

ya an appimage is way easier to use because you just download double click and bam it works but flatpak is also a great idea

From the Open Source Licenses section, I can see that you’re using Compose Multiplatform to build AudioRelay’s UI.

From what I know (and have tried), the desktop configuration in Compose MP has been always able to generate RPMs, and they also recently added AppImage support as well. Supporting them is as simple as adding two words to the build.gradle.kts in the desktop configuration. Here’s the config in one of my apps:

compose.desktop {
    application {
        mainClass = ...

        nativeDistributions {
            targetFormats(
                // macOS formats
                TargetFormat.Dmg,
                // TargetFormat.Pkg, // fixme: can't make them co-exist, is this a bug?
                // Windows formats
                TargetFormat.Exe,
                TargetFormat.Msi,
                // Linux formats
                TargetFormat.Deb,
                TargetFormat.Rpm,
                TargetFormat.AppImage
            )
            packageName = ...
            packageVersion = ...
            ...
        }
        ...
    }
}

As for Flatpak, we can create it out of the AppImage itself; see osu!'s flathub repository for a real-life example.

And thanks a lot for this amazing application!