App Details
Notice: This is a fairly large package, so it may take some time to download! Therefore, in order to keep file sizes down, this package contains only six cores: melonds, mgba, gambatte, mupen64plus_next, snes9x, and nestopia. For other cores, use the built-in Online Updater. For more themes, use the built-in Online Updater.
Additionally, if you are seeing asset/icon issues with your theme, try: Main menu -> online updater -> update assets, and restarting.
Courtesy of m4xw
----------------------------------------------------
For more information regarding RetroArch, the location/names of BIOS files, and compatibility with ROMs, please refer to the official Libretro documentation at:
https://docs.libretro.com/
Use the sidebar under "Core Documentation" to read more about the core you're looking for.
F.A.Q.
Q: My Switch has crashed/softlocked, and RetroArch doesn't work properly!
A: First, make sure you are on a Horizon OS version (I.E. Nintendo's Switch OS) higher than 1.0.0. Second, no matter which firmware you are on, ALWAYS FORMAT YOUR SD CARD AS FAT32; NO EXCEPTIONS. If you continue to use RetroNX under the ExFAT filesystem, we cannot provide additional support beyond the previously elaborated-upon disclaimer.
Q: I'm trying to save changes to the settings, but it doesn't commit!
A: Save the current configuration with no content loaded. You can do this from any core.
Q: My question is not listed here/where can I go for additional support?
A: The fastest method for support and staying up-to-date on progress for RetroNX, you can join the Discord server with the following link:
https://discord.gg/jTmfAEx
When you are posting about issues related to the cores (assuming you have read through this readme and identified your problem is uncommon/unrelated to the above), please list the following pieces of information in your report alongside the issue:
- Horizon OS version (I.E. Switch OS firmware version)
- Core used
- Whether core used is a Master/Stable or Nightly/Unstable; what is the builddate of said core?
- Version of the Hekate payload used
Make sure to post in the channel listed #retroarch-homebrew.
----------------------------------------------------
Credits:
m4wx - Primary developer of RetroNX/Libretro-NX.
lifajucejo, others - Supporting developers/contributers to the RetroNX project.
Switchbrew - Developers/contributors for the LibNX project and API which RetroNX is built on.
Original Libretro Team - Primary developer of the Libretro/RetroArch project that RetroNX is built upon.
All the testers and users that report notable issues.
An Average Seong - Packaging the build in a convenient pack/writer of the very README you're reading! Thanks for reading to the end.
Changelog
1.20.0
Restore missed absolute mouse conversion. (#17343)
1.19.1
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.17.0
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.16.0
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.15.0
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.14.0
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.13.0
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.12.0
NETWORKING/WIIU: Fix socket_connect_with_timeout for WIIU
NETWORKING/WIIU: Fixes RetroAchievements login
NETWORKING/WIIU: Fixes other online updater functionality
WIIU: Add some missing default directories
WIIU: Get mkdir working on WiiU (directory creation)
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.11.1
GENERAL: Fix DEFAULT_FILL_TITLE_MACRO
NETWORKING: Add the const qualifier to some function parameters
NETWORKING/NETPLAY/UPNP: Add a private or CGNAT address warning to UPnP
SAVESTATES/SCREENSHOTS: Avoid 'video_gpu_screenshot' with savestates
UWP: Better 'Save on quit' fix
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.11.0
GENERAL: Don't bake in OpenAL and libcaca by default unless explicitly enabled with configure switch.
GENERAL: Reduce amount of strlen calls
GENERAL: Reduce or simply sin/cosf calls
SWITCH: Enable RWAV (WAV audio file) support
WIIU: Implement sysconf and __clear_cache
WIIU: Add OS memory mapping imports
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.10.3
ANDROID: Decouple Play Core dependency to bring app into compliance for F-Droid
AI/SERVICE: Disable AI Service setting by default
BLUETOOTH/LAKKA: bluetoothctl: add / modify pairing steps
CHEEVOS: Disallow manual frame delay setting in Hardcore Mode
DATABASE: Serial scanning for Wii now includes WBFS
INPUT/MAPPING: Fix offset + crash when clearing input port binds
INPUT/MAPPING: Fix saving of 'Analog to Digital Type' when configuration overrides are used
INPUT/MAPPING: Fix saving of 'Analog to Digital Type' when configuration overrides are used
LOCALIZATION: Add Valencian language option
LOCALIZATION: Updates
MENU/SETTINGS: Move 'Show Menu Bar' under 'Windowed Mode' settings
MENU/SETTINGS: Add sublabels for 'Subsystems' and 'Input Deadzone/Sensitivity'
MENU/SETTINGS: Move 'On-Screen Notifications' to top
MENU/XMB: Unified the shadow alpha value to a slightly darker one for better readability
MENU/XMB: Corrected the option label and sublabel for actual behavior
MIYOO: Enable ALSA audio driver and default to it
PSP: Take out extra languages/localization, adds about 4/5MB to the binary, and RAM is limited on PSP (32MB and 64MB RAM models)
STATIC PLATFORMS: Populate all history list metadata when launching content from playlists
STEAM: Introduce Steam Rich Presence
VIDEO: Fast-Forward Frameskip improvement
VIDEO/THREADED: Stability fixes
WINDOWS/WINRAW: Fix multiple light guns
WIIU: Fix USB get_device_name(), don't truncate to three chars
1.9.14
CHEEVOS: Disallow achievements when spectating netplay
CHEEVOS: Fix need-to-activate achievement logic for non-hardcore
CHEEVOS: Don't queue rewind re-init if already on main thread
CHEEVOS: Ignore unofficial achievements unless setting is enabled
INPUT/GYRO/ACCELEROMETER/ANDROID: Re-enable Gyroscope & Accelerometer when RetroArch resumes or regains focus
INPUT/HID: Fix gamepad disconnect on unrecognized HID device
LOGGING: Logging cleanups. A bunch of unifications and reformattings (capitalizations, dots, quotes, prefixes etc). Also added a few missing things, such as Run-Ahead error logging and LED interface init logging when it is enabled.
NETPLAY: Networking - should not print country for a local lobby
NETPLAY: Added setting to allow/disallow players other than the host from pausing the game.
NETPLAY: Added a sublabel for netplay max connections.
NETPLAY: Fixed port override macro from not being set immediately after the port setting.
NETPLAY: Show passworded rooms on lobby
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.9.13
CHEEVOS/MSVC2010: Add Cheevos support
CRT/SWITCHRES: Fixes some issue where scaling is incorrect in some video modes for CRT output.
FRAMEDELAY: Add 'Automatic Frame Delay' option
INPUT: Add 'All users control the menu' setting - any gamepad can control the menu when this is enabled. Only limitation right now is that only player 1 can toggle the menu, but any set Menu Toggle Controller Combo will work fine for all users, so this should be acceptable for now
INPUT/UDEV: Fix Dolphin bar and safeguard against not adding devices with no mouse or touch buttons detected
NETPLAY/CLI: -C/--connect commandline fix
NETPLAY: Other improvements
NETPLAY: Remove forced disconnection on unknown netplay command - will be backwards compatible with any version that removed this disconnect. instead of disconnecting, we just read the data and ignore, like most network implementations do
TASKS/CHEEVOS: Replace coroutines with tasks/thread
TASKS/DATABASE/EXPLORE: Initialise 'Explore' menu on a background thread - no more stall when hovering over the Explore tab
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.9.12
COMMAND: Command interface should work again
INPUT/HID: Rewrote the HID deregistration algorithm; it should no longer cause issues when dealing with multiple pads of the same HID/VID combo
INPUT/HID: Fix initialization bug that caused wiimotes to fail to register without an accessory attached
INPUT/HID: Fix Wiimote regression
LIBRETRO: Enable SRAM for contentless cores
LIBRETRO: Add environment callback to get the rate retro_run is called - GET_THROTTLE_STATE and RETRO_THROTTLE_UNBLOCKED environment callback
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.9.11
INPUT: Refactor menu toggle combo button logic to allow quit combo button
LIBRETRO: Add environment callback to enable cores to notify the frontend that a core option value has changed
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.9.2
CONFIG/FILE: Use hash map to optimise key/value lookups
CORE INFO: Performance optimisations + code clean-ups/refactors
CRT/SWITCHRES: Fixed CRTSwitchRes framebuffer bug
INPUT: Ensure that 'retro_set_controller_port_device' is called when updating 'Max Users'
INPUT/XEGL/MOUSE: Fix xegl_ctx.c mouse activation
INPUT/SDL: Fix crash in SDL input driver when analogs are bound.
INPUT/POINTER: Add scaling to pointer input.
INPUT REMAPPING: Fix regression on loading file
INPUT REMAPPING: Fix regression where disabling input remapping would disable input
MENU: Add optional menu screensaver
MENU: Add search filter support to cheats and overlays file browser menus
MENU/FILEBROWSER: Enhanced 'Load Content' file browser search functionality
MENU/INPUT: Block accidental diagonals in menu navigation
MENU/RGUI: Add option to disable menu transparency
MENU/RGUI: Fix display of 'Video > Scaling' menu when 'Lock Menu Aspect Ratio' is enabled
MENU/MATERIALUI: Add icon to 'Turbo Fire' menu entry
MENU/OZONE: Ozone Dracula theme
OPENDINGUX/BETA: Fix IPU scaling when running GBA-resolution content
OPENDINGUX/BETA: Add 50Hz support
OPENDINGUX: Enable 'SaveRAM Autosave Interval' by default
PATCHES: Added multi-softpatching support + OSD messages for patches
https://github.com/libretro/RetroArch/blob/master/CHANGES.md
1.9.0
AUTOCONFIG: Ensure correct directory is used when saving autoconfig profiles
CHEATS: Fix for wrong number of remaining cheat search matches on some machines
CORE OPTIONS: Pressing OK (or clicking/tapping) on a ‘boolean toggle’ core option no longer opens a drop-down list. The value now toggles directly, just like boolean options everywhere else in the menu
CORE OPTIONS: Toggling an option that changes the number of core options being displayed (i.e. things like `Show Advanced Audio/Video Settings) no longer resets the navigation pointer to the start of the list
CORE OPTIONS: Before, RetroArch would identify core option values as being ‘boolean’ if they had labels matching the specific strings enabled or disabled. Most core devs would abide by this, but not always… As a result, we sometimes would end up with misidentified values, with all kinds of Enabled, Off, True, etc. strings littering the menu, in place of proper toggle switches. All boolean-type value labels are now detected, and replaced with standard ON/OFF strings.
CRT: On the fly CRT porch adjuments – these changes allow a user to adjust how the porch algorithm generates the 15khz/31khz output. Giving the ability to change over/under scan.
CONFIG FILE: Optimise parsing of configuration files
DRIVERS: Implemented protection to avoid setting critical drivers to nothing thus preventing the user from locking him/herself out of the program
FILE I/O: VFS and NBIO interfaces will now use 64-bit fseek/ftell where possible, should allow for reading/writing to files bigger than 2GB
INPUT MAPPING/REMAPPING: Add input remap drop-down lists
LOCALIZATION: Updates for several languages (synchronized from Crowdin)
MENU/RGUI: Add optional ‘toggle switch’ icons
MENU/WIDGETS: Add optional widget-based ‘load content’ launch feedback animation
MENU/WIDGETS: Make notification font size option visible when graphics widgets are enabled
PLAYLISTS: Change playlists to use dynamic arrays. Instead of a fixed initial 12MB memory allocation (99999 * 128 byte (on 64bit arch)), use a dynamically growing array
PLAYLISTS: Playlist base content directory paths – portable playlists
PLAYLISTS/SEARCH: Enhanced playlist search functionality
PLAYLISTS/DATABASE: Add ‘Explore’ view
PLAYLISTS/DATABASE/EXPLORE: Show system icons in explore view
1.8.9
AUTO SAVESTATES: Ensure save states are correctly flushed to disk when quitting RetroArch (fixes broken save states when exiting RetroArch - without first closing content - with 'Auto Save State' enabled)
CORE MANAGEMENT: Add 'core management' menu (Settings -> Core)
CORE MANAGEMENT: Add option to backup/restore installed cores
CORE MANAGEMENT: Improved core selection logic
CORE INFO: Search search optimisations
CORE DOWNLOADER: Rename 'Core Updater' to 'Core Downloader'
CORE DOWNLOADER: Add 'Show Experimental Cores' setting under Settings > Network > Updater
CORE DOWNLOADER: Core licenses are now shown for all entries in the Core Updater menu
CORE DOWNLOADER: Pressing RetroPad select on a Core Updater entry will now display any text in the description field of its info file
CORE DOWNLOADER: Installed cores are now highlighted via a [#] symbol
CORE DOWNLOADER: Pressing RetroPad start on a selected, installed entry opens the Core Information menu (when using Material UI, swiping left or right triggers the same action). This means we can now view bios info etc. - and more importantly delete cores - without jumping through all the hoops of loading a core first and navigating all over the place
CORE DOWNLOADER/UPDATER: Add option to automatically backup cores when updating
INPUT: Added a hotkey delay option to allow hotkey input to work properly when it is assigned to another action
INPUT: Remove 'All Users Control Menu' setting, was buggy and will be properly reintroduced after input overhaul
LOCALIZATION: Add Persian language
LOCALIZATION: Add Hebrew language
LOCALIZATION: Add Asturian language
MENU: Proper line wrapping for message dialog boxes
MENU/HOTKEYS: Add sublabels to all hotkey bind entries
MENU/QUICK MENU: Suppress the display of 'empty' quick menu listings when closing content
MENU/OZONE: Performance improvements
1.8.5
https://www.libretro.com/index.php/retroarch-1-8-5-released/
1.8.4
LIBNX/SWITCH: Updated libnx integration to v3.0.0. This also cherry-picks libnx commit 583d6bb92dcbb33b6bb4a0fa1a9df6e3725d6ef6, which should fix the requirement having to turn rumble off and on in the system settings once per reboot
1.8.3
SWITCH/LIBNX/BUGFIX: Fix onscreen keyboard input regression
(XMB/OZONE) Fix quick menu detection. XMB would not display savestate thumbnails in the quick menu if it was accessed via the main menu
1.8.2
https://www.libretro.com/index.php/category/blog/
1.8.0
https://www.libretro.com/index.php/category/blog/
LIBNX/SWITCH: Make audren threaded audio driver the new default
1.7.9.2
https://github.com/libretro/RetroArch/blob/v1.7.9.2/CHANGES.md
SWITCH: Set default aspect ratio to core provided instead of 4:3
1.7.8.4
Add ‘AI Service’ option to Switch (untested)
Update to newest libnx toolchain
1.7.8
SWITCH :Add Audren audio driver.
SWITCH: Fix splitting and joining of joycon controllers. Before this fix, splitting and joining of joycons only ever worked sporadically
SWITCH: Proper x/y scaling for pointer devices, fixes touch lightgun
1.7.6
New default theme: Ozone!
Improve touch scaling calculation.
Proper button labels.
Add option to enable in-menu sound effects.
1.0
Upstream Retroarch release! You can read more about the newly updated features at:
https://www.libretro.com/index.php/retroarch-1-7-5-introducing-libnx-switch-version/
0.9.7b
Includes a mitigation for the Fuzzing, you can now enjoy docked!
PCSX is built using the updated unai renderer, meaning less glitches and performance seem to have gotten a boost too.