nixpkgs icon indicating copy to clipboard operation
nixpkgs copied to clipboard

ryujinx: 1.1.181 -> 1.1.213

Open zhaofengli opened this issue 1 year ago • 3 comments

Description of changes

This update brings the long-awaited Vulkan support (full changelog). Tested on the Steam Deck with Jovian-NixOS:

Screenshot_20220807_175238

Note that all existing shader caches created before 1.1.200 will be invalidated.

Things done
  • Built on platform(s)
    • [x] x86_64-linux
    • [ ] aarch64-linux
    • [ ] x86_64-darwin
    • [ ] aarch64-darwin
  • [ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • [ ] Tested, as applicable:
  • [ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • [x] Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.11 Release Notes (or backporting 22.05 Release notes)
    • [ ] (Package updates) Added a release notes entry if the change is major or breaking
    • [ ] (Module updates) Added a release notes entry if the change is significant
    • [ ] (Module addition) Added a release notes entry if adding a new NixOS module
    • [ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • [x] Fits CONTRIBUTING.md.

zhaofengli avatar Aug 08 '22 01:08 zhaofengli

Thanks for the update!

For me, even the Ryujinx version currently in nixpkgs is broken and fails to load avutil when decoding a video (e.g. in Mario Kart 8 Deluxe right after selecting “Single Player”). I fixed it with this patch:

diff --git a/pkgs/applications/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix
index 2fd507bc06d..fa2fe94c60a 100644
--- a/pkgs/applications/emulators/ryujinx/default.nix
+++ b/pkgs/applications/emulators/ryujinx/default.nix
@@ -58,7 +58,7 @@ buildDotnetModule rec {
   ];
 
   makeWrapperArgs = [
-    "--suffix PATH : ${lib.getBin ffmpeg}"
+    "--prefix LD_LIBRARY_PATH : ${lib.getLib ffmpeg}/lib"
   ];
 
   patches = [

After applying this, the version from this PR works, including Vulkan support.

Maybe you can add the patch to this PR to fix it. Otherwise I can also open a separate PR to fix it separately.

sbruder avatar Aug 12 '22 16:08 sbruder

@sbruder Could you try adding ffmpeg to runtimeDeps and see if that works? It should have the same effect as adding to LD_LIBRARY_PATH. Also for future reference, it would be nice to figure out when Ryujinx stopped using the ffmpeg CLI.

zhaofengli avatar Aug 12 '22 17:08 zhaofengli

Yes, adding it to runtimeDeps also works, I didn’t know something like that existed for dotnet packages.

I didn’t bisect it, but guess that https://github.com/Ryujinx/Ryujinx/commit/c5bddfeab8a905ce6c306ffafb079d8550f0b027 is the commit that changed it. It removed the only explicit reference to calling the ffmpeg binary and added what looks like an FFI.

sbruder avatar Aug 12 '22 17:08 sbruder

Works perfectly here as well :+1:

Result of nixpkgs-review pr 185617 run on x86_64-linux 1

1 package built:
  • ryujinx

IvarWithoutBones avatar Aug 14 '22 13:08 IvarWithoutBones