Version 1.19.1 is a patch for 1.19.0 with just fixes for issues noticed after 1.19.0.
Here's the changelog (full changes at https://www.libretro.com/index.php/retroarch-1-19-0-release/) for 1.19.0.
Most changes are related to iOS/macOS, now that RetroArch is published in Apple's AppStore.
* General
- Add compatibility with FFMPEG 7.0
- Fix for scanning PSP ISOs (and probably few others)
- Fix save new config name when core loaded
- Fix core config saving
- (XMB) New theme: FlatUX, designed to merge FlatUI and Retroactive themes into a single, unified design
- Set compute fps stats logging to debug level
* Cheevos
- Update to rcheevos 11.3
- Fix hardcore acting as if it’s enabled when it isn’t
- Revert AI translation to previous version (fix for translation not working with HW rendered cores)
- Build a default RetroAchievements memory map when no RetroAchievements game is loaded
* Input
- Add support for multimedia keys – Extended RETROK_ values with 18 new items, commonly found on “multimedia” keyboards. Mapping added for SDL, X11, Wayland, dinput, winraw keymaps.
* Video
- Fix reinitialization of the threaded gl drivers
- Fix crash when using threaded video – for Mesa 23.2 and later
- Add support for A2R10G10B10 HDR format in Vulkan
- Implement HDR readback – screenshot support - for Vulkan
Previous commit removed the `retroarch.cfg` from upstream. While the configuration will set the right options in a new config file, we traditionally used the upstream's config as starting point, since it's largely commented and provides pointers for various configuration options.
Restore the previous behavior by including the upstream `retroarch.cfg` in `$md_inst`, since the makefile doesn't copy it during the install target.
Upgraded RetroArch to version 1.18.0. Notable changes, cherry-picked from:
- https://www.libretro.com/index.php/retroarch-1-17-0-release/
- 9e492f74c8
* Netplay
- expanded the protocol to allow multiplayer games running on separate consoles/computers.
Cores like 'Dosbox-Pure' or 'gPSP' support the new protocol.
- add support for joining MITM servers from command line
* Cheevos
- upgrade to v11.0
- don’t track disc changes when achievements are disabled
- inform user when server is unreachable
- fix crash on first load of game with achievements with threaded video
* Input
- fix ghost input when setting RETROK_UNKNOWN
- default ‘Bind Hold’ to 0 to prevent problems with controllers not resting at null state
- don’t save mouse buttons to autoconfig
- add a setting to allow turbo d-pad directions
- change event detection to polling in udev_joypad
- add option for merging ‘Hotkey Enable’ device types
- fix input state combos including R3 and false triggers of RETROK_UNKNOWN (1.18.0)
- add a new turbo mode, "Classic (Toggle)" (1.18.0)
- limit axis threshold setting to sensible values (1.18.0)
* Menu
- fix menu analog stick navigation (1.16.0.1)
- fix word wrapped widget length
- fix quit on content close option
- don’t process menu events while input is being flushed (1.16.0.2)
- add help text to controller drivers
- fix text scaling in 16:9 (RGUI)
- thumbnail related fixes (missing thumbnail bar, fullscreen thumbnail flashing, sidebar focus, OZONE)
- background images take precedence over color themes, default image opacity set the same as color theme opacity (XMB)
- fix segmentation fault when background image is missing (XMB)
- layout/thumbnail fixes – Thumbnail layout adjustments, Header title improvements, Handheld layout adjustments (XMB)
- add sublabels for input bind common entries (1.18.0)
- don't disable fast forward when entering menu (1.18.0)
- add option to disable initial disk change (1.18.0)
- visibility option for disk control notifications (1.18.0)
* Video
- use video refresh rate instead of core refresh rate for menu frame limiting
- limit paused video refresh rate
- enforce swap interval 1 in menu if vsync is on
- add FinalViewportSize support to GLSL
- change rotation type to int to maximize compatibility
* Patching
- add support for XDelta-formatted patches.
- fix patching for cores that support contentless mode
* Other
- Frame Rest, experimental sleep feature aiming to lower CPU usage and temperature when using certain CPU hungry vsync modes
- introduce wp_fractional_scale_v1 protocol for proper fractional scaling (Wayland)
- update wayland-protocols version to 1.31 (Wayland)
RetroPie module changes:
- make `iniConfig` use the same parameters every time
- removed spurious `ret` files on `_install`
- set `input_overlay_enable` to enabled, since the default changed (to 'false') in 1.17.0.
It helps overlay users that didn't explicitely set this parameter in the overlay overrides they're using.
- set `sort_savestates_enable` and `sort_savefiles_enable` to `false`, since in 1.18.0 RetroArch would otherwise create sub-folders under the content path folder for save states and save files (`.srm`) (see RA issue https://github.com/libretro/RetroArch/issues/16430).
gfx/video_crt_switch.c doesn't currently build on videocore, due to definition of sr_state being in deps/switchres/switchres_wrapper.h which is not included on videocore.
Upgraded RetroArch to current v1.16.0 version and added a new configuration option to disable creation of runtime logs (saved when the content is closed by the core).
Notable changes in v1.16.0, selected from the full release announcement (https://www.libretro.com/index.php/retroarch-1-16-0-release/):
General:
- Add new API for microphone support (no core supports this at the moment)
- Make cmd interface more useful for replay information
- Use refresh rate instead of core fps for frameskip timing
- 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.
- Add new API for querying the device's power state.
- Don't count frames while paused
- 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).
- Fix corrupt task progress percentage
Netplay/Networking:
- Enhance netpacket interface
- Enable core host to refuse connecting new players to limit the number of connected players
- 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)
Video:
- (SWITCHRES) Don't always force core aspect ratio
- (SWITCHRES) Add PAL threshold option for automatic refresh rate switch
- (SWITCHRES) Add KMS modeswitch
- Correct rotated core provided aspect ratio
- Minor adjustments to refresh rate switch behavior
- Use "nearest" scaling in menus (SDL2 video driver)
- Fix windowed viewport with libretro rotation
- Add frame callback after egl_swap_buffers to improve latency when max_swapchain <= 2
- (VULKAN) Ignore Fast-Forward Frameskip option
- (VULKAN) Support screen refresh rate with Vulkan KHR_Display context
Audio:
- Fast-Forward Audio Resampling
- Count audio samples in stats when rate control is disabled
- Support device list for PulseAudio
- Show MIDI output first in settings
- Fix RetroArch fails to restart streaming when video re-inits and instead starts recording
Cheevos:
- Upgrade to rcheevos 10.7
- Add progress tracker widget
- Collapse trackers with same value definition
- Eliminate leaderboard tracker stutter
- Expand leaderboard visibility settings
- disallow 'video_swap_interval' and 'black_frame_insertion' in hardcore
Input:
- (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.
- 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.
- Don't check hotkey binds when device is RETRO_DEVICE_POINTER
- Add 'Save As' option for remaps and overrides
- Send keyboard events for modifiers before other keys (for correct modifier+key input if hitboxes overlap)
- Log mouse devices in info level (udev driver)
- First working version of udev driver with touchscreen support and gestures.
- Add Wayland to input driver list
- 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.
- move port X binds into retropad binds submenu and add appropriate help text and sublabels to discourage people from messing around in there unnecessarily
- Revive/rewrite Keyboard Overlay and OSK Toggle. Add keyboard overlay preset, keyboard submenu, and osk_toggle hotkey. Use overlay caching for osk_toggle.
- Stop always reseting to defaults on remap delete
- Fix rumble on PS4/PS5 controllers connected via Bluetooth with the SDL2 input driver
Menu:
- Reorganize 'Saving' menu
- Start directory browsing from current value
- Fix menu toggle combo hold with same 'enable_hotkey'
- Various cleanups and labels additions/updates
- Change network port menu options to 'allow_input' mode
- Add menu scroll home+end actions
- Move 'systemfiles_in_content_dir' from Saving to Core
- Menu navigation acceleration adjustments
- Remove advanced option flag from video rotation + orientation
- Add missing menu visibility option for content dir override
- Fix certain audio drivers from hanging when menu pause is enabled with menu sounds
- (OSD) Show current video + audio drivers in statistics
- (OSD) Ensure statistics text is aligned left
- Fix menu sounds stopping after fullscreen toggle / video reinit
- Search box usability improvements
- Fraction setting wraparound rounding correction
Updated the script for v1.15. Pull from https://github.com/cmitu/retroarch/tree/retropie-v1.15.0 into https://github.com/retropie/retroarch/ for our patches on-top of the lastest v1.15.
Changed a few options in the default config:
- removed some rarely used Quick Menu actions to shorten it by default. Rewind/Replay/Record have been toggled off.
- changed the default RGUI look & feel by configuring it to use the 'Tango Dark' theme, similar to the default RGUI theme.
- removed the core cache info file read/writing, since it's not useful for our configuration.
Biggest breaking change since v1.12 is the hotkey handling for keyboard inputs. Previously, when a gamepad was connected and keyboard didn't define any hotkey enable key, the hotkey action on the keyboard would trigger only when the hotkey enable btn on the gamepad was pressed. Current behavior is to trigger the hotkey action on the keyboard without the hotkey btn pressed. Note that this mainly affects configurations when keyboard/gamepad were used simultaneously, for standalone keyboard based configurations the difference wouldn't matter.
The hotkey btn regression I reported was fixed in the re-release (!) of v1.15 and it's part of our RetroPie branch.
Here's an abriged changelog for v1.13-v1.15, focused on new features/updates and major bugfixes.
Detailed changelogs:
* 1.13 - https://www.libretro.com/index.php/retroarch-1-13-0-release/
* 1.14 - https://www.libretro.com/index.php/retroarch-1-14-0-release/
* 1.15 - https://www.libretro.com/index.php/retroarch-1-15-0-release/
* 1.15 redo - https://www.libretro.com/index.php/dirksimple-core-added/
* General
- Start unpause restriction. Limit the feature using retropad start button to unpause RA to the setting it was made for; "pause on controller disconnect".
- Ignore system subdir replacement if subdir has subdirs.
- Add support for system subdirs per core/database. Added the trivial and graceful automatic ability to send a different system directory to cores if it exists, for keeping the system dir more sane. First by using the core/library name just like in configs and saves, and then by playlist name, like in thumbnails, and of course default to the current global system dir.
- Restore cached video driver always on quit
- Added _Automatic Frame Delay_ Helped delay to decrease easier when it should and helped delay to stay put when it should when triggering pause & menu with or without pause & fast-forward & slow-motion & geometry change
- Add _Preemptive Frames_ to Latency Settings, RunAhead alternative that reruns core logic to "rewrite history" before the current frame. Frames are only rerun when the controller state changes, so it’s faster overall.
- Allow selecting -1 Auto slot with hotkeys
- Allow wrap-around from -1 to 999 save states and backwards
- Show failure message when trying to load a state that does not exist instead of plain “Loading state”
- Shorten the duration of save slot change notification
- Change the Save States widget type to the same type as shader toggle for better back and forth action.
- Allow manual video swap interval forcing. The addition of auto swap interval effectively prevented manual forcing, which is beneficial when the rate is not reported properly. Therefore use the interval in the calculation only when using automatic interval.
- Restore framelimit on fastforward toggle. Fast-forward was broken after toggling vrr_runloop off, since it will force frame limit to 1.0 (even on every frame) and never restores it. So let’s make sure the wanted ratio is applied when toggling FF (Fastforward).
- Don’t init SRAM saving without content (gets rid of the redundant logging)
- Use non-rendering pause mode when frameadvance is triggered
- Core option setting type checks. Added checks for getting and setting core option type, since otherwise there will be a crash on close content after browsing to core option categories. Also fixed the no-show switch icon for lone wolf "Lock Installed Core"
- Restore framelimit on fastforward toggle
* Cheevos
- Allow repositioning of RetroAchievement notifications
- MENU: Add Achievements Visibility submenu option
- MENU: Startup Summary split off from Verbose Mode, added option to hide for games with zero core cheevos
- MENU: ‘Unlocks/Mastery’ split into two options
- MENU: ‘Account/Login Messages’ split off from ‘Verbose’, gated all login success/error messages
- Fix construction of Cheevos badge path
- Upgrade to rcheevos 10.5
* Input
- Fixed the way devices were previously indexed. Input devices were only being indexed in order and would stop at the first time an input has no device connected to it. The problem is when a device gets disconnected, that input will have no devices connected to it, but the next input may still have a device connected. So, that makes changing the port of the currently connected devices impossible.
- Add option for pause on controller disconnect
- Enable menu navigation also with right analog stick
- Add option for pause on controller disconnect
- Add option for swapping menu scrolling buttons
- Hotkeys - Fix shader toggle and add hotkey + sublabel
- Hotkeys cleanups and corrections
* keep hotkey pause and menu pause separate in order to not trigger unwanted pause when toggling menu regardless if menu will pause or not
* allow unpausing with Start (makes resuming more convenient after controller disconnect if menu does not pause)
- Don't show override notification with appendconfig alone
- Further reorder internal hotkey items for consistency and removed SEND_DEBUG_INFO, OVERLAY_NEXT and OSK from visible hotkey bind list.
- Disable "pause on controller disconnect" by default
- Device Index menu refactor
- Allowing keyboard hotkeys to work without hotkey modifier if modifier is only mapped to RetroPad
- Allowing keyboard hotkey keys for typing if hotkey modifier is set to keyboard but not pressed
- Allowing keyboard RetroPad keys for typing if emulated device type is "None"
- (Linux/udev) Fix udev guns input when id_mouse is not id_joystick
- Check for "enable_hotkey" also from autoconf binds (1.15bis)
- Unload restores current global config
- Saving an empty override removes the file if it exists, and won’t save when it does not
- Removing a file does not unload current override
* Shaders - added stacking shader presets
* Menu
- Rename "Standalone Cores" to "Contentless Cores"
- Relocated items to a more logical order
- Corrected some title capitalizations
- Allow toggling info off with the same button
- Allow menu wallpaper/background reset.
- Cleanup of help texts
- Add dropdown menu for audio device
- Help for turbo modes (#14919). Help text added for each of the selectable turbo modes.
- Allowed and fixed input bind saving to overrides
- Overhauled override menu, override bind save + menu manager overhaul
- Allowed and fixed input bind saving to overrides
- Add unified back action to all menu drivers.
- Pressing Start on the top active file entry reloads current overrides as startup would
- Added missing icons in cheats
- Fix disabled menu item color on RGUI. The effect was not working properly, since transparency meant using the core output color as background.
- Fixed label capitalization in cheats
- Add scrolling sounds for RGUI, XMB, MaterialUI and Ozone.
- Better scrolling sound implementation, add new "notice back" sound
- Show square sized widget on volume mute
- Various fixes and improvements for XMB, Ozone and MaterialUI drivers
- Notification font + statistics adjustments for OSD
- Show Frame Delay without VSync
- Fix RGUI on Vulkan on platforms that don’t have _pack16 VkFormats
When the upstream info repository adds an `.info` file we also generate, `git` will refuse the pull done during the update of the info files.
Just remove the files before the update and add them after `git` synchronizes with upstream.
Removed the Mess core info files, which triggered this bug initially.
There was a mix of compareVersions "$__os_debian_ver" OP $arg and [[ "$__os_debian_ver OP $arg ]] around the code.
As $__os_debian_ver is always an integer, use the bash built in operators for performance.
The compareVersions call is significantly slower as it uses an external command (dpkg).
Scriptmodule changes:
1. Added a few more default options to the main config:
- `remap_save_on_exit` set to false (new option), since by default input remapping will be auto-saved on exit.
Prevents users accidentally messing their controls and keeps the behavior similar to the previous versions.
- `menu_disable_search_button` set to `true` (new option) instead of using our patch for disabling the Search action.
- (cosmetic) disabled some Quick Menu items (Overlay and Favorites).
2. Removed `rgui_show_start_screen`, since it's now `false` by default.
---------------------------------------------
RetroArch changes between v1.10.0 and v1.11.0, cherry-picked the user-facing/RetroPie relevant changes.
* RetroAchievements:
- Upgrade to rcheevos 10.4 (1.11.0)
- Allow creating auto savestate in hardcore (1.11.0)
- Release achievement badge textures when video driver is deinitialized (1.11.0)
- Re-enforce hardcore limitations once achievements are loaded (1.11.0)
- Support for Arduboy (1.10.2)
- Add mastery placard (1.10.1)
- More description message for missing RetroAchievements credentials (1.10.1)
- Support for identifying Dreamcast CHDs (1.10.1)
* Menu improvements and additions
- XMB: Remember selection per main tabs. Addresses the following : collection playlists can contain hundreds or thousands of items. When scrolling through one, pressing left or right by accident can be common. This resets the playlist to the top (1.12.0)
- Add View feature – Add saving of a filter set in the Explore menu into a so called “View” file which then gets listed alongside playlists. This also adds the ability to filter a category by range in the Explore menu and not just filter on exact matches. (1.12.0)
- Better Disc Control append focus (1.11.0)
- Menu paging navigation adjustments (1.11.0)
- New Menu Items for disabling Info & Search buttons in the menu (1.11.0)
- Allow the user to use volume up/down/mute hotkeys from within the menu (1.11.0)
- Add missing sublabels for non-running Quick Menu (1.11.0)
- Reorganize Quick Menu Information (1.11.0)
- Savestate thumbnails – Savestate slot reset action (1.11.0)
- Allow changing savestate slots with left/right on save/load (1.11.0)
- Add proper icons for shader items (1.11.0)
- Show core version (1.10.1)
- XMB: Add options for hiding header and horizontal title margin (1.11.0)
- XMB: Dynamic wallpaper fixes (1.11.0)
- XMB: Add Daite XMB Icon Theme (1.11.0)
- XMB: Add title margin adjustment (1.10.2)
- XMB: Vertical fade corrections (1.10.2)
- OZONE: Fix playlist thumbnail mouse hover after returning from Quick - (1.11.0)
- OZONE: Thumbnail visibility corrections (1.11.0)
- OZONE: Playlist metadata reformat (1.11.0)
- OZONE: Savestate thumbnail fixes (1.11.0)
- OZONE: Add savestate thumbnails (1.11.0)
- OZONE: Header icon spacing adjustment (1.11.0)
- 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. (1.10.2)
- OZONE: Add ‘Gray Dark + Light’ themes (1.10.2)
- OZONE: Add thumbnail scale option (1.10.2)
- XMB/OZONE: Savestate thumbnail aspect ratio (1.11.0)
- XMB/OZONE: Core option category icon refinements (1.11.0)
- XMB/OZONE: Fullscreen thumbnail browsing (1.11.0)
- XMB/OZONE: Add playlist icons under ‘Load Content’ (1.11.0)
- XMB/OZONE: Thumbnail improvements (1.11.0)
- XMB/OZONE: Savestate thumbnail fullscreen + dropdown (1.11.0)
- XMB/OZONE: Prevent unnecessary thumbnail requests when scrolling through playlists (1.11.0)
- WIDGETS: Widget color + position adjustments (1.11.0)
- SETTINGS: Add sublabels for ‘Subsystems’ and ‘Input Deadzone/Sensitivity’ (1.10.3)
- SETTINGS: Move ‘On-Screen Notifications’ to top (1.10.3)
- SETTINGS: Remove ‘Advanced Settings’ flag from ‘Settings > Core’ - (1.10.2)
- SETTINGS: Turn Advanced Settings on by default, this entire filtering of settings will need a complete rethink anyways (1.11.0)
- RGUI: Savestate thumbnails (1.11.0)
- RGUI: Add 6×10 extended ASCII and Latin Extended A and B fonts. These will enable most Latin alphabets to be displayed in RGUI. (1.10.2)
- RGUI: Add ‘Gray Dark + Light’ themes (1.10.2)
- RGUI: Add dynamic theme (1.10.1)
* Netplay has been given a lot of attentions and received quite a few gameplay and interface improvements
- Disable and hide stateless mode (1.11.0)
- Change default for input sharing to “no sharing” (1.11.0)
- Enforce a timeout during connection (1.11.0)
- Disallow clients from loading states and resetting (1.11.0)
- Ensure current content is reloaded before joining a host (1.11.0)
- Fix client info devices index (1.11.0)
- Fix input for some cores when hosting (1.11.0)
- Force a core update when starting netplay (1.11.0)
- Support for customizing chat colors (1.11.0)
- Support for banning clients (1.11.0)
- Support for gathering client info and kicking (1.11.0)
- Netplay/LAN Discovery Task refactor – aims to prevent blocking the main thread while awaiting for the LAN discovery timeout; This is accomplished by moving the whole discovery functionality into its task and using a non-blocking timer to finish the task. Also fixes discovery sockets not being made non-blocking, which could cause the main thread to hang for very long periods of time every pre-frame. (1.11.0)
- LOBBY: Add setting for filtering out rooms with non-installed cores (1.11.0)
- LOBBY: Hide older (incompatible) rooms (1.11.0)
- LOBBY: Add a toggleable filter for passworded rooms. In addition, move lobby filters into its own submenu for better organization. (1.11.0)
- Chat supported info for the host kick submenu (1.11.0)
- Host Ban Submenu (1.11.0)
- Add client devices info to the kick sub-menu (1.11.0)
- Support for banning clients. (1.11.0)
- Disable savestates on stateless mode (1.10.1)
* Input system additions and changes
- Fix off by one error for input_block_timeout setting. Also default to 0 for this setting (performance gain) (1.11.0)
- Analog button mapping fixes (1.11.0)
- Fix analog stick not working with ‘Unified Menu Controls’ (1.10.2)
- Added hotkey for toggling sync to exact content framerate (1.10.2)
- Prevent log spam when using rewind hotkey with cores that don’t support rewind, if rewind functionality itself is disabled (1.10.2)
- HID/LINUX: (qb) Disable HAVE_HID by default for now for Linux as long as there are no working backends for both (1.11.0)
- LINUX/UDEV: Fix lightgun scaling on Y axis (1.11.0)
- LINUX/X11/LED: Add LED keyboard driver (1.11.0)
- REMAPPING: Add option to disable automatic saving of input remap files (1.11.0)
- MAPPING: Fix offset + crash when clearing input port binds (1.10.3)
- MAPPING: Fix saving of ‘Analog to Digital Type’ when configuration overrides are used (1.10.3)
- MAPPING: Add ‘Manage Remap Files’ submenu + automatically save input remaps when closing content (1.10.2)
- MAPPING: Add ‘Reset Input Mapping’ option to ‘Manage Remap Files’ menu (1.10.2)
- MAPPING: Fix keyboard device remap nulling (1.10.2)
- WAYLAND: Allow toggling mouse grabs (1.10.1)
- WAYLAND: Release keys and mouse buttons on lost focus (1.10.1)
* Database scanner additions:
- Fix Redump bin/cue scan for some DC games (1.11.0)
- Add RVZ/WIA scan support for GC/Wii (1.11.0)
- Improved success rate of Serial scanning on PS1 by adding support for the xx.xxx format (1.11.0)
- Serial scanning for Wii now includes WBFS (1.10.3)
* Video/Graphics improvements and changes:
* Add conditional support for OpenGL ES 3.x (1.12.0)
* Fix screenshot widget crash with Vulkan driver when ticker animating (1.12.0)
* Avoid ‘video_gpu_screenshot’ with savestates (1.11.1)
* Fast-Forward Frameskip improvement (1.10.3)
* Stability fixes for threaded video (1.10.3)
* Fix readability and precision issues in aspectratio_lut (1.11.0)
* Add option to manually enable/disable automatic refresh rate switching (1.11.0)
* Enable automatic configuration of ‘VSync Swap Interval’ (1.11.0)
* Thumbnail aspect ratio fix (1.11.0)
* Optimizations, fixes and cleanups for threaded video (1.11.0, 1.10.3)
* Fast-Forward Frameskip improvement (1.10.3)
* Other changes and fixes:
* Allow use of –appendconfig with override cfgs instead of getting ignored (1.12.0)
* Disable save states based on save state support level defined in core info files (1.10.1)
* Allow setting the default libretro_directory via environment variable (1.10.1)
* Add optional frame skipping when fast-forwarding (1.10.1)
* Fix building against FFmpeg 5.0 (1.10.1)
Official changelog posts:
* v1.10.1: https://www.libretro.com/index.php/retroarch-1-10-1-release/
* v1.10.2: https://www.libretro.com/index.php/retroarch-1-10-2-release/
* v1.10.3: https://www.libretro.com/index.php/retroarch-1-10-3-release/
* v1.11.0: https://www.libretro.com/index.php/retroarch-1-11.0-release/
* v1.11.1: https://www.libretro.com/index.php/retroarch-1-11-1-release/
* v1.12.0: https://www.libretro.com/index.php/retroarch-1-12-0-release/
Upstream core info repository doesn't contain core info files for:
* Mupen64Plus (obsolete upstream, the Plus/Next variant is the only one that has core info). Based on Mupen64Plus-Next core info file
* Mess (upstream doesn't build/distribute it). Based on the Mame core info file
* Mess2016 (upstream doesn't build/distribute it). Based on the Mame2016 core info file
This should complement 55aab04a6b, where core info files have been added to RetroPie's RetroArch installation.
In the end, I think the `retroarch` package is the place to add the extra info, since they're only consumed by the front-end, plus it's less files needed to be modified.
Core info files are needed starting from 1.10.1 in order to enable save/load state, rewind, runahead, (disk control ?).
In addition to that, they're needed for netplay clients to work (see issue #3161).
* dropped hotkey hack patch as now integrated with config option input_hotkey_block_delay with default of 5 (as was our patch)
* rebased disable search patch (code moved back to retroarch.c for now)
* rebased / updated shader path config enable patch (thanks @cmitu)
* revert the default saves/states/sytem path change as we rely on the old behaviour
* default to using ON/OFF text instead of rgui_switch_icons graphics
* added gles3.1/3.2 configure parameters using gles31/gles32 flags
* added gles31 flag to rpi4 system. Mali boards should support 3.2 but need to test before adding
If we have a custom config with
#include "/opt/retropie/configs/all/retroarch.cfg"
Changing an option that is set in the config above in RGUI and using "Save current configuration" from RGUI will not save that option.
No options that exist in the include will be saved.
This is a revert of upstream change https://github.com/libretro/RetroArch/pull/10524/commits/9eb84728
* there's a new notification UI (menu widgets) which is the default.
* the joypad sorting is dropped upstream, so the patch included in RetroPie is not needed anymore. Remains to be seen if the new joypad order is compatible with the previous behavior.
* upstream dropped the video_shader parameter and replaced it instead with a CLI option (--set-shader), but in my tests this is not behaving the same - the shader from the command line overrides any game overrides, whereas before, the shader saved for the game would override the one in the config file. Also, for some reason the default for enabling the Video Shaders has been changed to false.
* added a patch to bring back reading the video_shader parameter when every other auto-shader preset (game/core/content/global) is not present.
* there's a new quit_press_twice option, defaults to true, which expects the user to press the Quit key/hotkey combo twice to exit.
* the default compile options enable support for OpenGL1, disable them on the Pi when the BRCM libs are used since it produces a linking error (missing -lGL).
* disabled vulkan and wayland for non-X11 platforms (fixes previous PR's build with RetroArch < 1.8.0 and SDL not having Wayland enabled - see libretro/RetroArch#9583).
* quit_press_twice, video_shader_enable - these will be also set for migrated configs, since they're unset by default.
* a added rgui_browser_directory to make browsing for files start in RetroPie's rom folder. Useful when multi-disk games are loaded and a new disk must be appended.
* changed the default font size due to the new notification system - 12 is unreadable with the new menu widgets style notifications. The default is 32.
* set the new rgui_aspect_ratio_lock configuration option to Integer scale, this makes the RGUI more readable instead of being stretched to the content's aspect ratio (see libretro/RetroArch#8211).
This is useful for the following reasons:
* better options for users who also wish to run desktop applications
* the kmsdrm driver exhibits graphical tearing in certain cores (on rpi3).
* set fullscreen by default for fkms
With an X11-enabled retroarch binary, it's then possible to configure
problematic cores to use xinit if needed to eliminate graphical tearing.
* fixes issue with black screen on x86/opengl
* on faster machines the setting is best off - "Using this might improve performance at possible cost of latency and more video stuttering."