1. RetroArch
  2. News

RetroArch News

Geolith core added

We added a new core, Geolith. This brings the total number of available cores on Steam to 62 now.

Geolith is a highly accurate core for a popular console/arcade system released in the early 1990s, and surviving into the mid 2000s. It is written in modern C and takes a unique approach compared to other emulators for this system. This core focuses on providing a user experience similar to a traditional home console, both by defaulting to home console mode and the use of single-file game files. However, despite this focus, it also maintains full support for playing games in arcade form.

https://store.steampowered.com/app/2857800/RetroArch__Geolith/

RetroArch 1.17 – new netplay features

RetroArch 1.17 expands Netplay to support playing multiplayer games that were originally played on two or more separate consoles or computers connected together. This is currently supported by two cores: DOSBox Pure (not available on Steam) and gpSP (available on Steam).

https://store.steampowered.com/app/1227468/RetroArch__gpSP/

In DOSBox Pure it is now possible to play DOS and early Windows multiplayer games that used IPX, Ethernet or a modem over the internet.

In gpSP, games that support the Wireless Adapter can also benefit from this feature, although only a subset of games work well at the moment. Those curious about more details can read David G.F.’s article about the gpSP implementation here.

In order to use this new functionality just use the regular Netplay menu, where you can host and/or join netplay games. It works seamless with the existing Netplay feature (including lobbies) with no additional settings required. Make sure however, that you use the same or compatible games, since this won’t be automatically enforced.

RetroArch 1.17.0 release

RetroArch 1.17.0 has just been released.

Read the full article on our website here.

We also added a new core, PX68K. This brings the total number of available cores on Steam to 61 now.

https://store.steampowered.com/app/1227463/RetroArch__PX68k/

Changelog
  • ACCESSIBILITY/TTS: fix target language and missing espeak handling on Linux
  • AI: AI service reworked: performance increase, automatic translation, configurable subtitle placement, and more
  • APPLE: Fix WebDAV crash with digest auth (Cloud Sync)
  • APPLE: Cloud sync fixes
  • ignore .DS_Store files and re-sync on app foreground
  • APPLE: Don't re-create default directories
  • APPLE: Show Git information correctly
  • AUDIO/SYNC: Handle Hz skew adjustment for high refresh rates better (BFI, swap interval)
  • AUDIO/MIXER: Separate ffmpeg/mpv and audiomixer conditionals
  • AUDIO/WASAPI: Reworked shared buffer operation for more flexibility, fixed exclusive mode last buffer looping when entering menu
  • CONFIG/OVERRIDES: Fix setting savefile_directory in override file
  • CONFIG: Force fixed locale for numbers
  • CHEEVOS: Upgrade to rcheevos 11.0
  • CHEEVOS: Use rc_client for state management
  • CHEEVOS: Don't track disc changes when achievements are disabled
  • CHEEVOS: Reinitialize rewind buffer after loading game with achievements
  • CHEEVOS: Inform user when server is unreachable
  • CHEEVOS: Fix crash on first load of game with achievements with threaded video
  • EMSCRIPTEN: Increase chunk size for reads/writes
  • EMSCRIPTEN: Modularize the JavaScript and clean up the web build
  • EMSCRIPTEN: Prefix core name with libretro_ for exports
  • EMSCRIPTEN: replace dashes with underscores in corenames (fix for vitaquake cores)
  • EMSCRIPTEN: Use ZipFS for web player asset bundle
  • EMSCRIPTEN: Change default audio rate to 44100
  • INPUT: Fix ghost input when setting RETROK_UNKNOWN
  • INPUT: Default 'Bind Hold' to 0 to prevent problems with controllers not resting at null state
  • INPUT: Add a setting to allow turbo d-pad directions
  • INPUT: Don't save mouse buttons to autoconfig
  • INPUT/MENU: Add option for merging 'Hotkey Enable' device types
  • INPUT/mFI: disable secondary_joypad to prevent issues with controllers detected both as HID and mFI
  • INPUT/UDEV: Change event detection to polling in udev_joypad
  • INPUT/WAYLAND: Use unaccelerated pointer motion to prevent mouse dead zone
  • LAKKA: Add new menu options for Switch (overclock, CEC, BT ERTM)
  • LIBRETRO: Add environment command to get playlist path
  • LIBRETRO/NETPACKET:
    Switch environment call number from 76 to 78 (retire 76 as it was never used by any core)
    Simplify broadcasts by removing the option to send to all but one client, use an explicit RETRO_NETPACKET_BROADCAST constant instead
    Separate explicit flushing and querying of incoming packet into two operations
    Enable a core to specify a protocol version string which can get used instead of core version to determine compatibility between two players
    Log and notify a separate message when there is a content crc mismatch while using this interface to convey it being less severe
  • MENU: Fix menu analog stick navigation (1.16.0.1)
  • MENU: Add option to find thumbnail images by playlist rom filename (1.16.0.2)
  • MENU: Don't process menu events while input is being flushed (1.16.0.2)
  • MENU: Prevent proceeding to next bind when single binding (1.16.0.3)
  • MENU: Fix touchscreen menu false positives in case of overlap
  • MENU: Sort playlists ignoring extension (Playstation 2 should come after Playstation)
  • MENU: Treat System Volume Information folder as hidden on all platforms
  • MENU: Add Belarusian language option
  • MENU: Fix savestate thumbnail behavior when navigating back to playlist while content is still running
  • MENU: Fix word wrapped widget length
  • MENU: Add help text to controller drivers
  • MENU: Fix quit on content close option
  • MENU: Fix thumbnails in History for content loaded through Load Content
  • MENU: Flexible thumbnail matching (ROM name
  • database name
  • short name)
  • MENU: Remove legacy thumbnail pack downloader
  • MENU/GLUI: Icon corrections
  • MENU/OZONE: Thumbnail related fixes (missing thumbnail bar, fullscreen thumbnail flashing, sidebar focus)
  • MENU/RGUI: Fix text scaling in 16:9
  • MENU/XMB: Background images take precedence over color themes, default image opacity set the same as color theme opacity
  • MENU/XMB: Fix segmentation fault when background image is missing
  • MENU/XMB: Several corrections and cleanups
  • MENU/XMB: Layout/thumbnail fixes
  • Thumbnail layout adjustments, Header title improvements, Handheld layout adjustments
  • NETWORKING/NETPLAY: Add support for joining MITM servers from command line
  • NETWORKING/NETPACKET: Interface connection flow improvements
  • OSX: Fix mouse support for MelonDS DS on OSX
  • OSX: Option to create a portable build
  • PATCHES: Add support for XDelta-formatted patches.
  • PATCHES: Fix patching for cores that support contentless mode
  • RUNLOOP: Frame Rest, experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes
  • SCAN: Do CRC check on PSP/PSP(PSN) content
  • VIDEO/BFI: Black Frame Insertion added to DirectX10/11/12. BFI Hz range now covers every 60hz multiple under 1000hz. Variable Strobe length via new 'Dark Frames' option, algorithm to auto select 'decent' Dark Frames choice.
  • VIDEO/GLSL: Add FinalViewportSize support to GLSL
  • VIDEO/GLSL: Change rotation type to int to maximize compatibility
  • VIDEO: Use video refresh rate instead of core refresh rate for menu frame limiting
  • VIDEO: Limit paused video refresh rate
  • VIDEO: Enforce swap interval 1 in menu if vsync is on
  • WIN32: Prefer D3D11 and WASAPI as default video and audio drivers
  • WIN32: Fix window size when aspect ratio is < 0
  • WIN32: Fix screen resolution always tied to the main monitor
  • WAYLAND: Enable fallback for screensaver inhibit via D-Bus
  • WAYLAND: Introduce wp_fractional_scale_v1 protocol for proper fractional scaling
  • WAYLAND: Update wayland-protocols version to 1.31

RetroArch 1.16.0 release

RetroArch 1.16.0 has just been released.

Read the full article on our website here.

Changelog
  • AUDIO: Fast-Forward Audio Resampling
  • AUDIO: Reinit audio on audio sync toggle
  • AUDIO: Count audio samples in stats when rate control is disabled
  • AUDIO/PULSEAUDIO: Support device list for PulseAudio
  • AUDIO/WASAPI: WASAPI Frame Delay fix + cleanups
  • AUDIO/WASAPI/MIDI: Frame Delay correction
  • ARCHIVE/ZIP: Improve ZIP decompression This reduces the amount of memory Retroarch needs to extract a ROM file. It will only need the size of the ROM plus 128KiB to extract the file from the ZIP. Previously it needed as much as twice that amount if the compression ratio was not great. This is useful on memory constrained platforms and has no impact on platforms with plenty of memory. Handles all cases correctly (with and without MMAP, for cores that require fullpath or not, small and big ZIP files).
  • APPLE: Add default keyboard overlay directory to platform_darwin
  • APPLE: Update to MoltenVK 1.2.4
  • APPLE: Don't include MoltenVK library in Load Core menu list
  • APPLE: Enable AltServer JIT for builds installed by Xcode
  • APPLE: The default pthread stack size on Apple is too small for detect_ps2_game, so increase it
  • CHEEVOS: Upgrade to rcheevos 10.7
  • CHEEVOS: Don't initialize rcheevos memory unless used
  • CHEEVOS: Add progress tracker widget
  • CHEEVOS: Eliminate leaderboard tracker stutter
  • CHEEVOS: Expand leaderboard visibility settings
  • CHEEVOS: Collapse trackers with same value definition
  • CHEEVOS: prevent frame step when hitting rewind button while paused in hardcore
  • CHEEVOS: disallow video_swap_interval and black_frame_insertion in hardcore
  • CRT/SWITCHRES: Don't always force core aspect ratio
  • CRT/SWITCHRES: Fix aspect ratio for tate games on a horizontal screen
  • CRT/SWITCHRES: Add PAL threshold option for automatic refresh rate switch
  • CRT/SWITCHRES/KMS: Add KMS modeswitch
  • COMMAND: Make cmd interface more useful for replay information
  • CONFIG: Allow all systems to check for backslashes (Windows) as last slash in path. Improves portable core logic
  • D3D11: Fix memory corruption in d3d11_gfx_init
  • D3D12: Enable blending when drawing the menu
  • D3D12: Move fence signaling out of d3d12_gfx_sync
  • D3D12/LIBRETRO: Add D3D12 HW_render support
  • DOWNLOADS/THUMBNAILS: Prevent directory creation on bogus thumbnail downloads
  • EMSCRIPTEN: Fix Emscripten sleep function/macro
  • EMSCRIPTEN/RWEBAUDIO: Fix RWebAudioInit race condition
  • EMSCRIPTEN/OPENAL: Make openal default audio driver
  • FFMPEG: Fix RetroArch fails to restart streaming when video re-inits and instead starts recording
  • FRAMESKIP: Use refresh rate instead of core fps for frameskip timing
  • INPUT: Combo hold + 'enable_hotkey' correction. Fixed issue with having menu toggle hold combo in different button than 'enable_hotkey', which caused 'enable_hotkey' to also act as menu toggle if held long enough, and simplified and unified duplicate code in start+select holds to a single function.
  • INPUT: input_keyboard_event: Don't check hotkey binds when device is RETRO_DEVICE_POINTER
  • INPUT: Add input_keymaps_translate_rk_to_ascii() for correct character input to input_keyboard_event
  • INPUT: input_overlay_poll: Delay clearing INPUT_OVERLAY_BLOCKED flag until there is no overlay input (Avoids stray input after osk_toggle)
  • INPUT: Send keyboard events for modifiers before other keys (for correct modifier+key input if hitboxes overlap)
  • INPUT: Remember currently set keyboard mapping bits during same config read, because otherwise customized keybinds can get cleared out of the bits on the next iteration, causing keyboard events to get passed to the core when they should get blocked.
  • INPUT/AUTOCONFIG: Reinit after updating autoconf profiles
  • INPUT/LINUX/UDEV: Log mouse devices in info level
  • INPUT/LINUX/UDEV: First working version of udev driver with touchscreen support and gestures.
  • INPUT/WAYLAND: Add wayland to input driver list
  • INPUT/MENU: move port X binds into retropad binds submenu and add appropriate help text and sublabels to discourage people from messing around in there unnecessarily
  • INPUT/MENU: Add menu icons to 'RetroPad Binds'
  • INPUT/MENU/OSK: Allow more keyboard actions with menu osk
  • INPUT/REMAP: Remap label fix when no autoconf profile active
  • INPUT/REMAP: Add 'Save As' option for remaps and overrides
  • INPUT/OVERLAY: Add overlay parameter to control x/y separation in auto-scale mode
  • INPUT/OVERLAY: Revive/rewrite Keyboard Overlay and OSK Toggle. Add keyboard overlay preset, keyboard submenu, and osk_toggle hotkey. Use overlay caching for osk_toggle.
  • INPUT/OVERLAY: Overlay Caching. Adds overlay_cache_ptr to keep a disabled overlay in memory when it's expected to be shown again. Most input_overlay_deinit calls are replaced with input_overlay_unload, which caches the overlay unless initing/deiniting core or disabling overlays. Loading a cached overlay is done as a swap, intended for osk_toggle.
  • INPUT/OVERLAY: Add input_overlay_check_mouse_cursor() to preserve show/hide mouse behavior
  • INPUT/OVERLAY: Don't apply input_overlay_show_mouse_cursor in windowed mode (controlled by mouse grab only)
  • INPUT/REMAPPING: Stop always reseting to defaults on remap delete
  • INPUT/SDL: Fix rumble on PS4/PS5 controllers connected via bluetooth
  • INTL: Fix language detection in Canada to English
  • LANGEXTRA: Enable language autodetect for all builds with LANGEXTRA
  • LIBRETRO: Add new context hardware render enums - enables autodetection of DX12 for PS2 core
  • LIBRETRO: Add API to check JIT availability on iOS
  • LIBRETRO: Allow RETRO_ENVIRONMENT_SET_MEMORY_MAPS also after core startup. Change the comment in libretro.h about the removed limit and handle the environment call during core runtime in RetroArch.
  • LIBRETRO/MICROPHONE: Add new API for microphone support.
  • LIBRETRO: Add new API for querying the device's power state.
  • LIBRETRO/VFS: Rewrite retro_vfs_file_remove_impl
  • LINUX: Input driver fix 8+ joypads. It was reported that controllers beyond 8 worked only partially (analogs yes, but not buttons), and the found fix was also confirmed.
  • MIDI: Show MIDI output first
  • MENU: Reorganize 'Saving' menu
  • MENU: Start directory browsing from current value
  • MENU: Fix menu toggle combo hold with same 'enable_hotkey'
  • MENU: Add menu scroll home+end actions
  • MENU: Move 'systemfiles_in_content_dir' from Saving to Core
  • MENU: Menu navigation acceleration adjustments
  • MENU: Audio synchronization menu cleanup
  • MENU: Menu value label cleanup
  • MENU: Show playlist history/favorites icons by default
  • MENU: Remove advanced option flag from video rotation + orientation
  • MENU: Combine audio resampler menu with audio output menu
  • MENU: Microphone menu cleanup
  • MENU: Add missing menu visibility option for content dir override
  • MENU: Fix menu refresh in action_ok_network
  • MENU: Video settings menu cleanup
  • MENU: Try to declutter Quick Menu
  • MENU: Change network port menu options to 'allow_input' mode
  • MENU: Preselect current core in "Set Core Assocation" menu for more carefree usage
  • MENU: Focus back to "Set Core Association" item after returning from the menu instead of first item
  • MENU: Replaced hack fix for focusing the first item after returning from core suggestion "Run" menu after association reset
  • MENU: Fixed setting core association in history/favorites after resetting it and running without setting
  • MENU: Relocate playlist manager core association options to prevent accidental resets with Start
  • MENU: Fraction setting wraparound rounding correction
  • MENU: Add more missing sublabels
  • MENU: 'Updater Settings' relocation
  • MENU: Search box usability improvements
  • MENU/RGUI: Implement 'Remember Selection' option
  • MENU/RGUI: Fix savestate thumbnail fullscreen cancel action
  • MENU/RGUI: Fix and add toggle for playlist thumbnails
  • MENU/OZONE: Update Dracula theme
  • MENU/OZONE: Return to sidebar from playlist manage quick access
  • MENU/OZONE: Sidebar multiline scrolling
  • MENU/OZONE: Avoid crash if ozone sidebar_index_size is 0
  • MENU/OZONE: Prevent metadata and footer overlap
  • MENU/OZONE: Sublabel width tweak
  • MENU/OZONE: Mouse hover selection fix
  • MENU/XMB: Message/help box adjustments
  • MENU/XMB: XMB menu playlist index bugfix
  • MENU/XMB: Playlist label limit fixes
  • MENU/XMB: Prevent playlist label truncating long items even when right thumbnail is not enabled/visible
  • MENU/XMB: Prevent playlist label length resetting to full width on every item change while thumbnail is pending
  • MENU/XMB: Stop showing playlist entry index outside of playlists
  • MENU/XMB: Fix menu focus issue when returning from "Set Core Association" if playlist index is greater than the previous menu
  • MENU/EXPLORE: Prevent flashing when browsing fullscreen thumbnails
  • MENU/EXPLORE: Match label ticker length behavior with playlists
  • MENU/SOUNDS: Fix certain audio drivers from hanging when menu pause is enabled with menu sounds
  • MENU/SOUNDS: Fix menu sounds stopping after fullscreen toggle / video reinit
  • MENU/QT/WIMP: Cleanup Desktop Menu welcome text
  • MENU/OVERLAYS: Reorder overlay menu
  • MICROPHONE: Add support for microphones.
  • MICROPHONE/ALSA: Add alsa and alsathread microphone drivers.
  • MICROPHONE/SDL: Add sdl2 microphone driver.
  • MICROPHONE/WASAPI: Add wasapi microphone driver.
  • MOBILE: On mobile in portrait mode, don't override custom viewport
  • NETWORKING: Enhance netpacket interface
  • NETWORKING/NETPLAY: Enable core host to refuse connecting new players to limit the number of connected players
  • NETWORKING/NETPLAY: Enable a core to flush outgoing packets and read incoming packets without waiting for the next frame (can be used for lower latency or blocking reads)
  • OPENDINGUX/RG350: Enable networking for RG350
  • OPENGL/WAYLAND: Add frame callback after egl_swap_buffers to improve latency when max_swapchain
  • OSD/STATISTICS: Show current video + audio drivers in statistics
  • OSD/STATISTICS: Ensure statistics text is aligned left
  • OSX/MACOS: Fix steam OSX core path
  • OSX/MACOS: Add HAVE_STDIN_CMD support
  • OSX/MACOS: fix mouse grab in windowed mode
  • OSX/MACOS/IOS/TVOS: Enable SSL in macos/ios/tvos builds
  • PLAYLIST: Change default playlist last played time format
  • RUNLOOP: Don't count frames while paused
  • SERENITYOS: Add SerenityOS to the list of supported operating systems
  • SCANNER: Improve scanner console output
  • SCANNER: More scanner console output coloring
  • SCANNER: Improve CLI scan console output
  • SCANNER: Add content import/scan via CLI
  • SCANNER/PS1: Serial extraction is now considered a failure if PSX.EXE is found, allowing CRC fallback and actually fixing the game scanning
  • VIDEO: Correct rotated core provided aspect ratio
  • VIDEO: Minor adjustments to refresh rate switch behavior
  • VIDEO: Fix windowed viewport with libretro rotation
  • VIDEO/SDL2: Use "nearest" scaling in menus
  • TASKS: Fix corrupt task progress percentage
  • XVIDEO/MENU: Add menu support to xvideo gfx driver, making it usable
  • UWP: Fix modifier keys ( shift, ctrl, alt ) as well as F10 not being detected on the UWP platform
  • VULKAN: Ignore Fast-Forward Frameskip option
  • VULKAN/KHR_DISPLAY: Support screen refresh rate with Vulkan KHR_Display context
  • WIN32: Increase maximum window limit
  • WIN32/WINDOWSXP/MSVC2010: Fix invisible menu display
  • WAYLAND: Remove splash screen
  • WAYLAND: Check for pointer before locking it
  • WAYLAND: Add mouse grab/lock functionality
  • WAYLAND: Get system wayland-protocols path via pkg-config

DirkSimple core added + RetroArch update

We added a new core, DirkSimple. This brings the total number of available cores on Steam to 60 now.

DirkSimple is a core written from scratch by icculus, one of the original creators/maintainers of popular open source projects like SDL. It can play some of the 1980s LaserDisc arcade games.

https://store.steampowered.com/app/2342900/RetroArch__DirkSimple/?curator_clanid=35417007

[previewyoutube][/previewyoutube]

RetroArch 1.15.0 updated


A maintenance update/fix has been pushed for 1.15.0. This replaces the current 1.15.0 version.

New changes:
- INPUT/AUTOCONFIG: Check for 'enable_hotkey' also from autoconf binds
- LIBRETRO-COMMON/VFS/FILESTREAM: Fixes filestream_vscanf regression
- MENU/XMB: Horizontal icon animation fix
- OSD/STATISTICS: Notification font + statistics adjustments
- OSD/STATISTICS: Finetuned statistics layout to be more compact and aligned
- OSD/STATISTICS: Group Run-Ahead and Frame Delay as "Latency"
- OSD/STATISTICS: Try to scale font as small as possible/readable if stats won't fit
- OSD/STATISTICS/FONT: Allow reseting notification font with RetroPad Y to "null", which uses the fallback pixel font
- OSD/STATISTICS/FONT: Show "Default" instead of empty with default font
- OSD/STATISTICS/FONT: Start browsing font from assets instead of root
- WIN32: Ignore window limiting with fixed position. The other resizing part already took this into account, but WM_GETMINMAXINFO did not.