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
Full changelog at https://github.com/chernandezba/zesarux/releases/tag/ZEsarUX-11.0
Besides bug fixes, new and improved features:
* New additions:
- Added loading audio from external audio source
- Audio Spectrum Analyzer
- Added ZENG Online feature, which allows you to play to any emulated game on a multiplayer way using a central server
- Added ZENG support on all emulated machines
- Added save screenAdded ZENG support on curses driver
- Added save screen to .txt or .stl files
- Added save support for ZX80 & ZX81 .Z81 snapshots
- Added TempleOS GUI Style, QNX GUI Style
- Added .zmenu type files to generate launcher menus
- Added more vintage Spectrum programs/games from me
- Added PCW Video mode 1 palette selector
- Added setting to force CHR$ 128 mode on ZX81
* Improvements
- Allow to load Next .nex/.snx/.sna snapshots with additional files
- Allow to pause playing on AY Player
- Improved Keyboard Help: now you can press keys by clicking mouse
- Allow to send ZENG snapshots more frequently (even every 20 ms)
- Allow autorewind setting for real tape too
- Allow to disable Spectrum colours on real video mode too
- Remember last path used on output tape
- Allow to load 48kB MSX cartridges
- Allow to load MSX cartridges with memory mapper Ascii 8kb, Ascii 16kb, Konami without SCC, Konami with SCC, R-Type
- Allow to set +2e/+3e rom from Custom rom menu item
- Improve Hexadecimal editor on ZX80 and ZX81: show inverse characters
- RCP Improvements
* Added menu function to sync local snapshot to remote using ZRCP
* Added ZRCP commands open-menu, print-error, get-text-overlay, cpu-history get extended
* Support MMU restore state on ZRCP command "cpu-history restore" for Spectrum 128k/+2/+2a/+3
- Improved QL emulation
- Improved file selector
- Improved ZX Vision
- Improved ZX Desktop
The 5.7.1 version has a couple of regresions (one is a crash), fixed in version 5.7.2. However, DispmanX support was dropped starting with 5.7.2 so just bumping the version would break Buster based Pi installation.
Therefore the module was changed so that:
- for DispmanX platforms cherry pick the post 5.7.2 fixes manually and lock the version to 5.7.1
- for every other platform build the 5.7.2 version
Changes in 5.7.1 (https://github.com/BlitterStudio/amiberry/releases/tag/v5.7.1)
* Bugfixes (since 5.6.6):
- improve CD32 default mapping
- fix base color for Radiobuttons in SaveStates panel
- fix KMSDRM video regression
- fixed background color for SaveStates panel checkboxes
- when saving a new config in the GUI, it should be selected after the refresh
- when loading config from the command line and opening the GUI, the settings were reset to defaults
- always clear the text fields when deleting a config
- fullscreen toggle didn't quite work
- quickstart - enabling 2nd floppy drive did not refresh panel
- make guisan widgets active/inactive status more visible
- fixed textbox background color in Create hardfile dialog
- the floppy dropdown wasn't updated properly after a selection
- fixed CD dropdown did not refresh properly
- ensure keyboard keys are released when pressing Alt-Tab
- ignore alt-tab if used to release focus
- GUI Hardware sprite checkbox wouldn't enable when needed
- some RTG options were not changed on-the-fly
- fix mouse drift when using RTG hardware sprite
- mouse - when using SuperHighRes or Single line modes, the movement scaling was incorrect
- fix offset for button indicators in ControllerMap GUI
- mouse: RTG modes can use the positioning directly, but they were affected by the single/double line mode setting, fix absolute positioning
- fixed crash when using Restart after previous updates
- Ensure changes in virtual mouse and magic mouse are applied immediately
- datapath wasn't parsed in WHDBooter
- bugfix: aspect ratio option was not respected in autocrop
- bugfix: return empty string when cancelling file/folder dialog
- fixed select file/folder dialogs briefly showing a scrollbar on startup
- enter would no longer trigger a KEYDOWN event in guisan
- fix memory leak when closing filesys unit
- fixed parsing of ROMs in the GUI
- don't crash if no kickstarts are found on startup
- controller hotkey mapping was broken after recent updates
- fixed navigation in Floppy GUI panel
- fix all A600 quickstart configs would always incorrectly add Fast RAM
- start in Quickstart checkbox would not change status
- virtual Keyboard did not respect Auto-Crop
- listbox selection color was hardcoded when inactive
- if Cancel was used in a file/folder dialog, the path would be emptied on return
* Enhancements:
- Implemented GUI foreground color option for themes
- Updated floppybridge library to latest version
- Added button to Create new folder in the dialogs
- All plugins (floppybridge, capsimg) now live in a separate directory, named "plugins"
- Added option to log to console
- Set config name automatically for CD images as well
- Config panel double-click time reduced to 500ms
- Improve help text in Config panel,Misc panel,Sound Panel
- Add console logging details in GUI helptex
- Added new custom events for Disk Swapper. Two new events were added, Insert Next/Previous disk swapper slot.These allow you to select the next/previous slot and also insert it into DF0: in one step.
- Added default path for LHA archives. This allows you to set a default path that will be used to load WHDLoad .lha files, for use with the WHDBooter.
- Added default Floppy, CD-ROM and Hard Drive paths
- Added option to use "System Default" audio device.This new checkbox in the GUI (Sound panel) will not choose a specific audio device, and instead tell SDL2 to pick the system default one. This helps with systems that may have sound devices that are not listed in the dropdown.
- Added new WHDLoad panel in GUI. This panel exposes the options that the WHDBooter uses, and allows changes to the slave options before launching a title. The Custom Fields can also be customized from this area. All information is parsed from the same XML that Amiberry uses to match the WHDLoad titles.
- Added new "Save Mapping" button in Custom Controls.This allows you to save the current mapping for the selected controller as the default, which will be automatically loaded on startup (if the controller is connected).
- Detect WHDLoad, CD and floppy disk images as parameters in the command line. As a fall back, you can now pass the path to a supported image filename, and it will be loaded automatically. This makes it possible to set Amiberry as the default handler for such files (e.g. .lha, .adf, .adz, .ipf, .cue, .iso, etc.). WHDLoad and CD images trigger the autoloader, while floppy disk images will be loaded into DF0:
- If a config file that matches the inserted disk image exists, it will be loaded automatically. Otherwise the default one will be used instead. This also makes it easy to save a config after you've loaded a disk image, since the panel will be populated with the right name already.
- Added support for custom font colors in the GUI theme
Upstream has added support for using an OpenGL(ES2) context for 3D games and HW rendering. The core will request a HW GL context from RetroArch when starting.
Added the necessary parameters to the build to support the GL context for the platform where RetroArch is running.
Upstream GlideN64 has a regression due to a recent shader related change, which breaks the video output on GLES devices/platforms.
Until this issue is fixed in the upstream GlideN64, build the plugin from a commit before the changes that cause the regression.
rp_module_flags can now contain a variable comparison to enable or disable a scriptmodule.
The comparison should be in the format :\$var:cmp:val or !:\$var:cmp:val
eg. :\$__gcc_version:-lt:7 would be evaluated as [[ $__gcc_version -lt 7 ]]
This would enable a module if the comparison was true or disable if !:\$__gcc_version:-lt:7 was used.
Only global variables set before modules are loaded (eg via system.sh) are supported.
$ is escaped so variables are not evaluated when the module is sourced.
It works without, but provides less useful information in the setup menus as the variable name will not be visible.
In 77bb4c16 the code was locked to an older commit due to incompatibilities with Raspberry Pi OS Buster, but this version doesn't build with newer GCC.
Switch to using the latest code by default but lock to older versions for Buster and GCC 10 and lower
Tested to build correctly on Raspberry Pi OS Buster, Bullseye and Bookworm.
The previous build method on the Pi4 uses a CMake toolchain file which assumes a 32bit ARM system.
To make it compile on ARM64, remove the toolchain file usage and add the appropriate defines/options from it to the CMake invocation.
We removed the `python3` parameter setup in commit 2a95dd076a, but the build parameters are also used by Mame/Mess 2016.
Mame2016/Mess2016 have python2 still as default, so re-add the `PYTHON_EXECUTABLE` configuration.
Starting with version 0.265 (April 2024), GCC 10.3 is required for building MAME.
Enforce this requirement when building the emulator and libretro cores, Debian Buster will be getting 0.264 as the last version.
1. I've noticed that on newer version of Meson, dependendant packages like `iir` and `mt32emu` are no longer built and linked statically.
Instead, they're created and then installed as dynamic libraries. The installation goes to `$md_inst/lib/<host-triplet>`, so the resulting binary doesn't work out-of-the-box, but the more important issue is that the `libmt32emu` library is not copied. As a result, `dosbox` will not be able to run on such a system.
The issue above doesn't seem to affect the RaspiOS (32/64bit) builds, but I had it happening on Debian Trixie (testing) and a recent Armbian Jammy 22.04 for OrangePi 5.
To make sure the above issue doesn't happen, link the `iir` and `mt32emu` libraries statically. They're always downloaded and built via Meson _wraps_, since there are no Debian packages for them.
2. Updated the dependency list so that:
* `libslirp` and `fluidsynth` (v2) are installed on Bullseye or newer Debian, so they're not built via Meson wraps
* `sdl2-image-dev` is not needed by `dosbox-staging` anymore.
* added `zlib` as an explicit dependency
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.
Only configure distcc variables if a module does not have the "nodistcc" flag.
Skip builder/setup modules to avoid having distcc changes propagate to modules built from them.
This allows easily disabling distcc for certain modules that are not compatible.
Latest (0.81) version of Dosbox Staging doesn't go along with the legacy GPU VideoCore drivers, resulting in a SDL window initialization crash. Pin the 0.80.1 version for these devices, maybe a GLES2-only rendering path will be added later on, which would solve this issue.
DirkSimple is a laserdisc game player that implements specific titles from scratch, so it uses an arcade game's video content but not its roms. It takes game data in Ogg Theora format, so the "rom" that the core needs is a single .ogv file per game.
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).