diff --git a/src/Ryujinx.HLE/HOS/Horizon.cs b/src/Ryujinx.HLE/HOS/Horizon.cs index 7af8711c7..75a487ff3 100644 --- a/src/Ryujinx.HLE/HOS/Horizon.cs +++ b/src/Ryujinx.HLE/HOS/Horizon.cs @@ -265,13 +265,13 @@ namespace Ryujinx.HLE.HOS HorizonFsClient fsClient = new(this); ServiceTable = new ServiceTable(); - IEnumerable services = ServiceTable.GetServices(new HorizonOptions - (Device.Configuration.IgnoreMissingServices, + IEnumerable services = ServiceTable.GetServices(new HorizonOptions( LibHacHorizonManager.BcatClient, fsClient, AccountManager, Device.AudioDeviceDriver, - TickSource)); + TickSource + )); foreach (ServiceEntry service in services) { diff --git a/src/Ryujinx.HLE/HOS/Services/IpcService.cs b/src/Ryujinx.HLE/HOS/Services/IpcService.cs index 1b95b6712..8cfe59c90 100644 --- a/src/Ryujinx.HLE/HOS/Services/IpcService.cs +++ b/src/Ryujinx.HLE/HOS/Services/IpcService.cs @@ -113,27 +113,13 @@ namespace Ryujinx.HLE.HOS.Services bool serviceExists = service.CmifCommands.TryGetValue(commandId, out MethodInfo processRequest); - if (context.Device.Configuration.IgnoreMissingServices || serviceExists) + if (serviceExists) { - ResultCode result = ResultCode.Success; - context.ResponseData.BaseStream.Seek(_isDomain ? 0x20 : 0x10, SeekOrigin.Begin); + + Logger.Trace?.Print(LogClass.KernelIpc, $"{service.GetType().Name}: {processRequest.Name}"); - if (serviceExists) - { - Logger.Trace?.Print(LogClass.KernelIpc, $"{service.GetType().Name}: {processRequest.Name}"); - - result = (ResultCode)processRequest.Invoke(service, [context]); - } - else - { - string serviceName; - - - serviceName = (service is not DummyService dummyService) ? service.GetType().FullName : dummyService.ServiceName; - - Logger.Warning?.Print(LogClass.KernelIpc, $"Missing service {serviceName}: {commandId} ignored"); - } + ResultCode result = (ResultCode)processRequest.Invoke(service, [context]); if (_isDomain) { @@ -166,27 +152,13 @@ namespace Ryujinx.HLE.HOS.Services bool serviceExists = TipcCommands.TryGetValue(commandId, out MethodInfo processRequest); - if (context.Device.Configuration.IgnoreMissingServices || serviceExists) + if (serviceExists) { - ResultCode result = ResultCode.Success; - context.ResponseData.BaseStream.Seek(0x4, SeekOrigin.Begin); + + Logger.Debug?.Print(LogClass.KernelIpc, $"{GetType().Name}: {processRequest.Name}"); - if (serviceExists) - { - Logger.Debug?.Print(LogClass.KernelIpc, $"{GetType().Name}: {processRequest.Name}"); - - result = (ResultCode)processRequest.Invoke(this, [context]); - } - else - { - string serviceName; - - - serviceName = (this is not DummyService dummyService) ? GetType().FullName : dummyService.ServiceName; - - Logger.Warning?.Print(LogClass.KernelIpc, $"Missing service {serviceName}: {commandId} ignored"); - } + ResultCode result = (ResultCode)processRequest.Invoke(this, [context]); context.ResponseData.BaseStream.Seek(0, SeekOrigin.Begin); diff --git a/src/Ryujinx.HLE/HOS/Services/Sm/IUserInterface.cs b/src/Ryujinx.HLE/HOS/Services/Sm/IUserInterface.cs index 6d03d8d05..efd9c80b7 100644 --- a/src/Ryujinx.HLE/HOS/Services/Sm/IUserInterface.cs +++ b/src/Ryujinx.HLE/HOS/Services/Sm/IUserInterface.cs @@ -102,14 +102,7 @@ namespace Ryujinx.HLE.HOS.Services.Sm } else { - if (context.Device.Configuration.IgnoreMissingServices) - { - Logger.Warning?.Print(LogClass.Service, $"Missing service {name} ignored"); - } - else - { - throw new NotImplementedException(name); - } + throw new NotImplementedException(name); } if (context.Process.HandleTable.GenerateHandle(session.ClientSession, out int handle) != Result.Success) diff --git a/src/Ryujinx.HLE/HleConfiguration.cs b/src/Ryujinx.HLE/HleConfiguration.cs index 97835033e..97b45755a 100644 --- a/src/Ryujinx.HLE/HleConfiguration.cs +++ b/src/Ryujinx.HLE/HleConfiguration.cs @@ -137,13 +137,6 @@ namespace Ryujinx.HLE /// public MemoryManagerMode MemoryManagerMode { internal get; set; } - /// - /// Control the initial state of the ignore missing services setting. - /// If this is set to true, when a missing service is encountered, it will try to automatically handle it instead of throwing an exception. - /// - /// TODO: Update this again. - public bool IgnoreMissingServices { internal get; set; } - /// /// Aspect Ratio applied to the renderer window by the SurfaceFlinger service. /// @@ -207,7 +200,6 @@ namespace Ryujinx.HLE long systemTimeOffset, string timeZone, MemoryManagerMode memoryManagerMode, - bool ignoreMissingServices, AspectRatio aspectRatio, float audioVolume, bool useHypervisor, @@ -232,7 +224,6 @@ namespace Ryujinx.HLE SystemTimeOffset = systemTimeOffset; TimeZone = timeZone; MemoryManagerMode = memoryManagerMode; - IgnoreMissingServices = ignoreMissingServices; AspectRatio = aspectRatio; AudioVolume = audioVolume; UseHypervisor = useHypervisor; diff --git a/src/Ryujinx.Horizon/HorizonOptions.cs b/src/Ryujinx.Horizon/HorizonOptions.cs index a24ce7f61..637be61b4 100644 --- a/src/Ryujinx.Horizon/HorizonOptions.cs +++ b/src/Ryujinx.Horizon/HorizonOptions.cs @@ -8,7 +8,6 @@ namespace Ryujinx.Horizon { public readonly struct HorizonOptions { - public bool IgnoreMissingServices { get; } public bool ThrowOnInvalidCommandIds { get; } public HorizonClient BcatClient { get; } @@ -18,14 +17,12 @@ namespace Ryujinx.Horizon public ITickSource TickSource { get; } public HorizonOptions( - bool ignoreMissingServices, HorizonClient bcatClient, IFsClient fsClient, IEmulatorAccountManager accountManager, IHardwareDeviceDriver audioDeviceDriver, ITickSource tickSource) { - IgnoreMissingServices = ignoreMissingServices; ThrowOnInvalidCommandIds = true; BcatClient = bcatClient; FsClient = fsClient; diff --git a/src/Ryujinx.Horizon/Sdk/Sf/Cmif/ServiceDispatchTableBase.cs b/src/Ryujinx.Horizon/Sdk/Sf/Cmif/ServiceDispatchTableBase.cs index f2292feff..6f227cbd0 100644 --- a/src/Ryujinx.Horizon/Sdk/Sf/Cmif/ServiceDispatchTableBase.cs +++ b/src/Ryujinx.Horizon/Sdk/Sf/Cmif/ServiceDispatchTableBase.cs @@ -39,18 +39,7 @@ namespace Ryujinx.Horizon.Sdk.Sf.Cmif if (!entries.TryGetValue((int)commandId, out CommandHandler commandHandler)) { - if (HorizonStatic.Options.IgnoreMissingServices) - { - // If ignore missing services is enabled, just pretend that everything is fine. - PrepareForStubReply(ref context, out Span outRawData); - CommandHandler.GetCmifOutHeaderPointer(ref outHeader, ref outRawData); - outHeader[0] = new CmifOutHeader { Magic = CmifMessage.CmifOutHeaderMagic, Result = Result.Success }; - - Logger.Warning?.Print(LogClass.Service, $"Missing service {objectName} (command ID: {commandId}) ignored"); - - return Result.Success; - } - else if (HorizonStatic.Options.ThrowOnInvalidCommandIds) + if (HorizonStatic.Options.ThrowOnInvalidCommandIds) { throw new NotImplementedException($"{objectName} command ID: {commandId} is not implemented"); } diff --git a/src/Ryujinx/Assets/locales.json b/src/Ryujinx/Assets/locales.json index 2605490b1..3d8af198b 100644 --- a/src/Ryujinx/Assets/locales.json +++ b/src/Ryujinx/Assets/locales.json @@ -5247,31 +5247,6 @@ "zh_TW": "" } }, - { - "ID": "SettingsTabSystemIgnoreMissingServices", - "Translations": { - "ar_SA": "تجاهل الخدمات المفقودة", - "de_DE": "Ignoriere fehlende Dienste", - "el_GR": "Αγνόηση υπηρεσιών που λείπουν", - "en_US": "Ignore Missing Services", - "es_ES": "Ignorar servicios no implementados", - "fr_FR": "Ignorer les services manquants", - "he_IL": "התעלם משירותים חסרים", - "it_IT": "Ignora servizi mancanti", - "ja_JP": "未実装サービスを無視する", - "ko_KR": "누락된 서비스 무시", - "no_NO": "Ignorer manglende tjenester", - "pl_PL": "Ignoruj Brakujące Usługi", - "pt_BR": "Ignorar Serviços Ausentes", - "ru_RU": "Игнорировать отсутствующие службы", - "sv_SE": "Ignorera saknade tjänster", - "th_TH": "เมินเฉยบริการที่หายไป", - "tr_TR": "Eksik Servisleri Görmezden Gel", - "uk_UA": "Ігнорувати відсутні служби", - "zh_CN": "忽略缺失的服务", - "zh_TW": "忽略缺少的模擬器功能" - } - }, { "ID": "SettingsTabSystemIgnoreControllerApplet", "Translations": { @@ -16647,31 +16622,6 @@ "zh_TW": "利用另一種 MemoryMode 配置來模仿 Switch 開發模式。\n\n這僅對高解析度紋理套件或 4K 解析度模組有用。不會提高效能。\n\n如果不確定,請設定為 4GiB。" } }, - { - "ID": "IgnoreMissingServicesTooltip", - "Translations": { - "ar_SA": "يتجاهل خدمات نظام هوريزون غير المنفذة. قد يساعد هذا في تجاوز الأعطال عند تشغيل ألعاب معينة.\n\nاتركه معطلا إذا كنت غير متأكد.", - "de_DE": "Durch diese Option werden nicht implementierte Dienste der Switch-Firmware ignoriert. Dies kann dabei helfen, Abstürze beim Starten bestimmter Spiele zu umgehen.\n\nIm Zweifelsfall AUS lassen.", - "el_GR": "Ενεργοποίηση ή απενεργοποίηση της αγνοώησης για υπηρεσίες που λείπουν", - "en_US": "Ignores unimplemented Horizon OS services. This may help in bypassing crashes when booting certain games.\n\nLeave OFF if unsure.", - "es_ES": "Hack para ignorar servicios no implementados del Horizon OS. Esto puede ayudar a sobrepasar crasheos cuando inicies ciertos juegos.\n\nDesactívalo si no sabes qué hacer.", - "fr_FR": "Ignore les services Horizon OS non-intégrés. Cela peut aider à contourner les plantages lors du démarrage de certains jeux.\n\nLaissez désactivé en cas d'incertitude.", - "he_IL": "מתעלם מפעולות שלא קיבלו מימוש במערכת ההפעלה Horizon OS. זה עלול לעזור לעקוף קריסות של היישום במשחקים מסויימים.\n\nמוטב להשאיר כבוי אם לא בטוחים.", - "it_IT": "Ignora i servizi non implementati del sistema operativo Horizon. Può aiutare ad aggirare gli arresti anomali che si verificano avviando alcuni giochi.\n\nNel dubbio, lascia l'opzione disattivata.", - "ja_JP": "未実装の Horizon OS サービスを無視します. 特定のゲームにおいて起動時のクラッシュを回避できる場合があります.\n\nよくわからない場合はオフのままにしてください.", - "ko_KR": "구현되지 않은 Horizon OS 서비스는 무시됩니다. 특정 게임을 부팅할 때, 발생하는 충돌을 우회하는 데 도움이 될 수 있습니다.\n\n모르면 끔으로 두세요.", - "no_NO": "Ignorerer ikke implementerte Horisont OS-tjenester. Dette kan hjelpe med å omgå krasj ved oppstart av enkelte spill.\n\nLa AV hvis du er usikker.", - "pl_PL": "Ignoruje niezaimplementowane usługi Horizon OS. Może to pomóc w ominięciu awarii podczas uruchamiania niektórych gier.\n\nW razie wątpliwości pozostaw WYŁĄCZONE.", - "pt_BR": "Ignora serviços não implementados do Horizon OS. Isso pode ajudar a contornar travamentos ao inicializar certos jogos.\n\nDeixe OFF se não tiver certeza.", - "ru_RU": "Игнорирует нереализованные сервисы Horizon в новых прошивках. Эта настройка поможет избежать вылеты при запуске определенных игр.\n\nРекомендуется оставить выключенным.", - "sv_SE": "Ignorerar Horizon OS-tjänster som inte har implementerats. Detta kan avhjälpa krascher när vissa spel startar upp.\n\nLämna AV om du är osäker.", - "th_TH": "ละเว้นบริการ Horizon OS ที่ยังไม่ได้ใช้งาน วิธีนี้อาจช่วยในการหลีกเลี่ยงข้อผิดพลาดเมื่อบูตเกมบางเกม\n\nปล่อยให้ปิดหากคุณไม่แน่ใจ", - "tr_TR": "Henüz programlanmamış Horizon işletim sistemi servislerini görmezden gelir. Bu seçenek belirli oyunların açılırken çökmesinin önüne geçmeye yardımcı olabilir.\n\nEmin değilseniz devre dışı bırakın.", - "uk_UA": "Ігнорує нереалізовані служби Horizon OS. Це може допомогти в обході збоїв під час завантаження певних ігор.\n\nЗалиште вимкненим якщо не впевнені.", - "zh_CN": "开启后,游戏会忽略未实现的系统服务,从而继续运行。\n少部分新发布的游戏由于使用了新的未知系统服务,可能需要此选项来避免闪退。\n模拟器更新完善系统服务之后,则无需开启此选项。\n\n如果不确定,请保持关闭状态。", - "zh_TW": "忽略未實現的 Horizon OS 服務。這可能有助於在啟動某些遊戲時避免崩潰。\n\n如果不確定,請保持關閉狀態。" - } - }, { "ID": "IgnoreControllerAppletTooltip", "Translations": { diff --git a/src/Ryujinx/Headless/HeadlessRyujinx.Init.cs b/src/Ryujinx/Headless/HeadlessRyujinx.Init.cs index 751a86571..30d0c18da 100644 --- a/src/Ryujinx/Headless/HeadlessRyujinx.Init.cs +++ b/src/Ryujinx/Headless/HeadlessRyujinx.Init.cs @@ -327,7 +327,6 @@ namespace Ryujinx.Headless options.SystemTimeOffset, options.SystemTimeZone, options.MemoryManagerMode, - options.IgnoreMissingServices, options.AspectRatio, options.AudioVolume, options.UseHypervisor ?? true, diff --git a/src/Ryujinx/Headless/Options.cs b/src/Ryujinx/Headless/Options.cs index 8305cd311..4a01d05ea 100644 --- a/src/Ryujinx/Headless/Options.cs +++ b/src/Ryujinx/Headless/Options.cs @@ -145,9 +145,6 @@ namespace Ryujinx.Headless if (NeedsOverride(nameof(DramSize))) DramSize = configurationState.System.DramSize; - if (NeedsOverride(nameof(IgnoreMissingServices))) - IgnoreMissingServices = configurationState.System.IgnoreMissingServices; - if (NeedsOverride(nameof(IgnoreControllerApplet))) IgnoreControllerApplet = configurationState.System.IgnoreControllerApplet; @@ -407,9 +404,6 @@ namespace Ryujinx.Headless [Option("dram-size", Required = false, Default = MemoryConfiguration.MemoryConfiguration4GiB, HelpText = "Set the RAM amount on the emulated system.")] public MemoryConfiguration DramSize { get; set; } - - [Option("ignore-missing-services", Required = false, Default = false, HelpText = "Enable ignoring missing services.")] - public bool IgnoreMissingServices { get; set; } [Option("ignore-controller-applet", Required = false, Default = false, HelpText = "Enable ignoring the controller applet when your game loses connection to your controller.")] public bool IgnoreControllerApplet { get; set; } diff --git a/src/Ryujinx/Systems/AppHost.cs b/src/Ryujinx/Systems/AppHost.cs index 455afaf45..e8ea5cdca 100644 --- a/src/Ryujinx/Systems/AppHost.cs +++ b/src/Ryujinx/Systems/AppHost.cs @@ -193,8 +193,7 @@ namespace Ryujinx.Ava.Systems _invisibleCursorWin = CreateEmptyCursor(); _defaultCursorWin = CreateArrowCursor(); } - - ConfigurationState.Instance.System.IgnoreMissingServices.Event += UpdateIgnoreMissingServicesState; + ConfigurationState.Instance.Graphics.AspectRatio.Event += UpdateAspectRatioState; ConfigurationState.Instance.System.EnableDockedMode.Event += UpdateDockedModeState; ConfigurationState.Instance.System.AudioVolume.Event += UpdateAudioVolumeState; @@ -487,14 +486,6 @@ namespace Ryujinx.Ava.Systems Exit(); } - private void UpdateIgnoreMissingServicesState(object sender, ReactiveEventArgs args) - { - if (Device != null) - { - Device.Configuration.IgnoreMissingServices = args.NewValue; - } - } - private void UpdateAspectRatioState(object sender, ReactiveEventArgs args) { if (Device != null) @@ -608,9 +599,7 @@ namespace Ryujinx.Ava.Systems { if (Device.Processes != null) MainWindowViewModel.UpdateGameMetadata(Device.Processes.ActiveApplication.ProgramIdText); - - - ConfigurationState.Instance.System.IgnoreMissingServices.Event -= UpdateIgnoreMissingServicesState; + ConfigurationState.Instance.Graphics.AspectRatio.Event -= UpdateAspectRatioState; ConfigurationState.Instance.System.EnableDockedMode.Event -= UpdateDockedModeState; ConfigurationState.Instance.System.AudioVolume.Event -= UpdateAudioVolumeState; diff --git a/src/Ryujinx/Systems/Configuration/ConfigurationFileFormat.cs b/src/Ryujinx/Systems/Configuration/ConfigurationFileFormat.cs index c5315ab12..51a63d5cc 100644 --- a/src/Ryujinx/Systems/Configuration/ConfigurationFileFormat.cs +++ b/src/Ryujinx/Systems/Configuration/ConfigurationFileFormat.cs @@ -294,11 +294,6 @@ namespace Ryujinx.Ava.Systems.Configuration /// public MemoryConfiguration DramSize { get; set; } - /// - /// Enable or disable ignoring missing services - /// - public bool IgnoreMissingServices { get; set; } - /// /// Used to toggle columns in the GUI /// diff --git a/src/Ryujinx/Systems/Configuration/ConfigurationState.Migration.cs b/src/Ryujinx/Systems/Configuration/ConfigurationState.Migration.cs index b10cc3926..86a3d9d35 100644 --- a/src/Ryujinx/Systems/Configuration/ConfigurationState.Migration.cs +++ b/src/Ryujinx/Systems/Configuration/ConfigurationState.Migration.cs @@ -100,7 +100,6 @@ namespace Ryujinx.Ava.Systems.Configuration System.AudioVolume.Value = cff.AudioVolume; System.MemoryManagerMode.Value = cff.MemoryManagerMode; System.DramSize.Value = cff.DramSize; - System.IgnoreMissingServices.Value = cff.IgnoreMissingServices; System.IgnoreControllerApplet.Value = cff.IgnoreApplet; System.UseHypervisor.Value = cff.UseHypervisor; diff --git a/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs b/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs index b52c624e3..7c369dd26 100644 --- a/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs +++ b/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs @@ -379,11 +379,6 @@ namespace Ryujinx.Ava.Systems.Configuration /// Defines the amount of RAM available on the emulated system, and how it is distributed /// public ReactiveObject DramSize { get; private set; } - - /// - /// Enable or disable ignoring missing services - /// - public ReactiveObject IgnoreMissingServices { get; private set; } /// /// Ignore Controller Applet @@ -427,8 +422,6 @@ namespace Ryujinx.Ava.Systems.Configuration MemoryManagerMode.LogChangesToValue(nameof(MemoryManagerMode)); DramSize = new ReactiveObject(); DramSize.LogChangesToValue(nameof(DramSize)); - IgnoreMissingServices = new ReactiveObject(); - IgnoreMissingServices.LogChangesToValue(nameof(IgnoreMissingServices)); IgnoreControllerApplet = new ReactiveObject(); IgnoreControllerApplet.LogChangesToValue(nameof(IgnoreControllerApplet)); AudioVolume = new ReactiveObject(); @@ -852,7 +845,6 @@ namespace Ryujinx.Ava.Systems.Configuration : System.SystemTimeOffset, System.TimeZone, System.MemoryManagerMode, - System.IgnoreMissingServices, Graphics.AspectRatio, System.AudioVolume, System.UseHypervisor, diff --git a/src/Ryujinx/Systems/Configuration/ConfigurationState.cs b/src/Ryujinx/Systems/Configuration/ConfigurationState.cs index 6fe35c744..75d2c3cde 100644 --- a/src/Ryujinx/Systems/Configuration/ConfigurationState.cs +++ b/src/Ryujinx/Systems/Configuration/ConfigurationState.cs @@ -79,7 +79,6 @@ namespace Ryujinx.Ava.Systems.Configuration AudioVolume = System.AudioVolume, MemoryManagerMode = System.MemoryManagerMode, DramSize = System.DramSize, - IgnoreMissingServices = System.IgnoreMissingServices, IgnoreApplet = System.IgnoreControllerApplet, UseHypervisor = System.UseHypervisor, GuiColumns = new GuiColumns @@ -203,7 +202,6 @@ namespace Ryujinx.Ava.Systems.Configuration System.AudioVolume.Value = 1; System.MemoryManagerMode.Value = MemoryManagerMode.HostMappedUnsafe; System.DramSize.Value = MemoryConfiguration.MemoryConfiguration4GiB; - System.IgnoreMissingServices.Value = false; System.IgnoreControllerApplet.Value = false; System.UseHypervisor.Value = true; Multiplayer.LanInterfaceId.Value = "0"; diff --git a/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs b/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs index a092e97f2..77fce9ac2 100644 --- a/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/SettingsViewModel.cs @@ -208,7 +208,6 @@ namespace Ryujinx.Ava.UI.ViewModels public bool EnableLowPowerPptc { get; set; } public bool EnableInternetAccess { get; set; } public bool EnableFsIntegrityChecks { get; set; } - public bool IgnoreMissingServices { get; set; } public MemoryConfiguration DramSize { get; set; } public bool EnableShaderCache { get; set; } public bool EnableTextureRecompression { get; set; } @@ -584,7 +583,6 @@ namespace Ryujinx.Ava.UI.ViewModels VSyncMode = config.Graphics.VSyncMode; EnableFsIntegrityChecks = config.System.EnableFsIntegrityChecks; DramSize = config.System.DramSize; - IgnoreMissingServices = config.System.IgnoreMissingServices; IgnoreApplet = config.System.IgnoreControllerApplet; // CPU @@ -686,7 +684,6 @@ namespace Ryujinx.Ava.UI.ViewModels config.System.SystemTimeOffset.Value = Convert.ToInt64((CurrentDate.ToUnixTimeSeconds() + CurrentTime.TotalSeconds) - DateTimeOffset.Now.ToUnixTimeSeconds()); config.System.EnableFsIntegrityChecks.Value = EnableFsIntegrityChecks; config.System.DramSize.Value = DramSize; - config.System.IgnoreMissingServices.Value = IgnoreMissingServices; config.System.IgnoreControllerApplet.Value = IgnoreApplet; // CPU diff --git a/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml b/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml index a52fe5fbe..3fbee29d5 100644 --- a/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml +++ b/src/Ryujinx/UI/Views/Settings/SettingsSystemView.axaml @@ -313,11 +313,6 @@ Margin="10,0,0,0" HorizontalAlignment="Stretch" Orientation="Vertical"> - - -