RetroArch 1.10.1 release!


RetroArch 1.10.1 has just been released.

Grab it here.

If you’d like to learn more about upcoming releases, please consult our roadmap here.

Remember that this project exists for the benefit of our users, and that we wouldn’t keep doing this were it not for spreading the love to our users. This project exists because of your support and belief in us to keep going doing great things. We have always prioritized the endusers experience, and unlike others, we have never emburdened them with in-app ads, monetization SDKs or paywalled features, and we intend to continue to do so. If you’d like to show your support, consider donating to us. Check here in order to learn more. In addition to being able to support us on Patreon, there is now also the option to sponsor us on Github Sponsors! You can also help us out by buying some of our merch on our Teespring store!

Highlights

Good news for Gamecube/Wii users – after some downtime, RetroArch should work again on these platforms!

Improvements for contentless cores (or what we would call ‘standalone cores’). ‘Standalone core’ in this context means a core that either:

* doesn’t need any content of its own to start up (like 2048, Mr. Boom)
* Is only made for one specific game/purpose and is not an ’emulator core’ that is meant to run various content, but only one specific thing.

Lots of cores fall into the contentless/’standalone cores’ territory – NXEngine (Cave Story), Mr. Boom, Rick Dangerous, Dinothawr, The Powder Toy, Cannonball, 2048, etc. It’s important to realize that ‘standalone’ here does not mean what you would think it means when used outside of RetroArch parlance.

To make it even easier to work with these ‘contentless cores’, it has now also been made easier to obtain required/necessary content files that some of these cores need. If you go to ‘Online Updater’ and then go to ‘Core System Files Downloader’, it will show all the content files that are available for download from our server. Some of this content is required for certain cores to work as best they can, and some are even required for the core to start up at all. For instance, if you download ‘Dinothawr.zip’, it will download and install all the required asset files you need to play Dinothawr. After downloading this, you can then go to ‘Standalone cores’, select Dinothawr and play the game.

There is now a more energy-efficient way to fastforward. Instead of relying on the CPU to be as fast as it can be to fastforward frames (the default and only way up until now), now it’s also possible to fastforward based on ‘frame skipping’. To be more precise, this method of frame skipping is done by measuring the frame time and skipping based on frame time.

Some advantages to this new way of fastforwarding:

  • GPU MHz stay down, which is more energy efficient than presenting frames that are not visible anyway
  • Fast-forwarding with 3rd party frame limiting such as scanline sync is possible

It also means that with this option, fastforwarding is now possible for more cores on lower-end hardware. For instance, in the past, if you wanted to fastforward by x 2 in a specific game, the CPU of your machine had to actually be able to run the game with the core twice as fsat as the normal default.

In other news, tons of fixes for Wayland users on Linux machines. For Miyoo hardware users, the battery level is now supported. Tons of Cheevos/RetroAchievements improvements as usual (mastery placard, better description messages for missing RetroAchievements credentials, support for identifying Dreamcast CHD files, etc).

For netplay users, savestates have been disabled in stateless modes for stability reasons.

For RGUI menu fans, there is now dynamic theme support. This adds support for dynamically loading themes with RGUI based on the menu title from a playlist.

  • When Dynamic is chosen as a theme, a default theme will be loaded. It will look for default.cfg.
  • When a playlist is selected, it will load the theme *playlist_title.cfg.
  • With *playlist_title replaced as the actual title of-course.

Themes will be looked for in the dynamic wallpapers directory.

For Android 11 (and up) users, it is now possible to add external storage devices (i.e. from an SD card or NAS device), and add them as mount points. Note: the Google Play version is still not updated and we still need further Scoped Storage/Storage Access Framework improvements before we can update this version on there again. For now, we recommend you download the APK from our website instead.

User advice for Xbox users

There are apparently some issues people are experiencing with USB drives.

We recommend you follow these steps to solve potential issues:

  • Connect your drive to a Windows PC
  • Go to File Explorer
  • Right click on your NTFS drive
  • Do the following: Properties -> Security -> Advanced -> Add -> Select Principal -> Advanced -> Find Now > All App Packages > Ok > Tick Full Control > Ok > Enable Inheritance.

Changelog

1.10.1

  • ANDROID: Add HAVE_LANGEXTRA back to makefile
  • ANDROID: Include adaptive launcher icons
  • ANDROID: Populate external storage devices inside the file browser on Android 11+ devices
  • CHEEVOS: add mastery placard
  • CHEEVOS: more description message for missing RetroAchievements credentials
  • CHEEVOS: prevent occasional infinite wait loading multi-disc game from secondary disc
  • CHEEVOS: stop load process if unable to retrieve achievement data
  • CHEEVOS: support for identifying Dreamcast CHDs
  • CHEEVOS: Updated to 10.3.2
  • CONTENTLESS CORES: Disable per-game and per-content-directory remaps when running contentless cores
  • CONTENTLESS CORES: Disable per-game and per-content-directory shader presets
  • CONTENTLESS CORES: Enable config overrides
  • CONTENTLESS CORES: Enable runtime logging
  • CORE INFORMATION: Show core version
  • CORE UPDATER: Add ‘Core System Files Downloader’
  • CORES/SETTINGS: Add ‘Standalone Cores’ menu
  • D3D10/D3D11: Add Vsync swap interval
  • EMSCRIPTEN: Enable 7zip
  • GBA: New GBA filter Upscale_240x160-320×240
  • GONG: Removed now that it’s a standalone core
  • HISTORY/FAVORITES: Fix default core on ‘Add to Favorites’
  • INPUT/WAYLAND: Allow toggling mouse grabs
  • INPUT/WAYLAND: Release keys and mouse buttons on lost focus
  • iOS: Support for custom keyboard and touch mouse support, among other iOS 13 features
  • LIBRETRO: Fix crash when cores using RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK return false from retro_load_game()
  • LIBRETRO: Add optional frame skipping when fast-forwarding
  • LOCALIZATION: Fetch translations from Crowdin
  • LOCALIZATION: OSD fonts for Chinese, Korean, Arabic and Persian
  • LOCALIZATION: Translation fixes for various languages
  • MENU/RGUI: Add dynamic theme
  • MIYOO: Enable NEAREST audio resampler
  • MIYOO: Support battery level
  • NETPLAY: Disable savestates on stateless mode
  • NGC/Wii: Several improvements
  • OSX: Enable compilation on PPC
  • OZONE/XMB: Improve efficiency/accuracy of History/Favorites icon rendering
  • RECORDING/FFMPEG: Fix building against FFmpeg 5.0
  • RETROARCH INFORMATION: No longer report on enabled Python support, which was removed in RetroArch 1.7.8
  • SAVESTATES: Disable save states based on save state support level defined in core info files
  • UNIX/WINDOWS: Allow setting the default libretro_directory via environment variable
  • WAYLAND/VULKAN: Fix Wayland Vulkan not reacting to initial resize
  • WINDOWS/WINRAW: Enable mouse overlay control
  • Xbox/UWP: Fix CHD not working with Cheevos / Add 7zip support.

RetroArch 1.10.0 release!


RetroArch 1.10.0 has just been released.

Grab it here.

If you’d like to learn more about upcoming releases, please consult our roadmap here.

Remember that this project exists for the benefit of our users, and that we wouldn’t keep doing this were it not for spreading the love to our users. This project exists because of your support and belief in us to keep going doing great things. If you’d like to show your support, consider donating to us. Check here in order to learn more. In addition to being able to support us on Patreon, there is now also the option to sponsor us on Github Sponsors! You can also help us out by buying some of our merch on our Teespring store!

RetroArch Open Hardware


Please take a moment to sign up for our RetroArch Open Hardware newsletter. We would also hugely appreciate it if you could fill out the user survey. The link can be found here.

If there is sufficient demand, we have the possibility to start building hardware that will help regular users preserve their old videogames at affordable prices. Every person filling in this survey counts towards making this a future reality, so please take a moment to look at it.

Highlights

HDR support for Vulkan has been added. It’s been confirmed working on Windows. Also,
HDR support for Slang shaders has been added. The first shader to support HDR is
crt\crt-sony-pvm-4k-hdr.slangp.

Numerous improvements have been made to netplay. uPnP support has received a complete overhaul (and is no longer reliant on miniupnpc). Relay servers should now be fully operational. A new relay server has been added in Singapore to help out users in South East Asia and bordering countries.

A summary of the new features:

  • Netplay features: Text chat, host ping limiter, client ping counter.
  • Netplay relay: New relay system is now functional.
  • Netplay relay: The canadian server was replaced in favor of an asian one.
  • Netplay relay: Custom relay server support.
  • Netplay hosting: A warning will be shown if your room is not connectable from the internet when announcing to the lobby server.
  • Netplay fixes: Many netplay fixes and improvements.
  • Lobby Viewer (Internet): Filter out rooms that are not compatible with RetroArch’s netplay.
  • Lobby Viewer (Internet): Display a non-connectable tag to non-connectable rooms.
  • Lobby Viewer (LAN): LAN rooms now have their own refresh button, no longer mixing together with internet rooms.

The XMB menu now has a new (optional) effect to hide menu items that are near the edge of the screen, very similar to the original XMB. You can adjust the fade effect to your liking if you want it to fade out more items onscreen. The new setting is called ‘Vertical Fade Factor’ and can be found in Settings -> User Interface -> Appearance.

A VSync swap interval has been added for the Direct3D 10 and 11 drivers. Before, Swap/sync interval was merely on/off based on VSync, leaving the existing option unused.

Big improvements for Xbox / UWP users – see the changelog for more details.

User advice for Xbox users

There are apparently some issues people are experiencing with USB drives.

We recommend you follow these steps to solve potential issues:
* Connect your drive to a Windows PC
* Go to File Explorer
* Right click on your NTFS drive
* Do the following: Properties -> Security -> Advanced -> Add -> Select Principal -> Advanced -> Find Now > All App Packages > Ok > Tick Full Control > Ok > Enable Inheritance.

Changelog

1.10.0

  • 3DS: Add Jaxe, A5200 and WASM4 cores
  • 3DS: Fix rotation
  • ARCHIVE: Allow loading files from archive subdirectory
  • AUDIO: Remove frame limit from audio batch callback. Before, if a core used the audio batch callback, there would be a hidden cap of 1024 on the number of audio frames that could be sent. If a core exceeded this value, any excess samples were silently discarded. While this is sufficient for ‘normal’ samplerates/framerates, it means that e.g. a core using the batch callback to send 44100 Hz audio at 30 fps with would have entirely broken sound. This has been fixed by removing the audio batch frame limit.
  • AUDIO/RESAMPLER/NEON: Implement sinc kaiser NEON function
  • CHEEVOS: Reset hardcore default to enabled; show message when trying to load state in hardcore
  • CHEEVOS: Fix memory map conversion
  • CHEEVOS: Check netplay status when unlocking achievements
  • CHEEVOS: Support for hashing buffered NDS ROMs
  • CHEEVOS: Fix hung task whe badge doesn’t exist
  • CLI: Load save states from command-line or playlist
  • CORE INFO CACHE/SETTINGS: Restore missing ‘Cache Core Info Files’ menu entry
  • DATABASE: Serial scanning for Gamecube/MegaCD/SegaCD/Saturn/PSX/PSP/Dreamcast/Wii
  • D3D10/D3D11: Add Vsync swap interval
  • EMSCRIPTEN: Add Jaxe, WASM4 cores
  • FILE IO: Fix incorrect file names for remap files when the content path doesn’t have a preceding slash
  • INPUT/OVERLAY: Added support for showing the overlay behind the menu instead of in front. This is currently only supported on the GL, Vulkan, D3D 9/10/11/12 and 3DS drivers.
  • INPUT/UDEV: Convert abs mouse from screen to viewport coordinates; fix relative mouse coords
  • INPUT/WAYLAND: Ignore mouse clicks on window decoration
  • INPUT/WAYLAND: Add scroll wheel support
  • LINUX: Added support for Linux GameMode (https://github.com/FeralInteractive/gamemode), which can be toggled on/off in the Power Management or Latency settings menus.
  • LOCALIZATION: Fetch translations from Crowdin
  • LOCALIZATION: Add Indonesian, Swedish and Ukrainian language options
  • LOCALIZATION/MENU/RGUI: Enable Indonesian and Swedish localisations for RGUI
  • LOGGING: Logging cleanups
  • LOGGING: Stop logging FPS statistics twice on quit
  • LOGGING: Log font rendering backend only once
  • HOTKEYS: Added a hotkey toggle for the on-screen technical statistics.
  • HOTKEYS: Add delay + acceleration to volume hotkeys
  • MENU: Add option for showing notifications only in menu
  • MENU/RGUI: Add Finnish to supported languages
  • MENU/XMB: Optional vertical list item fade
  • MENU/XMB/OZONE: Category + History/Favorites icons
  • NETWORK: Fix dummy notification – no longer shows a netplay initialization failed notification when netplay is not enabled
  • NETWORK: LAN addresses only for UPnP – Some router devices might accept non-LAN addresses without raising an error.
  • NETWORK: Filter out non-connectable rooms. Add an option for filtering out non-connectable netplay rooms.
  • NETWORK: Netplay spectator notification fix. Fix double notification when the host switches to spectator.
  • NETWORK: Prevents long-term pausing from clients dishonoring allow pausing
  • NETWORK/LOBBY: Lobby Viewer: Filter out rooms that are not running RetroArch
  • NETWORK/LOBBY: Lobby Viewer: Display a non-connectable tag to non-connectable rooms
  • NETWORK/LOBBY: Host: Display warning if we are announcing to the internet but our room isn’t connectable from there
  • NETWORK/RELAY: Custom relay server support – Add support for custom user-ran relay servers
  • NETWORK/RELAY: Replace Canadian relay server with Singapore relay server. Current relays: New York/USA, Madrid/Spain, Sao Paulo/Brazil, Singapore
  • NETWORK/UPNP: Various refactors/improvements, no more dependent on miniupnpc
  • NETWORK/UPNP: Various UPnP binding fixes for specific routers
  • NETWORK/UPNP: Accept IGD v2 service types
  • NETWORK/UPNP: Delay lobby server announcing – delay the announcing in order to give UPnP’s port forwarding more time. Fix the remaining truncation warnings.
  • NETWORK/UPNP: Smart interface selection – Find the most suitable address for UPnP by scoring interfaces on how close their address is to the device’s address
  • OPENGL1: Fix buffer overflow – RetroArch would sometimes crashes at startup when loading asset textures with GL1 driver
  • PS3: PSL1GHT port added to Gitlab CI
  • VULKAN: Double combined image sampler descriptor pool size – fix segfaults with AMD GPUs using RADV
  • VULKAN: Emulate mailbox only with Vsync enabled – otherwise have it disabled – useful for VRR/G-Sync/FreeSync
  • VULKAN/SWAPCHAIN: Vulkan max swapchain images option adjustments: removed value 1, since it won’t be used – Video reinit on change, so that there is no need to restart or toggle fullscreen
  • VULKAN/HDR: HDR support – tested on Windows
  • WAYLAND: Add libdecor for client side decoration
  • WAYLAND: Use any display for initial metrics
  • WAYLAND: Fix the window closing, if RetroArch is build without libdecor
  • WAYLAND: Use checked sizes in EGL resize
  • WAYLAND: Fix window title update
  • WEBOS: Fix webOS build and run
  • WIIU: Fix rotation
  • UWP/XBOX: Fix content over 4GB (approx) failing to load, improve/speed up copy/load times
  • UWP/XBOX: Fix scanning for playlists
  • UWP/XBOX: Move content copied to LocalState to a dedicated dir and clear on startup
  • UWP/XBOX: Make content copy to a specific cache directory in the LocalState folder when it’s copied
  • UWP/XBOX: Auto delete VFS cache dir on startup
  • UWP/XBOX: Make resolution switching automatic and fix angle output issues
  • UWP/XBOX: Force ANGLE to render at 1080p regardless of screensize as the output is 1080p regardless of screensize. This fixes an issue where at 4k any angle output would be zoomed into a corner.
  • UWP/XBOX: Set resolution based on display resolution (auto 4k)
  • UWP/XBOX: Set driver to D3D11 if booting with opengl
  • UWP/XBOX: Reset width and height of output on boot to match display
  • UWP/XBOX: Mitigate need for VFS cores on NTFS drives
  • UWP/XBOX: Make check for standard I/O by access rather than the just assuming based on path string
  • UWP/XBOX: Add code to auto permissions so files can be accessed by non VFS cores (no exFAT or FAT32 support yet)