diff --git a/pkgs/applications/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix index 8d77e00e820..41348c9848c 100644 --- a/pkgs/applications/emulators/ryujinx/default.nix +++ b/pkgs/applications/emulators/ryujinx/default.nix @@ -14,6 +14,14 @@ , gdk-pixbuf , wrapGAppsHook , vulkan-loader +, libICE +, libSM +, libXi +, libXcursor +, libXext +, libXrandr +, fontconfig +, glew }: buildDotnetModule rec { @@ -34,7 +42,7 @@ buildDotnetModule rec { # TODO: Add the headless frontend. Currently errors on the following: # System.Exception: SDL2 initlaization failed with error "No available video device" - executables = [ "Ryujinx" ]; + executables = [ "Ryujinx" "Ryujinx.Ava" ]; nativeBuildInputs = [ wrapGAppsHook @@ -56,12 +64,27 @@ buildDotnetModule rec { pulseaudio vulkan-loader ffmpeg + + # Avalonia UI + libICE + libSM + libXi + libXcursor + libXext + libXrandr + fontconfig + glew ]; patches = [ ./appdir.patch # Ryujinx attempts to write to the nix store. This patch redirects it to "~/.config/Ryujinx" on Linux. ]; + makeWrapperArgs = [ + # Without this Ryujinx fails to start on wayland. See https://github.com/Ryujinx/Ryujinx/issues/2714 + "--set GDK_BACKEND x11" + ]; + preInstall = '' # workaround for https://github.com/Ryujinx/Ryujinx/issues/2349 mkdir -p $out/lib/sndio-6