-
1.3.3 Stable
released this
2025-10-11 07:11:39 +00:00 | 152 commits to master since this release
Significant changes include:- Tears of the Kingdom 1.4.x & Breath of the Wild 1.8.x support (by @lotp)
- (as well as other games using the new audio renderer revision, such as newer updates for the Nintendo Classics emulators)
- LDN Game Viewer (by @greem)
- Hollow Knight: Silksong is playable (by @lotp) :my_joy_reaction:
- UI improvements in many areas (by @neo)
You can find a list of all Merge Requests merged in this release here.
UI:
- LDN Game Viewer (by @greem)
- Using much of the same UI code as the compatibility list, there is now an LDN Game Viewer you can use in-app.
- You can apply filters to what games are shown, including only showing for games you own.
- By default it does not show private/non-joinable (in-progress) games, however you can disable this in the filters section of the game viewer screen.
- Consequently, since it does not show those games by default, they are now excluded from the count on the application list screen to line up with the amount of games shown by default LDN Game Viewer.
- This was done since, for most people, a private game may as well not even exist. You need to know the passphrase to get in.
- The same goes for non-joinable, these are likely people who are already fine with the amount of people in their game and decided to go ahead and start the game.
- Amiibo Window Overhaul (by @VewDev) (ryujinx!121)
- The main improvement is that Amiibos are now displayed in a list in a dock on the left side, with the image of the selected one on the right, instead of a drop-down.
- Additionally, "Only Amiibos available for this game" has been made clearer, and it will display all available Amiibos if no series is selected.
- General UI improvements (by @neo)
- Recolored compatibility labels (image)
- Properly aligned text in multiple areas
- Improved User Inferface tab in Settings (before (image), after (image))
- Fix the scroll logic in the Avalonia mouse driver never being 0 (by @MaxLastBreath)
- Also automatically resets to sending 0 if there's no scroll event in 100ms
- Added a fun "Ryubing" ASCII art to the console on startup.
- Added the following games to Discord RPC asset images:
- Hollow Knight: Silksong
- Super Mario Galaxy
- Super Mario Galaxy 2
- Squeakross: Home Squeak Home
- Updated the compatibility list:
- Added:
AKIBA'S TRIP: Hellbound & Debriefed: PlayableAKIBA'S TRIP: Undead & Undressed Director's Cut: PlayableEternights: PlayableFRONT MISSION 2: Remake: PlayableFRONT MISSION 3: Remake: PlayableHigh on Life: MenusIronFall: Invasion: PlayableSuper Mario Galaxy: Runs Slow, AMD GPU BugSuper Mario Galaxy 2: Runs Slow, AMD GPU Bug, can deadlockProdeus: PlayablePokémon Friends: Menus, crashes due to an HLE service issue.Risk of Rain Returns: PlayableShadows of the Damned: Hella Remastered: PlayableThe DioField Chronicles: PlayableThe Falconeer: Warrior Edition: PlayableThe Legend of Nayuta: Boundless Trails: IngameTurbo Overkill: PlayableUndead Horde: PlayableUndead Horde 2: Playable
- Changed:
Starlink: Battle for Atlas™ Digital Edition: Playable, removed all labels- Previously: Nothing, Crashes; Needs an update applied; HLE service issue.
DOOM 3: Added labelslow
- Added:
I18N:
- Updates to Korean translation (by @Hackchan)
- ryujinx!56, ryujinx!64, ryujinx!100, ryujinx!107, ryujinx!122, ryujinx!135, ryujinx!136, ryujinx!141
- Update Simplified Chinese translation (by @shinyoyo)
- ryujinx!58, ryujinx!104, ryujinx!124, ryujinx!133, ryujinx!139
- Update Traditional Chinese translation (by @WilliamWsyHK)
- ryujinx!85, ryujinx!130
- Update Russian translation (by @neo)
- ryujinx!103, ryujinx!134
- Update Swedish translation (by @yeager)
- ryujinx!66
- Update French translation (by @neo)
- ryujinx!67
Emulation:
CPU & Memory:
- Internally the memory tree structure nodes are now linked like linked list nodes. (by @lotp)
- It turns out a lot of systems needed access to neighbor nodes, and traversing the trees each time was slow.
- Added Object Pooling to a few classes. (by @lotp)
- A few systems were spawning and deleting a ton of objects causing the Garbage Collector to run more than necessary. Now those objects get pooled and reused instead, cutting down on allocations and de-allocations.
- Refactored
RangeListandNonOverlappingRangeList. (by @lotp)- Turns out that most systems that used
RangeListshould actually be usingNonOverlappingRangeList, and switching them over allowed the code to use more efficient overlap look-ups. - The classes now inherit from the
RangeListBaseclass that has a few common helper functions. - Updated the
NonOverlappingRangeListFindOverlap/FindOverlapsfunctions to be more efficient.- In the old classes the finder functions would binary search for the first overlap that matched the search range and then traverse the internal list left and right to find the list of overlapping items. This worked fine when 1 or 2 items overlapped, but caused lag spikes when a lot of items overlapped.
- The new system uses BinarySearch algorithms that search for the first match, the leftmost match, the rightmost match and both the leftmost and rightmost matches for the functions
FindOverlapFast,FindOverlapandFindOverlaps(all 3 variants). - The
FindOverlapsnow also has 3 variations:AsSpan,AsArrayandAsNodes. The old function always copied an array of the overlapping items, which was fine for small lists, but was slow for large lists. Now you can useAsSpanif you just need fast read access to the overlapping items,AsNodesfor quick access to the overlapping items with write access (with limitations) and the oldAsArrayfor full write access.
- Turns out that most systems that used
- Changed a few flag checks to use binary logic instead of the built-in
HasFlagfunction. (by @lotp)- Turns out that a small allocation of a few bytes adds up over time when you call a function a few million times a second.
- Reading fixed-size arrays as
Span. (by @lotp)- The emulator uses a lot of fixed-size arrays for emulating Switch data structures, but C# doesn't (or at least didn't used to) have fixed-size arrays. Therefore the emulator needed its own implementation, and it works great.
- There is a caveat however. The indexer called
AsSpan, and did not attempt to retrieve or store any cached information.- As such, any time you used normal array indexer access on a Ryujinx fixed array, it created a new Span.
- Similar to the
HasFlagchecks, this is normally not that big of a deal. However when you access the elements of the arrays a lot, and the emulator does, this gets insanely inefficient.
- The emulator now caches a single
Spanwhen an array needs to access multiple pieces of data in a single array, which slightly improves efficiency. - The biggest effect was seen in playing videos, so if you had stutter playing videos (cut scenes, intros, etc.) you might get a smoother experience now.
- Smaller code changes/improvements. (by @lotp)
- Some code was made more readable.
- Slight code changes for efficiency.
Audio:
- Added support for
rev15audio rendering. (by @lotp)- Added support for float based Biquad Filters.
- The updated audio renderer uses floats so we have to do so too.
- Updated older systems to work with floats instead of shorts, older audio revision data will automatically be converted from short to float data.
- Added support for float based Biquad Filters.
- Renamed classes and structs to match Nintendo's own names (Ongoing). (by @lotp)
- Either Nintendo updated the names or we were just using similar names from the start.
- The names have been changed to make future Reverse Engineering work easier, by not causing confusion when the names mismatch between data structures in the SDK and in Ryujinx.
GPU:
- Intel Arc on Linux also has the push descriptors bug present on Windows and NVIDIA Pre-Turing.
- It has been added to the
HasPushDescriptorsBughelper function inShaderCollection.cs. - Additionally, the check for
IsIntelArchas been changed to a case-insensitive check as the trademark abbreviation on Linux is in lowercase.
- It has been added to the
HLE:
- Basic event handle implementation for
IApplicationFunctionsCMIF ID 210. (by @lotp)- We don't know what the name of this function actually is yet, so it's called
GetUnknownEventin the code. - This is all that was needed for Hollow Knight: Silksong to boot in Ryubing.
- We don't know what the name of this function actually is yet, so it's called
- Fixed an inaccuracy in the HID logic that caused some games to boot-loop due to the new SDK getting confused by bad input-state data. (by @lotp)
Nerd Zone:
- The Ryujinx GDB Stub is back, courtesy of @coxxs! (ryujinx!71, ryujinx!106)
- We have a guide setup, which you can find here.
- Changed the default URL used for LDN to
ldn.ryujinx.app. This is the same server as before, just using a more official domain.
CI/CD:
- Support for downloading updates from GitHub has been removed entirely.
- The updater logic has been migrated to use the first-class Client library component of the UpdateServer project.
Full Diff:
1.3.2...1.3.3Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Tears of the Kingdom 1.4.x & Breath of the Wild 1.8.x support (by @lotp)
-
1.3.2 Stable
released this
2025-06-09 22:59:40 +00:00 | 283 commits to master since this release
Significant changes include:- A new co-maintainer! Welcome @lotp! :link_yay:
- Updates are now hosted on GitLab and the Updater pulls from GitLab (by @greem)
- A fix for the elusive "RomFS building timeout" :my_joy_reaction: (by @lotp)
You can find a list of all Merge Requests merged in this release here.
UI:
- Fix long hangs & occasional crashes when booting larger games (such as TOTK) (ryubing/libhac!1) (ryubing/libhac!3) (by @lotp)
- Also known as "romfs building timeout" or "Avalonia timeout."
- Added a display for "Total Play Time" next to game count (when not in a game).
- Use a proper light/dark GitLab logo in the about window.
- Added the ability to use global input config in per-game configs (ryubing/ryujinx!8) (by @Goodfeat)
- Click the checkbox "Global Input" in your game-specific settings screens.
- Added the following games to Discord RPC asset images:
- Borderlands 2: Game of the Year Edition
- Borderlands: The Pre-Sequel Ultimate Edition
- Minecraft Dungeons
- In-app Compatibility list got a facelift (ryubing/ryujinx!29) (by @Goodfeat), including:
- named columns;
- a sum of each playability rating in an info dropdown;
- sorting options.
- Updated the compatibility list:
- Added:
Breakout Beyond: PlayableNikoderiko: The Magical World: Ingame, GPU issuesFANTASY LIFE i: The Girl Who Steals Time: Ingame, eventually crashes on Vulkan, flickering in OpenGL.
- Added:
I18N:
Emulation:
CPU:
- change: Increased the maximum % of Turbo mode to 1000
- fix: Prevent PPTC blacklist logic happening at runtime (ryubing/ryujinx!28) (by @lotp)
- fix: Reset PPTC carriers on invalidation (ryubing/ryujinx!26) (by @lotp)
- fix: Use accurate length for enumerating PPTC info stream (ryubing/ryujinx!49) (by @lotp)
- All 3 of the above fix occasional crashing.
GPU:
- improvement: Optimize
Integer Short Multiply AddMaxwell (XMAD) instruction sequence into a single 32-bit multiply when possible (ryubing/ryujinx!24) (by gdkchan, rebased & opened by @KeatonTheBot) - fix: Green screen video decoding issues on Linux (ryubing/ryujinx!40) (by @KeatonTheBot)
- fix: Work around undefined behavior in bad dual-source blend states (ryubing/ryujinx!4) (by Isaac, rebased & opened by @KeatonTheBot)
- According to the original PR, this should resolve occasional post-processing failures on RADV cards in Skyward Sword HD.
Vulkan:
- improvement: Use compute shader for non-indirect unsupported topology index buffer conversions (ryubing/ryujinx!5) (by Isaac, rebased & opened by @KeatonTheBot)
- This should significantly speed up the execution of the draws that could not be done using a
MTLBlitCommandEncoderon MoltenVK.
- This should significantly speed up the execution of the draws that could not be done using a
- improvement: Restrict manual feedback loop detection to RDNA3 GPUs (ryubing/ryujinx!25) (by @KeatonTheBot)
- Should alleviate significant performance degradation since September 2024, in Paper Mario: The Thousand Year Door and Xenoblade games (on GPUs that aren't RDNA3 architecture).
HLE:
- Fix JWT claims and emulated BSD socket flag handling (ryubing/ryujinx!38) (by @mrkev)
- Improves server connection for Just Dance®, and probably other games.
Nerd Zone:
- Updated to LibHac 0.20.0
- Much like Ryujinx, the original LibHac project is now gone. However, because it's relied on heavily in Ryujinx, we have gone ahead and put it on this GitLab; and intend to maintain it similarly to Ryubing.
- Anyone can use this version! Simply add the NuGet feed of LibHac's Package Registry (
https://git.ryujinx.app/api/v4/projects/17/packages/nuget/index.json) to your project. - This feed contains a full backup of the packages that were/are in the original maintainer's MyGet feed, as well as our new versions. The new versions are those with the package ID
Ryujinx.LibHac.
- Fix a bunch of static analysis issues (ryubing/ryujinx!44) (by @mrkev)
CI/CD:
- Use
rcodesignfor dylib signing where available, and remove all._files when building on APFS (Apple File System) (ryubing/ryujinx!14) (by @thetoid) - A full migration from hosting builds on GitHub to here on this GitLab instance has been completed.
- Once you update to this version, you will be good to go. If you automatically update to this version, you're good to go.
- Updates are requested from
update.ryujinx.app; but this is just a fancy API around GitLab releases. (source code)
- Additionally, a webhook is now sent in the Ryubing Discord server in the #builds channel, automatically.
Full Diff:
1.3.1...1.3.2Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
1.3.1 Stable
released this
2025-04-24 03:10:03 +00:00 | 359 commits to master since this releaseSignificant changes include:
ARM Windows support &FFmpeg update (by @KeatonTheBot)- Virtual dual Joy-Con support (by @madwind)
- Turbo Mode (originally by @nico-abram)
UI:
- Replaced all in-app references & links to the GitLab instead of a deleted GitHub repo.
- Added the ability to skip user-select dialog, defaulting to the user you have selected already in-app.
- Added the following games to Discord RPC asset images:
- Xenoblade Chronicles X Defintive Edition
Emulation:
- Turbo Mode
- This adds a hotkey that enables "turbo mode" that multiplies elapsed CPU ticks, which speeds up any games that use delta time between frames for physics calculations.
- FPS-locked games can benefit from this, too! Feel free to give it a try. The desired speed multiplier % can be found in CPU settings.
- You can also select if you want turbo mode to only be active while the configured hotkey is pressed, instead of a toggle.
- This adds a hotkey that enables "turbo mode" that multiplies elapsed CPU ticks, which speeds up any games that use delta time between frames for physics calculations.
- Xenoblade Chronicles X Definitive Edition can now boot without requiring Ignore Missing Services
I18N:
- The locales.json file has been moved to the root of the repository under the
assetsfolder, instead of buried in the Ryujinx Avalonia project assets folder. - Update Ukrainian translation (by @rondo)
- Update Korean translation (by @Hackchan)
- Update Swedish translation (by @yeager)
- Update Traditional Chinese translation (by @WilliamWsyHK)
- Update Simplified Chinese translation (by @shinyoyo)
Input:
- Fix Xbox controller configuration loss (by @Tartifless)
- Virtual Dual Joy-Con (!3) (by @madwind)
- You can now use a Joy-Con pair with Ryujinx!
- Please keep in mind you can only have one pair configured at any given time.
CI/CD:
- Fixed 2 macOS CI problems (!12)
Nerd Zone:
- Canary changelogs now link to the GitLab.
- Amiibo information is now retrieved from the Ryubing/Nfc repo on GitHub.
- The Updater release channel repo is no longer hard-coded into the Ryujinx binary.
- Instead, when you try to update, it requests https://ryujinx.app/api/release-channels for the GitHub repo it should use for each release channel.
- This was done to prevent everyone except those on the latest version from being cutoff from updates in the future, like what happened last month.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
mirror of
https://git.ryujinx.app/ryubing/ryujinx
synced 2026-04-01 23:08:55 +00:00