1.8.9
The AI service feature has included new changes to allow closer integration between the service selected and the game being played, allowing the service to read and press gamepad buttons along with the current screen image. The example video above shows a custom service (still in development) designed to make Final Fantasy 1 accessible and playable by blind users.:


When started, the AI service will continually parse the screen and describe what’s being shown. When in a town or overworld view, it will describe what’s around the player to the west, north, east, and south, as well as any new things of interest that have appeared on screen (eg: a townsperson, a weapon shop, treasure chest, etc.). When the emulator is paused, it will give a more detailed description of what’s on the screen, including how far the player can walk in all directions and all things of interest along with their coordinates relative to the player. If the player holds the select button at this time, then the AI service will read out the list of things of interest on the screen and allow the player to scroll through them and select one. When selected, the AI service will unpause the game and move the player to that thing and interact with it.

When on a menu or battle screen, the service will read out the text on the screen and the currently selected menu option.

We will have more information on this for you soon after the initial testing and feedback is over.
Core Management Options

The software license of each core is now shown in the ‘Core Downloader’ and ‘Load Core’ screen.
Pressing RetroPad Select on a Core Updater entry will now display any text in the description field of its info file
Installed cores are now highlighted via a [#] symbol
Pressing RetroPad Start on a selected, installed entry opens the Core Information menu (when using Material UI, swiping left or right triggers the same action). This means we can now view bios info etc. – and more importantly delete cores – without jumping through all the hoops of loading a core first and navigating all over the place
It’s now possible to hide ‘Experimental Cores’ from being shown in the ‘Core Downloader’ menu screen.

Backup cores when updating

By default now, a backup of the current Libretro core will be made when you upgrade a core from RetroArch’s builtin Updater service. In addition, you can also ‘freeze’ a core. ‘Freeze’ in this context means that the Updater service will not be able to overwrite your current core with the latest version from the Updater service.
Vulkan WSI improvements

There were some problem platforms with WSI (Window System Interface) currently, which version 1.8.9 partly addresses. This should theoretically reduce stalls on integrated GPUs.

Intel Mesa was broken when using Fences, we have to use Semaphores to acquire the swapchain or the entire GPU stalls.
Add support for either using fences or semaphores when syncing.
Prefer using semaphores for integrated GPUs (such as Intel HD) as it promotes better throughput over fences.
Do not use mailbox emulation on Android.
Also, to make this work, decouple frame index from swapchain index with regards to CPU-side synchronization. Before, swapchain index would be coupled with frame context, which is somewhat naive.


AUTO SAVESTATES: Ensure save states are correctly flushed to disk when quitting RetroArch (fixes broken save states when exiting RetroArch – without first closing content – with ‘Auto Save State’ enabled)
BUILTIN CORES: Builtin cores like ffmpeg and imageviewer would previously try to erroneously load a dynamic core named ‘builtin’ – this would fail and would just be a wasteful operation – this now skips dylib loading in libretro_get_system_info for builtin cores
CHEEVOS: Report API errors when unlocking achievements or submitting leaderboards
CHEEVOS: Support less common file extensions
CHEEVOS: Disable hardcore mode when playing BSV file
CHEEVOS: Correctly report unlocked non-hardcore achievements when hardcore is paused
CHEEVOS/M3U: Bugfix – did not handle absolute/relative paths in M3U files correctly before
CHEEVOS/M3U: Bugfix – it didn’t handle comments/directives
CHEEVOS/M3U: Bugfix – it doesn’t handle trailing whitespace
CHEEVOS/M3U: Bugfix – failed when loading M3U files with certain line endings
CORE MANAGEMENT: Add ‘core management’ menu (Settings -> Core)
CORE MANAGEMENT: Add option to backup/restore installed cores
CORE MANAGEMENT: Improved core selection logic
CORE INFO: Search search optimisations
CORE DOWNLOADER: Rename ‘Core Updater’ to ‘Core Downloader’
CORE DOWNLOADER: Add ‘Show Experimental Cores’ setting under Settings > Network > Updater
CORE DOWNLOADER: Core licenses are now shown for all entries in the Core Updater menu
CORE DOWNLOADER: Pressing RetroPad select on a Core Updater entry will now display any text in the description field of its info file
CORE DOWNLOADER: Installed cores are now highlighted via a [#] symbol
CORE DOWNLOADER: Pressing RetroPad start on a selected, installed entry opens the Core Information menu (when using Material UI, swiping left or right triggers the same action). This means we can now view bios info etc. – and more importantly delete cores – without jumping through all the hoops of loading a core first and navigating all over the place
CORE DOWNLOADER/UPDATER: Add option to automatically backup cores when updating
DISK CONTROL: Enable ‘Load New Disc’ while disk tray is open
INPUT: Added a hotkey delay option to allow hotkey input to work properly when it is assigned to another action
INPUT: Remove ‘All Users Control Menu’ setting, was buggy and will be properly reintroduced after input overhaul
LINUX: Set default saves/save states/system paths
LOCALIZATION: Add Persian language
LOCALIZATION: Add Hebrew language
LOCALIZATION: Add Asturian language
MENU: Proper line wrapping for message dialog boxes
MENU/HOTKEYS: Add sublabels to all hotkey bind entries
MENU/QUICK MENU: Suppress the display of ’empty’ quick menu listings when closing content
MENU/OZONE: Performance improvements
MENU/SDL: Add mouse controls
OPENGL1/VITA: Initial changes for HW context without FBO
OVERLAYS: Add options for moving the on-screen overlay
PLAYLISTS/WINDOWS: Fix core path entries in image/video/music history playlists
PS2: Add back CDFS support
SDL/GL: Advertise GLSL support
VIDEO/WIDGETS: Fix heap-use-after-free errors, leading to memory corruption
VITA: Added custom bubbles support
VITA: VitaGL update
VULKAN/WSI: Better frame pacing
VULKAN/WSI: Fix Intel Mesa being broken when using Fences, we have to use Semaphores to acquire the swapchain or the entire GPU stalls
VULKAN/WSI: Add support for either using fences or semaphores when syncing
VULKAN/WSI: Prefer using semaphores for integrated GPUs as it promotes better throughput over fences
VULKAN/WSI/ANDROID: Do not use mailbox emulation on Android
UWP/XBOX: Potentially improve performance by enabling ‘Game Mode’

https://www.libretro.com/index.php/r...-8-9-released/

https://retroarch.com/?page=platforms