Apr 15, 2022
RetroArch - libretro
AI/SERVICE: Disable AI Service setting by default
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
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
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
RetroArch - libretro
RetroArch 1.10.2 has just been released. You can read the full article on our website here. The condensed version here has been stripped of everything not relevant to the Steam version in specific.

Highlights
Big improvements for Steam and Steam Deck users

We’re gearing up for Steam Deck, and in the process we are finally starting to turn the RetroArch Steam version into something more than just a plain port (courtesy of Mats).

We came up with a SteamWorks shim that allows RetroArch Steam to interface with the Steamworks API. Mist, our middleware tool, runs in a separate process, runs concurrently wtih RetroArch Steam, and functions as a bridge between this separate process interfacing with Steamworks and the GPL application itself running in an entirely different process. This is 100% GPL compliant and the same approach has been employed by numerous other examples on Steam, including (but not limited to) Icculus.

Thanks to Mist, here are some of the big new features for Steam users (and in particular, Steam Deck users):
  • You can now install and uninstall cores directly from inside RetroArch by going to ‘Manage Cores’ from inside the menu. No longer do you have to manually browse Steam with your webbrowser and download random core DLCs for RetroArch, you can do it from within the convenience of the app running itself.
  • On Steam Deck, the native OSK (Onscreen Keyboard) will appear now instead of the RetroArch default OSK. This should give a more seamless experience. We have decided against enabling the Steam OSK with Big Picture since it seems partially broken and instantly dismisses itself (or at least those were our testing results on a Steam Deck).

As a result of these changes, the Steam port is starting to become its own thing rather than just a straightforward no-frills port of the Windows/Linux versions.

Improved audio sample pacing / latency in many cores
Big improvements have been made to several cores concerning improved audio latency and audio sample pacing.

Not only should performance be better, but you should also be able to lower audio latency buffers now while still getting perfect sound.

Here are some of the cores that have received work recently on this front:

  • Flycast
  • Gambatte
  • Nestopia
  • Snes9x
  • Snes9x 2002
  • Snes9x 2005
  • Snes9x 2010
  • UAE
  • VICE

For example, frame time deviations in a core like Snes9x 2010 are now extremely low with a default 64ms audio buffer. We measured 0.4 to 0.3% deviation, and this figure could likely be optimized even further by fiddling some more with audio buffer latency, or changing the audio driver.

Other measures have also been taken to further improve audio latency. Some cores have been updated now so that audio gets pushed to the frontend (i.e. RetroArch) AFTER the video frame has been uploaded. This is just in case the audio upload blocks for too long due to audio processing and syncing performed by the frontend. Uploading the video frame as soon as possible after the emulation loop is generally a good idea since it potentially avoids unnecessary input latency.

Steps have also been taken in cores to minimise use of the audio batch callback (for example, Tyrquake and Snes9x 2010), leading to better audio sample pacing, less overhead and better overall performance.

UI/UX improvements

RGUI, MaterialUI and Ozone menu drivers now have new color themes. ‘Gray Dark / Gray Light’ themes have been added.

For XMB users, vertical fade adjustments have been made so that it functions a bit better like the original. Title margin can now also be adjusted, so that the title won’t cut off anymore on display devices with overscan (i.e. CRT TVs).

For RGUI users, 6×10 extended ASCII and Latin Extended A and B fonts have been added. These will enable most Latin alphabets to be displayed in RGUI.

For Ozone users, a thumbnail scaling option has been added (Settings->User interface->Appearance). This option scales the size of the thumbnail sidebar, which in turns means the thumbnails are scaled along with it. It should scale the thumbnails so that they should fill up more screen real estate now in the right sidebar. See the picture below for an example.

Manage Input Remapping Files
1.10.2 adds a new Manage Remap Files submenu to Quick Menu > Controls:

This updates correctly in real-time (the previous save/remove remap menu entries do not…), and only shows relevant options. When removing a remap, existing files are re-scanned and the one with the next highest priority (if found) will be loaded.

In addition, the currently active remap file will be saved automatically when closing content – i.e. it is no longer necessary (or indeed possible!) to save the file manually after each change.

We have also added a new Reset Input Mapping entry under Quick Menu > Controls > Manage Remap Files:

We have also fixed a nasty bug that could cause remap file corruption (incorrect or unwanted entries) when saving a remap after resetting one or more binds.

Prevent ‘global’ configuration of input libretro device type
Before, RetroArch allowed the input ‘libretro device type’ to be set globally per-user. This was nonsensical for a couple of reasons:

  • Input device type has no meaning unless a core is actually running, so the option to set it globally does nothing but confuse users
  • A global device type may be set that is incompatible with cores, leading to disabled input in-game. e.g. setting the global type to ‘RetroPad with Analog’ breaks Beetle PSX, since that is not a valid device type recognised by the core

1.10.2 fixes the issue by:

  • Removing the global option Settings > Input > Port N Controls > Device Type (device type can now only be set while a core is running, via Quick Menu > Controls > Port N Controls)
  • Ensuring that the ‘global’ device type is reset to the default RETRO_DEVICE_JOYPAD on startup and when closing cores (unless a device type override is set via the existing command line interface)
Note that device type is no longer stored in the main RetroArch config file, only in input remap files.

Changelog
  • AUDIO/MIXER: Free audio voices properly
  • CHEEVOS: Update to rcheevos 10.3.3
  • CHEEVOS: Support for Arduboy
  • CHEEVOS: Fix tab sequences in rich presence being turned into t character
  • CHEEVOS: Fix overflow when parsing float value that has more than 9 digits after the decimal
  • CHEEVOS: Fix memory mapping when disconnect mask breaks a region into multiple blocks
  • CORES: Enable manual selection of which cores are displayed in the ‘Standalone Cores’ menu
  • DATABASE/EXPLORE: Added more categories to the Explore menu
  • INPUT: Fix analog stick not working with ‘Unified Menu Controls’
  • INPUT/MAPPING: Add ‘Manage Remap Files’ submenu + automatically save input remaps when closing content
  • INPUT/MAPPING: Add ‘Reset Input Mapping’ option to ‘Manage Remap Files’ menu
  • INPUT/MAPPING: Fix keyboard device remap nulling
  • LIBRETRO: RETRO_ENVIRONMENT_SHUTDOWN fix – ensure core is properly unloaded when RETRO_ENVIRONMENT_SHUTDOWN is called
  • LIBRETRO: RETRO_ENVIRONMENT_SHUTDOWN fix – ensure menu stack is properly flushed when RETRO_ENVIRONMENT_SHUTDOWN is called
  • LINUX/MALI FBDEV: Fix segfault switching video threaded from quickmenu
  • LOCALIZATION: Add Czech language support
  • MMAP: Handle disconnect bits on both sides of len
  • MENU/SETTINGS: Remove ‘Advanced Settings’ flag from ‘Settings > Core’ menu
  • MENU/MATERIALUI: Add ‘Gray Dark + Light’ themes
  • MENU/RGUI: Add 6×10 extended ASCII and Latin Extended A and B fonts. These will enable most Latin alphabets to be displayed in RGUI.
  • MENU/RGUI: Add ‘Gray Dark + Light’ themes
  • MENU/XMB: Add title margin adjustment
  • MENU/XMB: Vertical fade corrections
  • MENU/OZONE: The size of the thumbnail bar can now be changed though a new option (Settings->User interface->Appearance) up to double its normal size.
  • MENU/OZONE: Add ‘Gray Dark + Light’ themes
  • MENU/OZONE: Add thumbnail scale option
  • HOTKEYS: Added hotkey for toggling sync to exact content framerate
  • HOTKEYS: Prevent log spam when using rewind hotkey with cores that don’t support rewind, if rewind functionality itself is disabled
  • HOTKEYS: Add hotkey for toggling sync to exact content framerate
  • STEAM: Use native OSK (Onscreen Keyboard) instead of built-in RetroArch version
  • STEAM: New built-in core DLC downloader
  • STEAM: Swap OK/Cancel buttons by default
  • VIDEO/HDR: Removed redundant copy of buffer in HDR mode if the shader has already a HDR format i.e. R10G10B10A2 (updated Vulkan/D3D11/D3D12 drivers)
  • VIDEO/HDR: Fixed crash when using stock shader and HDR and previous optimisation
  • WAYLAND: Dynamically load libdecor at runtime
  • WAYLAND: Fix splash screen when using xdg_toplevel
  • WAYLAND: SHM anti-collision for the splash screen
  • WAYLAND: Skip splash screen if window is not ready
RetroArch - libretro
RetroArch 1.10.1 has just been released. Read our full article here on our website.

Highlights

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. 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.

Changelog
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
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
NETPLAY: Disable savestates on stateless mode
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
RetroArch - libretro
RetroArch 1.10.0 has just been released. Read our full article here on our website.

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

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
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
RetroArch - libretro
New RetroArch version 1.9.10 just released. Changelog down below:

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
RetroArch - libretro
A busy year passed by and there was a lot of silence on the Open-Hardware Project.

The promise of RetroArch Open-Hardware has always been open hardware with open software delivering an open solution.
We stand by this goal to this day, however we felt that the DIY market alone will not help the cause significantly to bring emulation to the mainstream.
Thus we partnered with a hardware manufacturer for a commercial release – bringing the peripheral into everyone’s hands – while still keeping a free and open DIY route.

With that in mind we are re-designing the hardware to be modular – meaning there would be a base unit & “addon modules” for other console hardware (the main focus for initial release will still be N64).
Our goal is to reach more people with this approach – while only slightly increasing the difficulty for DIY folks (req. of a second PCB).

If things go well, we could enter production in mid 2022 and have a product by the end of the year (knowing current global shipping tho, there will be some nightmares down the road).

To help gauge interest and keep the community up-to-date, we launch today the RetroArch Open-Hardware Newsletter & User survey!

Please sign-up if you want to stay updated. We won’t spam you and only write you when really needed.

Even if you aren’t interested – please still take the survey.
It’s up to 10 questions max. and should only take 2 minutes to complete.

It will help us a lot! The project depends on you 🙂

Newsletter: https://retroarchopenhardware.com/
Survey: https://retroarchopenhardware.com/survey.php

The article can be read in full here:
https://www.libretro.com/index.php/introducing-the-retroarch-open-hardware-project/
RetroArch - libretro
We're happy to announce that Potator has been added to RetroArch Steam as core DLC!

Potator is a handheld emulator. It is a monochrome handheld gaming system released in 1992.

Link to the new DLC is here -
https://store.steampowered.com/app/1844930/RetroArch__Potator/
RetroArch - libretro
We're happy to announce that Beetle VB has been added to RetroArch Steam as core DLC!

An emulator for a portable handheld console released in the mid '90s. It was a virtual reality handset console, and one of the first to showcase stereoscopic 3D graphics.

Link to the new DLC is here -
https://store.steampowered.com/app/1844870/RetroArch__Beetle_VB/

The user guides can be found here -
https://docs.libretro.com/library/beetle_vb/
RetroArch - libretro
We're happy to announce that Beetle Cygne has been added to RetroArch Steam as core DLC!

Emulates a handheld game console from the late '90s. It had a D-pad on each side and could be held in both horizontal and vertical orientation.

Link to the new DLC is here -
https://store.steampowered.com/app/1843660/RetroArch__Beetle_Cygne/

The user guides can be found here -
https://docs.libretro.com/library/beetle_cygne/
RetroArch - libretro
We're happy to announce that EasyRPG has been added to RetroArch Steam as core DLC!

EasyRPG Player allows you to play compatible RPG games from within RetroArch.

Compatible RPG games are:
  • RPGM 2000
  • RPGM 2003

EasyRPG Player is part of the EasyRPG Project.

Link to the new DLC is here -

https://store.steampowered.com/app/1222638/RetroArch__EasyRPG/

The user guides can be found here -
https://docs.libretro.com/library/easyrpg/
...