Releases: Ryubing/Ryujinx
1.2.81
This is a relatively minor bugfix release, published to fix the fact that on case-sensitive file systems, shader cache and CPU cache would be stored in different folders, and potentially ignore your previous shader cache.
Other changes include:
- A slightly more up to date embedded compatibility list
- The ability to dump DLC RomFS
- Option to hide the UI automatically when a game launches (#462)
- Added a game library Title ID sort method (#553)
- Visually merge "Actions" and "Tools" into one. The items in this list change depending on whether you're in a game.
- Fix for the Amiibo keybind (Ctrl + A) only working after the Scan an Amiibo button's enabled state had been updated.
- Previously it checked that state. Now it just directly checks if the emulated Switch is scanning for an Amiibo.
1.2.80 changelog
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 |
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: 1.2.80...1.2.81
1.2.80
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 |
1.2.78
Significant changes include:
JIT Sparse Function Table (original work by @riperiperi, work repurposed & PR opened by @LotP1),
Custom Refresh Rate (original work by @jcm93, work repurposed & PR opened by @KeatonTheBot),
A fix for the min/max/close controls being too wide on Windows with the new title bar (by @Daninator1),
And a prod.keys installer helper (by @nicola02nb).
Merged PRs in this release (in the order they were merged):
#280, #282, #285, #258, #281, #250, #309, #310, #238, #313, #311, #95, #302, #257, #233, #329, #319, #330, #331, #339, #340, #352, #353, #332, #343, #342, #363, #356, #371, #338, #381, #383
UI
- Adapt accent color to the system theme
- Works flawlessly on Windows, and has support on Linux depending on your system configuration.
- Moved shader compilation hint, current GPU, and graphics backend to the right side of the status bar, next to the firmware version.
- Moved to a new icon made by @matthew-5pl in #381, which is now used everywhere
- Removed the "Game:" prefix in front of the FPS counter.
- Fix missing total DLC count in the Manage DLC window.
- When clicking the Check for Updates button, it will allow you to click a button to open the changelog of the current version.
- When an update is incoming this button is also present, to show you what the new version has.
- Fix Github & Discord icons getting cuttoff in the About window (#310)
- The about window now has my name and my name only under the maintainer section, and moved the other names previously there below it to "Formerly Maintained By"
- This was done to clear up confusion that the OG maintainers are involved, when they are not.
- Added FAQ, Setup, and LDN guides to the "Help" menu dropdown (#383)
- RPC:
- Added the following games:
- Diablo 3 Eternal Collection
- TSUKIHIME -A piece of blue glass moon-
- Added the following games:
I18N
- Updates to the Korean translation by @Hackjjang (#313, #329, #352, #371)
- Updates to the Spanish translation by @maxdlpee (#332)
- Updates to the Ukrainian translation by @rrondo (#356)
- Norwegian translation by @Daenorth (#338)
HLE
- Cabinet applet (#340)
- Custom refresh rate mode (#238)
-
This does not magically make games able to run at higher framerates without mods.
- This is more akin to a framelimiter, for games which don't have such restrictions, or for when you have mods which enable such framerates.
-
Nerd Zone
- Collapsed XCIFileTrimmerLog implementations into one static class with 2 inner classes.
- Added firmware prefix when the firmware application is loaded
- Additionally allowed providing custom application names & versions, namely for firmware applications.
ARMeilleure
- JIT Sparse Function Table (#250)
- Minor performance increase in some games, bigger increase in others.
- Degrades performance on systems with DDR3 memory.
- Mario Kart Live: Home Circuit now boots (#331, #353)
- Super Tux Kart latest preview now boots (#280, #339)
Vulkan
- Fix PushDescriptors logic (#257)
Platform | Artifact |
---|---|
Windows 64 bit | Release Windows Artifact |
Linux 64 bit | Release Linux Artifact |
Linux arm 64 bit | Release Linux arm Artifact |
macOS | Release macOS Artifact |
1.2.76
Significant changes include LDN functionality from @Vudjun (no more separate build!) and an XCI trimmer from @amurgshere.
Merged PRs in this release (in the order they were merged):
#183, #150, #105, #160, #188, #98, #158, #13, #216, #73, #217, #122, #228, #65, #226, #236, #247, #243, #249, #242, #260, #273, #272, #262, #259, #241
Versioning:
There now exists "stable" (release branch) and "canary" (master branch) versions.
Instead of everyone using the same emulator, getting updates for every code change, you now opt-in to the more frequent updates by using the Canary version. Use stable and you'll get about an update a week, but that update will be MUCH more significant as it's the entire previous week's changes & PR merges.
LDN
LDN functionality is now merged! Use this to get started.
Please note that LDN is only for local wireless; this is not a Nintendo Switch Online emulation feature.
UI
- Added an XCI trimmer (#105).
- You can use this feature to trim dead bytes & the embedded firmware out of your dumped XCIs, to make them smaller.
- If you right-click an XCI and the trim button it is greyed out, that means your XCI is already as small as possible.
- Fix for fullscreen not being really fullscreen (#150)
- Fix window sizing calculations when Show Title Bar is enabled (#247)
- The "Install/Uninstall file types" buttons will be enabled/disabled depending on which one you contextually need; install will be clickable when they aren't installed, and vice versa.
- Fix for showing default config screen when swapping players in controller settings (#122)
- Command-line argument to prevent update checking
--hide-updates
(#272) -
RPC:
- Added a LOT of game images to Discord RPC.
- Play time will now show the time unit hours at a maximum.
Localization
- Update outdated/incorrect & added missing translations for zh-TW (#158)
- Add many missing locale strings to all languages (#160)
- Update & improve Korean translation (#226)
- Minor fixes & add missing translations to Spanish translation (#242)
Headless
- Added
ignore-controller-applet
as an option you can configure via headless command-line options.
Graphics Backend
-
Vulkan
- fix divide-by-zero when recovering from missed draw (#235)
- fixes crash in 'Baldo: The Guardian Owls' opening cutscene
- fix divide-by-zero when recovering from missed draw (#235)
Horizon
- fix crash that occurs when launching an NSP forwarder generated by Nro2Nsp (#237)
Nerd Zone
Slightly more technical information. If you don't understand what's under here, no worry.
- Updater now uses the release's Tag Name instead of its Name for version checking.
- Baked in value change logging into ReactiveObject.
- Split ConfigurationState into 3, smaller partial classes of the same name.
- Specify if the current version is Canary in the version log line
1.2.75
Full Changelog: 1.2.72...1.2.75
1.2.72
Full Changelog: 1.2.69...1.2.72
1.2.69
Full Changelog: 1.2.67...1.2.69
1.2.67
Full Changelog: 1.2.64...1.2.67
1.2.64
Full Changelog: 1.2.59...1.2.64
1.2.59
Full Changelog: 1.2.58...1.2.59