Package Details: ryujinx-ava-bin 1.1.1291-1

Git Clone URL: https://aur.archlinux.org/ryujinx-ava-bin.git (read-only, click to copy)
Package Base: ryujinx-ava-bin
Description: Experimental Nintendo Switch Emulator written in C# (master build channel release, test ava build)
Upstream URL: https://github.com/Ryujinx/release-channel-master
Licenses: MIT
Conflicts: ryujinx-ava, Ryujinx-ava
Provides: ryujinx-ava
Submitter: honjow
Maintainer: honjow
Last Packager: honjow
Votes: 2
Popularity: 0.002577
First Submitted: 2023-05-17 16:25 (UTC)
Last Updated: 2024-04-22 20:09 (UTC)

Pinned Comments

honjow commented on 2024-04-02 23:22 (UTC) (edited on 2024-04-02 23:24 (UTC) by honjow)

Fixed the PKGBUILD issue and removed duplicate binary files, reducing the size of the software package.

I apologize for not seeing the feedback and processing it in time.

Latest Comments

berturion commented on 2024-04-03 07:49 (UTC)

Better late than never ^^. Thank you!

honjow commented on 2024-04-02 23:22 (UTC) (edited on 2024-04-02 23:24 (UTC) by honjow)

Fixed the PKGBUILD issue and removed duplicate binary files, reducing the size of the software package.

I apologize for not seeing the feedback and processing it in time.

berturion commented on 2024-03-08 22:37 (UTC)

I modified the package method in PKGBUILD, rebuilt and installed. It works perfectly now:

package() {
        mkdir --parents "${pkgdir}/opt"
        cp --recursive "${srcdir}/publish" "${pkgdir}/opt/ryujinx-ava"
        chmod +x "${pkgdir}/opt/ryujinx-ava/Ryujinx.Ava"

        # create writable logs directory
        install --directory --mode=777 "${pkgdir}/opt/ryujinx-ava/Logs"

        mkdir --parents "${pkgdir}/usr/bin"
        ln --symbolic "/opt/ryujinx-ava/Ryujinx.Ava" "${pkgdir}/usr/bin/Ryujinx.Ava"

        # let Ryujinx.sh find Ryujinx binary in its folder
        ln --symbolic "/opt/ryujinx-ava/Ryujinx.Ava" "${pkgdir}/opt/ryujinx-ava/Ryujinx"

        # replace 'Exec=Ryujinx' to 'Exec=/opt/ryujinx-ava/Ryujinx' in Ryujinx.desktop
        sed --in-place 's|Exec=Ryujinx|Exec=/opt/ryujinx-ava/Ryujinx|' "${srcdir}/Ryujinx.desktop"

        # replace 'Name=Ryujinx' to 'Name=Ryujinx Ava' in Ryujinx.desktop
        sed --in-place 's/Name=Ryujinx/Name=Ryujinx Ava/' "${srcdir}/Ryujinx.desktop"

        # replace 'Icon=Ryujinx' to 'Icon=Ryujinx-ava' in Ryujinx.desktop
        sed --in-place 's/Icon=Ryujinx/Icon=Ryujinx-ava/' "${srcdir}/Ryujinx.desktop"

        # replace 'Exec=env ' to 'Exec=env LC_ALL=C ' in Ryujinx.desktop
        sed --in-place 's/Exec=env /Exec=env LC_ALL=C /' "${srcdir}/Ryujinx.desktop"

        install -D "${srcdir}/Ryujinx.desktop" "${pkgdir}/usr/share/applications/Ryujinx-ava.desktop"
        install -D "${srcdir}/Logo.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/Ryujinx-ava.svg"
}

berturion commented on 2024-03-08 21:46 (UTC) (edited on 2024-03-08 22:01 (UTC) by berturion)

I figured it out. The /opt/ryujinx-ava/Ryujinx.sh script can't work because it is looking for a Ryujinx binary which does not exist in the directory.

I replaced Ryujinx by Ryujinx.Ava like this and it works:

#!/bin/sh

SCRIPT_DIR=$(dirname "$(realpath "$0")")

if [ -f "$SCRIPT_DIR/Ryujinx.Headless.SDL2" ]; then
    RYUJINX_BIN="Ryujinx.Headless.SDL2"
fi

if [ -f "$SCRIPT_DIR/Ryujinx.Ava" ]; then
    RYUJINX_BIN="Ryujinx.Ava"
fi

echo "RYUJINX_BIN=$RYUJINX_BIN"

if [ -z "$RYUJINX_BIN" ]; then
    exit 1
fi

COMMAND="env DOTNET_EnableAlternateStackCheck=1"

if command -v gamemoderun > /dev/null 2>&1; then
    COMMAND="$COMMAND gamemoderun"
fi

exec $COMMAND "$SCRIPT_DIR/$RYUJINX_BIN" "$@"

Alternatively, a symbolic link from Ryujinx to Ryujinx.Ava in the /opt/ryujinx-ava/ should work.

Also, the desktop file should set the complete path to this script, not Ryujinx.sh, but /opt/ryujinx-ava/Ryujinx.sh then everything is working as expected.

[Desktop Entry]
Version=1.0
Name=Ryujinx
Type=Application
Icon=Ryujinx
Exec=/opt/ryujinx-ava/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

EDIT: It is weird. Every modifications I have done are exactly the ones that are done in PKGBUILD. I uninstalled Ryujinx.Ava, removed it from .cache/yay and reinstalled it but the files are not modified as we can expect when reading the PKGBUILD. I don't know what is going on.

berturion commented on 2024-03-08 20:55 (UTC)

Hi. I am on KDE Plasma 6.

When I launch Ryujinx Ava from the main menu of KDE, I have an error in notification "Could not find the program 'Ryujinx.sh'".

Launching /opt/ryujinx-ava/Ryujinx.sh does nothing.

Launching /opt/ryujinx-ava/Ryujinx.Ava from termanl works (on Xorg only).

Eragon commented on 2024-02-16 09:47 (UTC)

Hi, the .desktop changed, can you please update the b2sum of it ?

berturion commented on 2023-12-12 17:45 (UTC)

Hello, just a message to thank you for providing this package. It is often the most up to date in the AUR. Congratulations :)