• 1.2.82 b4111d57fe

    1.2.82 Stable

    GreemDev released this 2025-03-09 02:38:15 +00:00 | 1 commits to main since this release

    Significant changes include:
    DualSense/DualShock 4 LED customization (by @Otozinclus, UI by @GreemDev),
    PPTC Profiles (by @LotP1),
    Dynamic Discord Rich Presence support for select games (system by @GreemDev, many more games added by @piplup55)

    UI:

    • Changed the Match System Time button to a toggle which will launch games with a time value equal to your current time. (by @GreemDev)
      • You still need to set the time zone according to your real location in order for the time in games to match reality.
        • I might look into detecting that when Match System Time is enabled, too.
    • Focus Loss mode (by @GreemDev)
      • When you tab off of Ryujinx, you can choose something for Ryujinx to do to reduce resource usage / annoyance while not focused on the emulator.
      • Current choices are:
        • Block Controller Input
        • Mute Volume
        • Block Controller Input and Mute Volume
        • Pause Emulation
      • When you tab back in, this system undoes the action it performed.
    • Background Update Checker mode (by @GreemDev, inspired by RPCS3)
      • Checks for updates on startup and shows a button in the bottom status bar of the window next to the Firmware Version when not in a game.
    • Game compatibility information has been put underneath the version in the List view. (by @GreemDev)
      • It is clickable, and opens the game's entry in the compatibility list.
      • You can hover it to see the list of labels that the game has, and for a description as to what the status means.
    • You now have access to a new option when right clicking on an application: Show Game Info.
      • This shows all of the information previously only visible on List view in a popup dialog.
      • Game compatibility information is also clickable in this popup.
      • This also shows previously internal information, such as games with registered Discord RPC asset images.
    • Pretty Atmosphère mod names (by @GreemDev)
    • Renamed Ignore Applet to Ignore Controller Applet.
      • This option only ever ignored the controller applet specifically, and no others.
    • Fix dialog symbols being reversed on Right to Left languages.
    • The Mod Manager is now capable of displaying mods available for installed DLC content.
    • Added --backend-threading argument for launching games via shortcut/command line. (by @Goodfeat)
    • Added the following games to Discord RPC asset images:
      • Arcade Archives VS. SUPER MARIO BROS.
      • Bluey: The Video Game
      • Brawlhalla
      • Divinity Original 2 - Definitive Edition
      • Minecraft
      • Monopoly
      • Risk
      • Stardew Valley
      • Super Bomberman R
      • Titan Quest
      • Valkyria Chronicles 4

    Input (SDL2):

    • DualSense & DualShock 4 LED customization (#572) (by @Otozinclus, UI by @GreemDev)
      • Added the ability to change the LED on your LED-enabled controllers (only ones I know of that work are PS controllers)
      • You can choose any RGB value, or turn it off entirely on DualSenses (DualShock 4s ignored the request to turn off in testing)
      • You can also make it cycling rainbow! Speed of change is customizable but applies to every controller using rainbow.

    CPU:

    • PPTC Profiles (#370) (by @LotP1)
      • Allows games with previously unsupported ExeFS mods to use the PPTC system, without causing incompatibilities with other sets of ExeFS mods or the base game's caches.
      • Improves the boot times of your games and drastically reduces the amount of repeated work your system needs to do every time you launch a game.
      • The most notable benefit with this change is PPTC support with the best way to play Tears of the Kingdom in an emulator: the Optimizer!
    • JIT Cache Regions (#615) (by @FluffyOMC)
      • Instead of pre-allocating 2GB of memory for the JIT cache, it is now divided into many regions of 256MB.
      • If more than 256MB is needed, it will create a new region.
        • This can keep going, past 2GB total.
      • This allows games that need more than 2GB for JIT Cache to continue and not crash, and allows for games which don't need that much JIT cache to be lighter on memory usage.
      • This has nothing to do with disk/hard drive/SSD usage.

    I18N:

    Improved Simplified Chinese translation (#568, #578, #590, #642, #650)
    Updated Korean translation (#624)
    Updated Swedish translation (#594)
    Updated Norwegian translation (#658)
    Updated Brazilian Portuguese translation (#633, #666)
    Updated German translation (#626)

    HLE:

    • Play Report Analysis (system & API by @GreemDev, formatter implementations for various games from @FluffyOMC, @piplup55, @GreemDev)
      • Allows you to listen to values in Play Reports and format them in a multitude of ways.
        • Currently only used for Dynamic Discord RPC, on specific games.
        • You can see the games that support it by right-clicking on the game in Ryujinx and clicking "Show Game Info."
          • Hovering the support indicator shows you what value(s) are formatted for Discord RPC.

    LDN:

    • Increased the NAT discovery timeout for those with slower internet (#589)

    Headless:

    • Default to Vulkan instead of OpenGL

    Infra:

    • Updated CI scripts to Ubuntu 24.04 due to GitHub deprecating 20.04 in April.

    Nerd Zone:

    • Raised minimum required Windows 10 version.
      • This mostly has no effect, since versions which fall under the threshold can't even boot the app anymore due to .NET 9 CET Enforcement.
    • Removed all usages of var everywhere in the project.
    • Use target-typed new (i.e. byte someByte = new()) everywhere in the project.
    • Use collection expressions everywhere in the project.
    • Collapsed all GeneratedRegexes into a common utility class.
    • Here's the implementation for the Play Report Analyzer system.
    Downloads
  • 1.2.86 b4111d57fe

    1.2.86 Stable

    GreemDev released this 2025-03-09 02:38:15 +00:00 | 1 commits to main since this release

    Significant changes include:
    Reverting the Metal Experiment (explanation),
    Per-game configurations (by @Goodfeat),
    VP9 Loop Filtering (unmerged PR by gdkchan, rebased & submitted by @KeatonTheBot)

    Merged PRs in this release (in the order they were merged):
    #673, #688, #550, #695, #667, #678, #703, #701, #709, #707, #723, #632, #720, #729, #732, #742, #579, #752, #755

    UI:

    • Small UI refresh in some places (by @GreemDev)
      • Navigation pane for settings is now at the top of the settings window
        • Does not apply to the per-game settings window (yet)
      • Amiibo Window Series + Amiibo selection is inlined into the title bar
      • Cheat Window Build ID is inlined into the title bar
      • Compatibility List now shows in a proper "window" and has inlined controls on the title bar.
      • All of the above can be disabled by using "Show Original UI Style"
        • This does not revert:
          • putting UI settings next to the game/autoload dirs;
          • putting the Motion/Rumble/LED settings in one box.
    • You now have the ability to create configurations that are only applied when playing a specific game. (by @Goodfeat)
      • To use this system, right click on a game and choose "Create Custom Configuration".
      • Everything except emulator UI behavior is customizable per-game.
    • Replace "About Avalonia" with "About Ryujinx" in the macOS system menu bar. (by @GabCoolDude)
    • You can no longer select Swedish or Norwegian as system language.
      • The Switch OS does not support those languages.
    • Added the following games to Discord RPC asset images:
      • Hogwarts Legacy
        • Specifically the v1.0.0 app image, I like it better.

    I18N:

    Update Brazilian Portuguese translations (#688)
    Update Ukrainian translations (#678, #755)
    Update Russian translations (#695, #732)
    Update Simplified Chinese translations (#703)
    Update Swedish translations (#720)

    LDN:

    • Reduce NAT timeout from 5 seconds to 2.5
      • This was causing issues because many games also wait for 5 seconds so if that full time is waited you can very easily just not be able to play online if your network is too slow.

    Graphics:

    • Revert the Metal Experiment
      • This was pretty sad to do but the Metal code as is caused issues with MoltenVK, causing games to become objectively worse to play with no solution other than downgrade Ryujinx.
      • You can find a more detailed explanation here.
    • VP9 Loop Filtering (#550)

    Nerd Zone:

    • The IPS patcher now prints warning logs when attempting to do invalid (or potentially invalid) operations.
      • The operations logged are as follows:
        • The patch attempted to modify protected memory within the buffer;
        • The patch attempted to modify memory outside of the buffer;
        • The expected result of that patch operation would have overflown the buffer. (patchOffset + patchSize > BufferLength)
          • This one gets the special treatment of clamping patchSize to the size of the buffer minus the offset.
    • Added a RyujinxControl<TViewModel> alternative for UserControl which accepts a generic parameter for the type of DataContext.
      • The generic type must be a subtype of BaseModel; all ViewModels should be this, this provides the common property updated event helpers.
      • This was added to reduce the amount of DataContext = ViewModel = new... in the code, to more seamlessly use the underlying DataContext instead of storing a separate reference in the variable ViewModel.
      • ViewModel still exists; just as a syntactic sugar for accessing the DataContext of the generic type. You can also set it via this property.

    Stable builds:

    Platform Artifact
    Windows 64-bit Stable Windows Artifact
    Linux 64-bit Stable Linux Artifact
    Linux ARM 64-bit Stable Linux ARM Artifact
    macOS Stable macOS Artifact

    Full Changelog: https://github.com/Ryubing/Ryujinx/compare/1.2.82...1.2.86

    Downloads