Portable Ryubing build with custom patches. Runs on Linux, Windows, and macOS.
Settings, saves, profiles, and installed firmware live in user/Ryujinx/ and carry over verbatim between OSes; drop the folder on a USB stick and your data follows.
You need git installed. build.cmd auto-downloads .NET 9 SDK on first run if it's not already on your PATH.
git clone https://github.com/9LogM/SuperRyubing.git
cd SuperRyubing
./build.cmd
./launch.cmd
build.cmd finishes with Build succeeded with N warning(s) and then Built <tag>. The warnings (IL2026, IL2067, etc.) are .NET trimmer notes from upstream Ryubing source about reflection that can't be statically analyzed. They don't indicate a problem.
First launch on each OS takes 10-30 seconds while caches are built; subsequent launches start in a couple of seconds.
build.cmd only builds the current platform's target (Linux builds linux-x64, Windows builds win-x64, macOS builds osx-arm64 or osx-x64 depending on the host). For the same install folder to launch on multiple OSes, run build.cmd once on each system; the resulting bin/ryubing/, bin/ryubing-win/, and bin/ryubing-mac/ coexist.
Edit VERSION to the new upstream Ryubing tag, then re-run build.cmd.
launch.cmd polyglot bash/batch launcher
build.cmd polyglot bash/batch builder (auto-installs .NET if missing)
VERSION the upstream tag to build; build.cmd reads it on every run and errors if missing
patches/ git-apply'd against the upstream clone after each checkout
bin/ryubing/ Linux build, generated by build.cmd
bin/ryubing-win/ Windows build, generated by build.cmd
bin/ryubing-mac/ macOS build (Ryujinx.app bundle), generated by build.cmd
user/Ryujinx/ shared data dir, auto-created on first launch
_build/ upstream source clone, local .NET SDK, intermediate artifacts
Five patches, all applied automatically by build.cmd. See patches/README.md for the full rationale behind each.
sdl2-gamepad-fix.patch: portable VID+PID gamepad matching, so controller bindings survive Linux ↔ Windows ↔ macOS on the same physical device.portable-paths.patch: stores game-library, update, and DLC paths in user JSON as${SR_ROOT}/...placeholders so they survive moves between drives or OSes.launch.cmdsetsSR_ROOTto the install directory before exec.nuget-feed-fix.patch: removes upstream's dead private GitLab NuGet feed; falls back to nuget.org for the affected packages.obj-redirect.patch: redirects MSBuild's intermediate output to NTFS when SuperRyubing lives on a Btrfs/ext4 volume accessed from Windows via WinBtrfs/Ext2Fsd.ldn-port-lease-renew-unit.patch: fixes the LDN P2P UPnP lease-renew loop firing at 50 ms instead of 50 s after the first renewal, which DoS'd the host's own router and dropped the room with "communication error" after ~2 minutes.
MIT, see LICENSE. Ryubing/Ryujinx © Ryujinx Team and Contributors. The included patches and scripts are provided under the same terms.
Nintendo Switch firmware, decryption keys, and game files are not included and are not distributed by this project.