A brand new platform port has been added for RetroMini RS-90 (and similar devices). These are low-powered mass-produced MIPS handheld devices that are sold for very cheap. To us, it is yet another opportunity to optimize our cores for low-end devices.
PlayStation2 users are in for a treat. gpSP (Game Boy Advance emulator core) has been optimized and tuned for PS2 to the point where it should run most games at fullspeed. RetroArch should also have a bitmap font driver implemented now instead of relying on gsKit like before.
WiiU users benefit from many improvements to file I/O optimizations (faster loading/startup times), network speed, and menu/font rendering.
Switch users should benefit from the 7zip compatibility added to this release.
Many improvements to the CRT SwitchRes feature have been made. For more details, see ‘Changelog’ below.
New RetroMini RS-90 port
Following on from the success of our OpenDingux port for JZ4770-based handhelds, we are pleased to announce official support for RetroMini RS-90 devices running OpenDingux Beta. This tiny console has one of the weakest CPUs we have ever targeted; it has just 32 MB of RAM, an ultra-low resolution 240×160 display and is available for as little as $20 – but still it provides an enjoyable RetroArch experience.
All regular frontend features are working (excluding rewind and runahead support)
RGUI offers surprisingly comfortable performance at 240×160 (even thumbnails are supported – with a fullscreen toggle mapped to the start button)
Content can be displayed with integer scaling, or nearest neighbour and semi-linear software filters are provided for fullscreen viewing
Given the limited specifications of the hardware, a modest section of cores are available. The following generally run at full speed:
Gambatte: All GB games (GBC games have mixed success)
Genesis Plus GX: Master System & Game Gear games
…while these offer varying degrees of playable content with frameskipping enabled via core options:
Mednafen PCE Fast
For the best results, we recommend applying a per-application CPU overclock for the RetroArch application: highlight RetroArch on the device’s home screen, press the select button > Edit RetroArch, and set Clock Frequency to 420 MHz (depending on the chip, a lower value may be required, or even higher may work correctly).PlayStation2 – playable Game Boy Advance emulator added
gpSP should now be available for RetroArch PS2 starting as of version 1.9.7. This is a Game Boy Advance emulator core. Davidgf has been working hard on this core for the past few months and the results speak for themselves – this should be the first time that a PlayStation2 is able to run Game Boy Advance games at fullspeed.
In addition to the improvements listed for WiiU previously, there’s also the following to mention:
Fix inputs breaking when connecting/disconnecting remotes
When a KPAD controller (Wiimote, Pro Controller, etc.) gets disconnected or has its accessory changed, the Wii U’s API gives nonsensical results for a little while, even while claiming these results have no errors whatsoever. This was wreaking havoc in the input system and ended up leaving the controllers useless.
1.9.7 attempts to work around the console’s API by filtering out some of the unknown results.
Download progress indicator fixed for large transfers
An important bug was fixed that was causing issues while downloading the Assets from within the program. When downloading a large file on a 32-bit platform, the progress indicator will get pinned to 100% after downloading roughly 40MiB. This causes a lot of stress for assets.zip, where the 40MiB mark is about halfway. This bug has been fixed. Note that this improvement is not only beneficial for WiiU but should benefit other 32-bit platforms in general.
Linux / xdg-screensaver improvements
1.9.7 provides a workaround for the long-standing issue of “protocol error” messages being written to stderr whenever the “Suspend Screensaver” option is enabled and the X11 context driver is used. These messages don’t actually come from RetroArch – they’re xdg-screensaver’s, which is a script for cross-DE screensaver suspending that RetroArch calls to do its job.
It turns out, the script has a problem with title-less windows. See the related bsnes issue for analysis – kudos to Screwtapello for figuring this out. The proposed solution is to check if there’s already a title, and if there isn’t, to set it to a single “space” character, which is surprisingly enough for xdg-screensaver to work. The space character is picked so that there’s no visible difference between the bogus title and no title at all. The alternative is to make sure that RA’s window has a title at all times – too much of a hassle for something this trivial.
3DS: Add unique ID’s
CRT/SWITCHRES: Fixed some Monitor index bugs ad updated to the latest SR2
CRT/SWITCHRES: Fixed monitor index corruption on Windows and added correct fractal scaling. Only used when required
CRT/SWITCHRES: Updated log defines to match SR upstream.
CRT/SWITCHRES: Added new SR_CONFIG_PATHS for non Windows and Linux systems. Not that SR works on them but to fix RA compile issues
CRT/SWITCHRES: Updated SR2 code base to latest. Added supprt for windows monitor indexing. Fixed monitor index bug where index 1 was not being used correctly and “auto” was not being sent.
CRT/SWITCHRES: Updated swithres for x86 windows fix
CRT/SWITCHRES: fixed SR2 auto issue
CRT/SWITCHRES: Fixed auto monitor bug
CRT/SWITCHRES: Fixed monitor index corruption on Windows
CRT/SWITCHRES: Fixed buffer size bug
CRT/SWITCHRES: Added correct fractal scaling. only used when required.
CORE INFO: Automatically disable core info cache when core info directory is read-only
EMSCRIPTEN: add MAME2003 / MAME2003-plus to web.libretro
INPUT/UDEV: udev fixes add pointer pressed to pointer device to allow udev users to access this device
LIBNX/SWITCH: Enable 7zip support
LINUX/XDG: Prevent xdg-screensaver’s “Protocol error” messages
LOCALIZATION: Fetch translations from Crowdin
LOCALIZATION: Add missing languages for the first startup
MENU/XMB/WIDGETS: Add workaround for FPU bug that breaks scale factor comparisons on certain platforms (fixes XMB thumbnails on 32bit Linux/Windows)
MENU/RGUI: Enable fullscreen thumbnail toggle using RetroPad ‘start’ button
MENU/RGUI: Fix sublabel length when menu clock is disabled
NETWORK/HTTP: Fix HTTP progress indication for large files on 32-bit systems
NETWORK/NATT: implement natt fix from void()
OPENDINGUX: Fix display when cores ‘drop’ frames
OPENDINGUX BETA: Use ALSA audio driver by default
OPENDINGUX BETA: Fix IPU scaling when running 256×224 (SNES/Genesis) content
PATHS: Fix garbled path string
PS2: Implement proper ps2_font driver instead of using the font driver from gskit
PS2: Use BDM for increasing up USB stability
PS3: First basic RSX driver for PSL1GHT
RS90: Initial port
RS90: Fix offset of OSD text
RS90: Disable menu clock by default
RS90: Hide ‘Bilinear Filtering’ video option
RS90: Move appdata (retroarch) base directory to external MicroSD card
RS90: Add optional approximate ‘semi-linear’ scaling filter
SHADERS: Max Shader Parameters increased to 1024
VIDEO: Add ‘Integer Scale Overlay’ – Force integer scaling to round up to the next larger integer instead of rounding down
VIDEO: New ‘Full’ aspect ratio added. This aspect ratio is useful when used with a shader which has a border in it. The aspect ratio is set to the full window area, so that the viewport spans the whole viewport. When using a border type shader like the Mega Bezel this allows the graphics to span the whole window regardless of the user’s monitor aspect ratio
VITA: Wrong flags for not piglet version
UNIX: Correct backlight max_brightness path
UWP/XBOX: Default to Direct3D11 driver on UWP builds
UWP/XBOX: Do not use windowed mode on UWP/Xbox by default, set default resolution to 1920×1080 by default. Should fix display issues with Dolphin/PCSX2 on Xbox
WIIU: Fix inputs breaking when connecting/disconnecting remotes
WIIU: Input – ignore some bogus KPAD results
WIIU: Font rendering fixes – render font lines with correct spacing, and only sample alpha channel when rendering fonts
WIIU/NETWORK: Network speed optimisations – WINSCALE, TCP sACK, large buffers
WIIU/LIBFAT: Increase cache size on WiiU
WIIU/FILE IO: Filesystem optimisations – add fast path for already aligned buffers
WIIU/FILE IO: Use 128K vbufs for WiiU – we have loads of RAM and large vbufs are very beneficial
WIIU/MENU/OZONE: Fix Ozone rendering error (scissor fix)
WIIU/MENU/OZONE: Use Ozone icons instead of XMB Monochrome