From 7be1708146ea88fe8d268808ba5fd268898f145a Mon Sep 17 00:00:00 2001 From: ranidspace Date: Sat, 30 May 2026 20:31:49 +0000 Subject: [PATCH] AppImage fixes and improvements (#110) Currently the appimages work fine, however I realized there's some room to improve on following the standards and a bit of cleaning. AppImages now follow the linux FHS and a `.DirIcon` to follow the Spec closer, along with changing the icon and desktop file names (the resulting AppImage will have the same name, it's only used internally) Metadata has been added, it helps with applications meant to manage appimages, as well as a future possible auto-updater. The icon has been replaced temporarily as we wait for the updated one, just taken from the windows .ico. The `.DirIcon` needs to be a PNG, however `app.ryujinx.Ryujinx.png` can be an svg as well for some reason. The launcher script may not need to exist (gamemode and envvars), but as to not break anything the important things have been kept. The commits messages of this PR contain information as to why each change was made. Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/110 --- distribution/linux/Ryujinx.sh | 16 ++--------- ...nx.desktop => app.ryujinx.Ryujinx.desktop} | 6 ++-- distribution/linux/appimage/AppRun | 3 -- .../appimage/app.ryujinx.Ryujinx.appdata.xml | 25 ++++++++++++++++ distribution/linux/appimage/build-appimage.sh | 27 +++++++++++++----- distribution/misc/Logo.png | Bin 0 -> 28971 bytes distribution/misc/Logo.svg | 4 --- 7 files changed, 49 insertions(+), 32 deletions(-) rename distribution/linux/{Ryujinx.desktop => app.ryujinx.Ryujinx.desktop} (76%) delete mode 100755 distribution/linux/appimage/AppRun create mode 100644 distribution/linux/appimage/app.ryujinx.Ryujinx.appdata.xml create mode 100644 distribution/misc/Logo.png delete mode 100644 distribution/misc/Logo.svg diff --git a/distribution/linux/Ryujinx.sh b/distribution/linux/Ryujinx.sh index 5793f8359..460b9a068 100755 --- a/distribution/linux/Ryujinx.sh +++ b/distribution/linux/Ryujinx.sh @@ -1,23 +1,11 @@ -#!/bin/sh +#!/usr/bin/env sh SCRIPT_DIR=$(dirname "$(realpath "$0")") -if [ -f "$SCRIPT_DIR/Ryujinx.Headless.SDL3" ]; then - RYUJINX_BIN="Ryujinx.Headless.SDL3" -fi - -if [ -f "$SCRIPT_DIR/Ryujinx" ]; then - RYUJINX_BIN="Ryujinx" -fi - -if [ -z "$RYUJINX_BIN" ]; then - exit 1 -fi - COMMAND="env LANG=C.UTF-8 DOTNET_EnableAlternateStackCheck=1" if command -v gamemoderun > /dev/null 2>&1; then COMMAND="$COMMAND gamemoderun" fi -exec $COMMAND "$SCRIPT_DIR/$RYUJINX_BIN" "$@" +exec $COMMAND "$SCRIPT_DIR/Ryujinx" "$@" diff --git a/distribution/linux/Ryujinx.desktop b/distribution/linux/app.ryujinx.Ryujinx.desktop similarity index 76% rename from distribution/linux/Ryujinx.desktop rename to distribution/linux/app.ryujinx.Ryujinx.desktop index 44f05bf3f..87cf349f1 100644 --- a/distribution/linux/Ryujinx.desktop +++ b/distribution/linux/app.ryujinx.Ryujinx.desktop @@ -1,14 +1,12 @@ [Desktop Entry] -Version=1.0 +Version=1.5 Name=Ryujinx Type=Application -Icon=Ryujinx +Icon=app.ryujinx.Ryujinx Exec=Ryujinx.sh %f -Comment=A Nintendo Switch Emulator GenericName=Nintendo Switch Emulator Terminal=false Categories=Game;Emulator; MimeType=application/x-nx-nca;application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci; -Keywords=Switch;Nintendo;Emulator; StartupWMClass=Ryujinx PrefersNonDefaultGPU=true diff --git a/distribution/linux/appimage/AppRun b/distribution/linux/appimage/AppRun deleted file mode 100755 index adbb70a0a..000000000 --- a/distribution/linux/appimage/AppRun +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -CURRENTDIR="$(readlink -f "$(dirname "$0")")" -exec "$CURRENTDIR"/usr/bin/Ryujinx.sh "$@" diff --git a/distribution/linux/appimage/app.ryujinx.Ryujinx.appdata.xml b/distribution/linux/appimage/app.ryujinx.Ryujinx.appdata.xml new file mode 100644 index 000000000..3cbbacc1f --- /dev/null +++ b/distribution/linux/appimage/app.ryujinx.Ryujinx.appdata.xml @@ -0,0 +1,25 @@ + + + app.ryujinx.Ryujinx + MIT + MIT + Ryujinx + Nintendo Switch 1 emulator written in C# + +

Ryujinx is an open-source Nintendo Switch emulator, originally created by gdkchan, written in C#.

+
+ app.ryujinx.Ryujinx.desktop + https://ryujinx.app/ + + Ryubing + + + + https://git.ryujinx.app/projects/Ryubing/raw/branch/master/docs/shell.png + + + + app.ryujinx.Ryujinx.desktop + + +
diff --git a/distribution/linux/appimage/build-appimage.sh b/distribution/linux/appimage/build-appimage.sh index b6eb394d8..23925703c 100755 --- a/distribution/linux/appimage/build-appimage.sh +++ b/distribution/linux/appimage/build-appimage.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env sh set -eu ROOTDIR="$(readlink -f "$(dirname "$0")")"/../../../ @@ -7,20 +7,33 @@ cd "$ROOTDIR" BUILDDIR=${BUILDDIR:-publish} OUTDIR=${OUTDIR:-publish_appimage} +# AppStream + rm -rf AppDir -mkdir -p AppDir/usr/bin +mkdir -p AppDir/usr/lib AppDir/usr/bin +mkdir -p AppDir/usr/share/metainfo AppDir/usr/share/applications +mkdir -p AppDir/usr/share/icons/hicolor/256x256/apps/ -cp distribution/linux/Ryujinx.desktop AppDir/Ryujinx.desktop -cp distribution/linux/appimage/AppRun AppDir/AppRun -cp distribution/misc/Logo.svg AppDir/Ryujinx.svg +cp -r "$BUILDDIR"/* AppDir/usr/lib/ +cp distribution/linux/appimage/app.ryujinx.Ryujinx.appdata.xml AppDir/usr/share/metainfo/app.ryujinx.Ryujinx.appdata.xml +cp distribution/linux/app.ryujinx.Ryujinx.desktop AppDir/usr/share/applications/app.ryujinx.Ryujinx.desktop +cp distribution/misc/Logo.png AppDir/usr/share/icons/hicolor/256x256/apps/app.ryujinx.Ryujinx.png +ln -s ../lib/Ryujinx AppDir/usr/bin/Ryujinx -cp -r "$BUILDDIR"/* AppDir/usr/bin/ +# AppImage Root + +ln -s ./usr/share/applications/app.ryujinx.Ryujinx.desktop AppDir/app.ryujinx.Ryujinx.desktop +ln -s ./usr/share/icons/hicolor/256x256/apps/app.ryujinx.Ryujinx.png AppDir/.DirIcon +ln -s ./usr/share/icons/hicolor/256x256/apps/app.ryujinx.Ryujinx.png AppDir/app.ryujinx.Ryujinx.png +ln -s ./usr/lib/Ryujinx.sh AppDir/AppRun # Ensure necessary bins are set as executable chmod +x AppDir/AppRun AppDir/usr/bin/Ryujinx* mkdir -p "$OUTDIR" +# The "-n" flag removes the appstream checks during build, in case the main website is down. +# Run "appstreamcli validate --explain AppDir/usr/share/metainfo/app.ryujinx.Ryujinx.appdata.xml" to check manually appimagetool --appimage-extract-and-run -n --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 21 \ - AppDir "$OUTDIR"/Ryujinx.AppImage \ No newline at end of file + AppDir "$OUTDIR"/Ryujinx.AppImage diff --git a/distribution/misc/Logo.png b/distribution/misc/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..20d41fae9495f78bae42854705c52641e60587ea GIT binary patch literal 28971 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𔬘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 KMNUMnLSTXp@b~us literal 0 HcmV?d00001 diff --git a/distribution/misc/Logo.svg b/distribution/misc/Logo.svg deleted file mode 100644 index 00bba42f0..000000000 --- a/distribution/misc/Logo.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -