Commit Graph
177 Commits
Author SHA1 Message Date
KeatonTheBot a398002918 Add KosmicKrisp translation layer for macOS 26+
- Mesa 26.0 introduced KosmicKrisp, a Vulkan-on-Metal translation layer and the eventual successor to MoltenVK
2026-08-29 17:43:09 -05:00
KeatonTheBot fc4c45ef1d UI: Fix XCI file trimmer selection crash 2026-08-29 17:33:11 -05:00
KeatonTheBot bed294bb92 UI: Fix Restart Emulation menu item not being clickable 2026-08-21 12:31:39 -05:00
KeatonTheBot 47e55acf21 UI: Update Avalonia to v12.1
- Avalonia to 12.1.1

- FluentAvalonia to 3.0.2

- Move DevTools Ctrl+F12 keybind to app initialization
2026-08-16 16:37:27 -05:00
KeatonTheBotand_Neo_ d1fb89f746 UI: Fix sort timing
- Now sorts instantly when an option is selected

Co-authored-by: _Neo_ <ursamajorjanus2819@gmail.com>
2026-08-10 00:00:49 -05:00
KeatonTheBot cc1861f9bb UI: Fix Amiibo tag URL 2026-08-09 23:25:42 -05:00
Babib3l 5734ad9090 Fix Windows console hide path targeting the foreground window
This PR addresses [Ryubing/Issues#345](https://github.com/Ryubing/Issues/issues/345) by fixing the Windows console hide/show path so it only acts on Ryujinx’s own console window instead of whatever window happens to be focused during startup. Previously, when Show Console was disabled, the helper could race with focus changes and end up affecting another app or shell window while leaving the console visible; this change removes that foreground-window dependency and keeps the startup behavior scoped to the Ryujinx console.
2026-06-14 23:18:49 -05:00
KeatonTheBot 76a123b81d misc: chore: Use explicit types & fix object creation 2026-05-30 16:26:50 -05:00
Babib3l 74d6b310b8 Windows Fullscreen Fixes
This PR fixes two bugs introduced in #80 :
- Exiting fullscreen could exit the Ryujinx window  (https://github.com/Ryubing/Issues/issues/415)
- Toggling fullscreen on would move the window to the primary monitor

And two other bugs related to input view :
- Exiting fullscreen when window was previously in a non maximized state now conserves the window coordinates and size properly (https://github.com/Ryubing/Issues/issues/425)
- Opening the ryujinx app no makes the app grow slightly larger vertically on each launch (+31px on my 1080p monitor) (https://github.com/Ryubing/Issues/issues/425)
2026-05-25 11:59:44 -05:00
Babib3l 8fcc539ed9 Fix Windows fullscreen gap when toggling from maximized
This PR aims to Fix the Windows fullscreen gap when toggling from maximized state by using canonical Win32 fullscreen approach. When entering fullscreen, the window style is saved and replaced with WS_POPUP | WS_VISIBLE to remove all window chrome (title bar, borders), then SetWindowPos sizes the window to cover the full screen with SWP_FRAMECHANGED to force Win32 to recalculate the frame. On exit, the original window style is restored. This eliminates the few-pixel gap at the top that occurred because Avalonia's WindowState = FullScreen transition from a maximized state retained the title bar non-client area, leaving visible space at the top of the screen (Fullscreen resolution would be 1920 x 1072p on a 1080p monitor, it now correctly renders at 1920 x 1080p)
2026-05-11 14:30:04 -05:00
Frosch 44872f45e0 fix: gamepads have the same name
When connecting multiple controllers of the same model, the first device's name ends with (0), the second with (1), the third with (1), the fourth with (1), and so on. To ensure these names are truly unique, GetUniqueGamepadName is now called recursively.
2026-05-11 10:45:54 -05:00
Max 4b4fd560ed UI: LoadGuestApplication asynchronous cancellation
Fixed LoadGuestApplication hanging when cancelled.
Since startup procedure has technically changed, we should consider testing this with a variety of game formats to ensure regressions do not occur.
2026-05-04 01:48:31 -05:00
LotP 77c947eb88 Fix Dual Joy-Con driver and InputView 2026-04-21 16:25:33 -05:00
KeatonTheBotandMaki 251b65771a Update SDL2 to SDL3
- Fix: Crash when connecting a JoyCon

- Fix: Make controller GUIDs match old SDL2 GUIDs

- Fix: Detect face button layout for gamepads

Co-authored-by: Maki <77-maki@users.noreply.git.ryujinx.app>
2026-04-14 22:13:05 -05:00
KeatonTheBot 3a479a437d Update GitLab references to Forgejo 2026-04-13 23:49:54 -05:00
KeatonTheBot 3d5682375e Add Color Space Passthrough to Headless config and MainWindow 2026-04-10 02:11:36 -05:00
KeatonTheBot bc777e1968 Avalonia: Restore Color Space Passthrough for Windows/Linux
Limiting to macOS is no longer needed. Windows and Linux can also utilize this.

This reverts commit f61b7818c3.
2026-04-09 17:25:04 -05:00
KeatonTheBot 477be704bb Update SkiaSharp to 3.119.2
* Update deprecated SkiaSharp code
2026-02-26 17:42:27 -06:00
BowedCascade adc8ed594a Add restart emulation command
- Add RestartEmulation() method to MainWindowViewModel

- Add 'Restart Emulation' menu item with Ctrl+R keybinding

- Add locale translations for all supported languages

- No confirmation dialog (faster restart experience)
2026-02-26 17:42:27 -06:00
V380-Ori bd96f2f51f Avalonia: fix HiDPI/Retina scaling for embedded window on macOS. 2026-02-25 17:15:46 -06:00
Stossy11andGreemDev 3cdae775b1 Add macOS native Audio Backend
Adds Ryujinx.Audio.Backends.Apple, which is a AudioToolbox based audio backend for macOS (and by extension iOS). Also added in MeloNX.

* Expose AudioToolkit in UI

Co-authored-by: GreemDev <greemdev@ryujinx.app>
2026-01-31 02:25:41 -06:00
KeatonTheBot 253f47c971 Linux: Fix file picker not launching from disabling core dumps
Core dumps are disabled by default on Linux, but this prevents access to the file picker due to security hardening. To work around this, core dumps are selectively enabled and disabled around the file picker tasks.
2026-01-14 17:05:32 -06:00
KeatonTheBotandGreemDev 7d0947cac6 Add CommunityToolkit.Mvvm
Use [ObservableProperty] attribute, which greatly reduces or eliminates boilerplate code needed to generate observable properties

Co-authored-by: GreemDev <greemdev@ryujinx.app>
2026-01-14 16:58:45 -06:00
KeatonTheBot 0d29b77a14 Fix MainWindow height calculation, now launches in Steam Deck's Gaming Mode 2026-01-09 22:03:39 -06:00
KeatonTheBot 9a1d33dde5 UI: Restore FluentAvaloniaUI package, disable animations on app initialization
* Avalonia's built-in color picker is now used when selecting a firmware avatar
2026-01-04 02:40:05 -06:00
KeatonTheBot 5ecdd197cd Fix ComboBox alignment on texture format dropdown 2025-12-27 23:08:43 -06:00
gdkchanandKeatonTheBot 812cecd713 Initial texture replacement implementation
Unmerged PR #5632, originally by @gdkchan

* Add mod manager support - @KeatonTheBot

* Remove redundant code - @KeatonTheBot

* Optimize, modernize code to newer C# standards where appropriate - @KeatonTheBot

Co-authored-by: KeatonTheBot <keaton@ryujinx.app>
2025-12-19 17:49:02 -06:00
KeatonTheBot c70f692324 misc: chore: Fix possible NullReferenceExceptions, suppress warnings 2025-12-13 13:32:49 -06:00
Princess Piplup 298e2cdefd Fix SaveCurrentScreenshot
This fixes SaveCurrentScreenshot so it correctly saves the screenshot into the screenshot folder, it's no longer a stub

I was going to add the capture button so all games worked but tbh I only care for spongebob

games tested
Pokemon Z-A: https://files.raychu.xyz/u/1FaUGV.png
Pokemon Violet: https://files.raychu.xyz/u/6swfVS.png
Pokemon Violet: https://files.raychu.xyz/u/JaBBX2.png
Spongebob The Cosmic Shake: https://files.raychu.xyz/u/8z5X2e.png
2025-12-04 20:17:51 -06:00
KeatonTheBot e287c9fc85 Null-conditional assignments, continued 2025-11-19 20:33:06 -06:00
GreemDev e349ef72fb Use the new C# 14 null propagation setter 2025-11-19 20:09:08 -06:00
GreemDev b7c13715f1 Add .NET Runtime version in About window under Ryujinx version. 2025-11-17 09:14:04 -06:00
KeatonTheBot 6292192cc0 misc: chore: Remove unnecessary usings 2025-11-11 17:40:33 -06:00
KeatonTheBot 61a783e10a Add 43:18 aspect ratio (for 3440x1440 [WQHD], 6880×2880 [UW6K+] users) 2025-11-08 16:49:46 -06:00
KeatonTheBot a6c0eabf49 misc: Tweak NullReferenceException fixes 2025-10-31 01:04:00 -05:00
KeatonTheBot 2c50fbcc1f misc: Use nint/nuint instead of IntPtr/UIntPtr 2025-10-29 14:54:07 -05:00
Coxxs 2993dba583 Fix application list loads slowly when RyuLDN is enabled
Currently, application list will not show until ApplicationLibrary_LdnGameDataReceived calls ViewModel.RefreshView();, forcing a refresh. This makes application list load slowly when RyuLDN is enabled.
2025-10-24 14:30:38 -05:00
KeatonTheBot 1724149443 misc: chore: Remove unnecessary usings 2025-10-19 17:48:37 -05:00
GreemDev 66a5719e10 UI: Move IgnoreControllerApplet to the System config section object 2025-10-12 21:48:26 -05:00
Goodfeat c9c78841b9 feature: add the ability to skip profile select dialog when opening games that use it
the skip behavior is done by passing the user id of the profile you have selected in Options > Manage User Profiles
2025-10-12 21:48:25 -05:00
Judas Drekonym 6ba8ae53f2 Add TitleID sort method
Adds an additional application list sorting method for the TitleID. A
bit of a niche choice for sorting but I think the TID is a relevant
enough piece of metadata that it should be there. (And I personally
would be using it)

- Using existing TitleId constant in ApplicationSort, implying this was
meant to be in the sorting options at some point?
- Reuses the "DlcManagerTableHeadingTitleIdLabel" locale for fulfilling
the need already, might be better to make a unique one for this in the
long run but this codebase is new to me so I wanted to make the changes
as unobtrusive as possible
- Using app.Id for the comparer seems to work fine, not sure if using
something else like IdString would be better?
2025-10-10 12:14:44 -05:00
Evan Husted d3bce3f361 UI: Only show DLC RomFS button under Extract Data when DLCs are available.
Also convert the constructor of DlcSelectViewModel to expect a normal title id and not one already converted to the base ID.
2025-10-09 17:18:50 -05:00
Evan Husted 2471bb8ede UI: Move DLC RomFS dumping under normal RomFS dumping.
Also removed it from DLC manager.
2025-10-09 17:18:50 -05:00
KeatonTheBot 51b32981b6 misc: chore: Fix possible NullReferenceExceptions, InvalidOperationExceptions 2025-09-30 15:05:14 -05:00
KeatonTheBot fa682d406e misc: chore: Merge into pattern 2025-09-24 13:51:15 -05:00
KeatonTheBot 503dea74c2 misc: chore: Remove unnecessary usings 2025-09-24 13:48:36 -05:00
KeatonTheBot 1f979e5c6f misc: chore: Fix object creation 2025-09-24 13:44:00 -05:00
KeatonTheBot 378dc33cca misc: chore: Discard unused parameters 2025-09-24 13:26:50 -05:00
Mcost45 6e5bd0c9f2 Include SL/SR default bindings for single joycons
Single L/R Joycons default to unbound for the SL/SR inputs - so by default you can't progress past 'press L + R to continue' type screens.
But

* ConfigGamepadInputId.SingleLeftTrigger0(L)

* ConfigGamepadInputId.SingleRightTrigger0(L)

* ConfigGamepadInputId.SingleLeftTrigger1(R)

* ConfigGamepadInputId.SingleRightTrigger1(R)

already exist (and I verified these are the inputs triggered by the SL/SR buttons), so my change would default to these instead.
2025-09-23 09:27:59 -05:00
GreemDevandKeatonTheBot c56d04a9a9 feature: Turbo Mode
Adds an elapsed tick multiplier feature which speeds up games which are built upon delta time.

More information: https://web.archive.org/web/20240713135029/https://github.com/Ryujinx/Ryujinx/pull/6456

Co-authored-by: KeatonTheBot <keaton@ryujinx.app>
2025-09-04 23:49:32 -05:00