Significant changes include:
Embedded Compatibility List viewer (by @GreemDev),
Migration to .NET 9 (by @marco-carvalho),
The Experimental Metal Backend (by @IsaacMarovitz, work repurposed, rebased, and merged in by @GreemDev),
Ability to read/write amiibo .bin files (by @Jacobwasbeast),
Unified locales (by @LotP1),
Headless in Avalonia (by @GreemDev), and
Swedish localization (by @yeager)
Merged PRs in this release (in the order they were merged):
#198, #348, #391, #412, #296, #420, #422, #424, #427, #430, #432, #415, #418, #441, #447, #446, #450, #440, #448, #469, #460, #428, #444, #470, #472, #471, #465, #461, #475, #480, #481, #497, #507, #505, #517, #515, #519, #203, #524, #502, #489, #503, #531, #314, #375, #513, #538, #537, #541, #543, #545
UI:
- Fix for updates not being autoloaded
- Closes #379
- PlayerSelect applet (#537)
- Allows you to play Minecraft Nintendo Switch Edition, and Diablo 3 with multiple local players.
- Those are just the 2 games I know of that use this. There's probably others.
- Allows you to play Minecraft Nintendo Switch Edition, and Diablo 3 with multiple local players.
- Compatibility List Viewer
- You can access this via
Help > Open Compatibility List
. You can search for games you're interested in, and it only shows the games you actually own by default. - This functionality has also been opened as a PR on ryujinx-mirror.
- You can access this via
- Headless in Avalonia
- There is no longer a dedicated headless/nogui build. It's now integrated directly into the standard Avalonia build.
- This was done to reduce confusion on what file to download, while also still allowing the users who use headless to continue using it.
- There's even the ability to inherit your main Ryujinx's config, input settings & last used emulated Switch profile!
- You can access headless Ryujinx by invoking Ryujinx via the command line with the first argument being
--no-gui
ornogui
. The following should then be your old Headless script content, additionally with--use-main-config
for the config inheritance mentioned above.
- Play Time in the UI now caps out at showing hours. It shows seconds at the least. If less than a second it will act like it was never played.
- You can now click on the Title IDs of games in the UI and they will be copied to your clipboard.
- There is now a button in settings you can click which will resync the time in Ryujinx to match your system's.
- Note that this is not an active setting, it just sets the time to the current time. It can still fall out of sync.
- Intel Mac Warning
- On every boot, and only one time during that session, you will be warned that Intel Macs are not supported, if you are running Ryujinx on one.
- Discord RPC:
- Added Goat Simulator 3 asset image
I18N:
- Russian translation update (#450)
- Entire Swedish translation (#446, #513)
- Ukrainian translation update (original: #488)
- Korean translation updates (#422, #465, #502)
- Norwegian translation updates (#418, #503, #538)
- French translation update (#415)
- Simplified Chinese translation updates (#440, #375)
- Italian translation update (#489)
Graphics:
- Experimental Metal Backend
- The label "experimental" is not for show! More games don't work than do.
- If you're on an ARM Mac and want to get the best out of Metal without trial & error, set the graphics backend to
Auto
. - Using
Auto
on a Mac will use Vulkan for most games, and use Metal on the games it's known to work better than Vulkan + MoltenVK in. - There is currently a known bug where shader translation from Vulkan to Metal will eventually freeze.
- To alleviate this, you can simply keep trying. It does do some translations before it freezes.
- You can also delete or move your Vulkan cache to another location to start fresh to avoid this issue entirely.
- Vulkan
- Resolve Image Usage Validation Error (#296)
HLE:
- Stub IHidServer SetGestureOutputRanges (#524)
- Lets the new Donkey Kong game, Donkey Kong Country Returns HD, boot.
- Throw a more descriptive error when the loaded processes doesn't contain a process with key matching
_latestPid
(likely missing Firmware).
Infra:
Nerd Zone:
- Removed a lot of manual observable properties in many ViewModels and replaced them with the CommunityToolkit.Mvvm ObservableProperty autogenerated ones to reduce the size of the view model files.
- Use
UnmanagedCallersOnly
for ARMeilleure delegates. - The repeated
<Border>
s in MainStatusBarView have been turned into a reusable Avalonia Control:MiniVerticalSeparator
ConfigurationState
migration is now defined in a map ofversion => migrator function
; to reduce code duplication.DiscordIntegrationModule
now changes the current playing game state based on whenTitleIds.CurrentApplication
changes; instead of directly being invoked when a change is needed.- Removed
Ryujinx.UI.Common
: it existed because previously the project had 2 different UI layers you could use; GTK and Avalonia. We only support Avalonia now and will probably never support another framework. - The logic for launching an applet, such as miiEdit, has been abstracted into a utility class called
AppletMetadata
.
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 |