RetroArch Android – New versions for Play Store – please read!


Remember our previous article back in August? We could no longer update RetroArch to the newest version on the Google Play Store because their policies had changed with regards to the use of externally hosted dynamic library files.

Right after this, we suffered from the crippling buildbot server hack which really set us back. Hence we haven’t been able to address the situation as of yet.

Now, though, thanks to your help and support, we are finally on the cusp of having a solution that we hope (and think) will satisfy nearly everyone.

RetroArch Play Store – two separate versions

RetroArch on the Google Play Store is going to be different now from the version you can download on our website.

The Google Play Store version has the following plus and minuses:

    – The Core Downloader no longer connects directly to our build infrastructure – in accordance with Google Play Store’s new policies, this had to be changed.
    + Instead, you will be able to select from 50 hand-curated libretro cores to download from within the application. These cores are downloaded from Google’s servers instead.

  • + The Play Store version will be updated twice a week, possibly more if users request it. Both the cores and RetroArch itself will be updated in the process. You will no longer have to wait for months on end for a new version – instead, new versions will be pushed to the Play Store automatically.

Why only 50 cores? Unfortunately, if we don’t want to cut off support for Android OS versions lower than 8.0, we have to limit it to this number. However, there are two alternative :

RetroArch Plus

RetroArch64 has now transformed into RetroArch Plus! What separates this version from the regular Play Store version?

  • – It will only work on Android OS 8.0 and up.
  • + Because of this, you have access to 127 cores instead.

So if you have a newer device, going for RetroArch Plus is a straight upgrade instead of sticking it out with the regular RetroArch version. In addition to this, all the pros and cons of the regular Play Store version also applies to this version.

Of course, there is also a third option:

RetroArch non-Play Store version

This is RetroArch as you have always known it up to this point on Android. It has the Core Downloader which pulls from our build infrastructure, you are not limited to an arbitrary amount of cores, and it retains the same backwards compatibility as earlier versions.

The only caveat is that this version will only be available on our website from now on. Right now, this version is only available in nightly form, but once we release 1.9.1 (which should be pretty soon), you’ll be able to get it as a stable release as well.

+ Because we no longer have to care about this non-Play Store version having to be uploaded to Google Play, we no longer have to make sure the APK stays within the 100MB threshold. This means we can finally package all the assets into the APK, giving you more overlays, borders, shaders, etc. Previously we had to strip some of these out to save on space.

What you should know as a Play Store Edition user

Convert your already installed cores from previous versions

Important for people who upgrade from previous versions –

Instead of having an option in the online updater to update all installed cores at once, that option is replaced by the “Switch Cores to Play Store Versions” option. This is a one-time step that replaces any cores on your device with versions from the Play Store. It’s a necessary step for users to receive core updates on the Play Store going forward. Any cores that the Play Store can’t provide (that are outside of the 50 or 127 predefined cores for example) will remain on the device as is.

To do this, go to Online Updater -> Switch Cores to Play Store Versions.

You can still sideload cores

While it’s not possible anymore to download cores directly from our servers with the Core Downloader, it is possible for you to sideload any core you have downloaded manually. To do this, you need to unzip the core you want to install to your Android device. Then go to ‘Load Core’, ‘Install or Restore a Core’, and select the (unzipped) core you want to install.

When?

The Play Store version has been submitted to the Google Play Store, and after we have passed initial approval, it should be available shortly.

RetroArch Plus is available here.

We hope that you understand we have tried to do the best possible to make sure that people can continue using and enjoying RetroArch on Android despite the increased limitations. Supporting three separate versions instead of one certainly adds to our workload, but with our new infrastructure we feel we are able to handle it. A huge shoutout to farmerbb for putting in an incredible amount of work during this Holiday period to ensure that this has been rolled out successfully. We would have never been able to do it without him!

Libretro Core Updates – New version of Mr. Boom


MrBoom got a few improvements thank to SimpleTease, Zaac and Parsec:

  • It now supports 16-bit rendering depth to run flawlessly on an RG350M/OpenDingux
  • A Christmas easter egg in the menu was added
  • the medals and victory scenes got improved for team games
  • you can now skip being contaminated by a sick player by jumping on a kangaroo
  • There’s an improved invincibility/disease blinking.

You can get this new version on RetroArch’s Core Downloader as usual.

We’re looking for a graphic artist to implement a brand new level. If you’re interested, please contact https://twitter.com/frrancck

Coming soon – RetroArch for OpenDingux release (GCW Zero/RG 350/etc)

Written by jdgleaver

RG350 is but one of the many MIPS-based devices on the market today running OpenDingux.

OpenDingux is a Linux distribution used by a number of open source handheld gaming consoles such as the GCW-Zero, and more recently the popular RG350, RG350P and RG350M range of devices. An initial ‘experimental’ port of RetroArch for OpenDingux was made in January, but it was left unfinished. Over the past two months we have been working hard to rectify this situation.

We are pleased to announce that RetroArch now treats OpenDingux as a first-class citizen, and an official release will be included with the rollout of the new build infrastructure. While targeting the RG350M as a flagship platform (its 640×480 display offers a wealth of upscaling potential), all JZ4770-based devices should be supported. The release highlights include:

  • A reworked and well-optimised SDL-based graphics driver, with numerous features that were missing from the original experimental port (e.g. OSD notification text, graceful handling of invalid display modes, VSYNC control, fast forward support).
  • Full leverage of the hardware IPU (Image Processing Unit), with menu-based control of aspect ratio/integer scaling and image filtering methods (bicubic, bilinear, nearest neighbour).
  • A custom gamepad driver that integrates seamlessly the peculiar input configuration of OpenDingux devices (a hybrid of virtual keyboard inputs and analog sticks) and which offers full rumble support.
  • Many ‘under the hood’ enhancements such as support for battery level monitoring, memory usage reporting, a clean up of irrelevant menu entries, RGUI fixes, directory path rationalisation and a number of carefully tested compiler optimisations. This is a ‘lean and mean’ build tuned specifically for the hardware, with no unnecessary bloat.

We are launching with a modest collection of cores, each one hand-picked for performance and compatibility:

  • FB Alpha 2012 CPS-1
  • FB Alpha 2012 CPS-2
  • FB Alpha 2012 Neo Geo
  • FCEUmm
  • Gambatte
  • Genesis Plus GX
  • gpSP (Note: Currently lacks a dynarec)
  • Handy
  • Beetle PCE Fast
  • Beetle WonderSwan
  • mGBA (Note: GB/GBC/SGB content only)
  • PicoDrive
  • PokeMini
  • PrBoom
  • QuickNES
  • RACE
  • Snes9x 2005
  • Snes9x 2005 Plus
  • TyrQuake
  • VICE x64

We understand that some users may question the validity of expending two man-months of development time on such a ‘niche’ set of devices. It is the nature of RetroArch, however, that work on one platform frequently benefits others. All of the following RetroArch and core improvements have come about as a direct result of this endeavour:

– RetroArch now has a robust mechanism for implementing automatic frame-skipping based on audio buffer occupancy. This is something that stand-alone emulators have had since time immemorial, but RetroArch has always lacked (leading to the infamous ‘crackling audio’ so often reported). Auto frame-skip is a literal game changer, making a variety of previously unusable cores viable on underpowered hardware. Thus far it has been added to:

  • FB Alpha 2012 CPS-1
  • FB Alpha 2012 CPS-2
  • FB Alpha 2012 Neo Geo
  • FBNeo
  • Genesis Plus GX
  • gpSP
  • Beetle PCE Fast
  • Beetle WonderSwan
  • mGBA
  • PicoDrive
  • Snes9x 2005
  • Snes9x 2005 Plus

– As a platform without shader support, video filters are a vital part of the OpenDingux RetroArch experience. To this end, a number of new filters have been added – including several high quality LCD (and Game Boy style) effects that rival shaders, and are useful even on the desktop. In addition, many filters have been optimised intensively for maximum performance on OpenDingux, which of course reduces overheads on all platforms. And finally: OpenDingux work revealed a long-standing bug (now fixed) which disabled video filters entirely on Android.

– Snes9x 2005/Snes9x 2005 Plus has gained colour operation optimisations from Snes9x 1.60 and MIPS-specific assembly code from PocketSNES, which combine with auto frame-skip to significantly enhance performance on low end hardware. Two critical save state bugs have also been fixed.

– Our low-powered arcade cores (FB Alpha 2012 CPS-1/CPS-2/Neo Geo) have been substantially cleaned up and improved, with core option sublabels, aspect ratio correction, low pass audio filters and software-based screen rotation for devices without hardware rotation support. With auto frame-skip, even bottom-tier devices can run arcade content smoothly.

– Interframe blending in Gambatte and mGBA has been optimised, reducing performance overheads by ~70%. The same blending method has also been added to gpSP (along with optional colour correction).

– Beetle WonderSwan now has software-based screen rotation for devices without hardware rotation. In addition, colourisation palettes similar to those in Gambatte have been added for monochrome content (raw black and white is often uncomfortable to view on devices without shaders!).

– OpenDingux has rumble functionality, but we were lacking cores with which to exercise it. We therefore added rumble support to Gambatte and PrBoom, and improved the existing haptic feedback in PokeMini and TyrQuake.

This OpenDingux RetroArch port has been a passion project, born out of sheer amazement that so many of our cores run so beautifully on such limited hardware. We hope that offering a full-fat RetroArch experience will help to revitalise the community surrounding these interesting little devices. And we hope that our non-OpenDingux users will also profit from the optimisations and enhancements!

All this and more will be coming to you as part of our new range of ‘supported’ platform stable/nightly releases once the new infrastructure is about to go public. Stay tuned for more on that during the holidays!

DOSBox Pure – Out now for public testing

Article Written by Psyraven –

Hi all,

After 6 months of quite intense development, DOSBox Pure has been released for public testing. DOSBox Pure is a new fork built for RetroArch/Libretro, aiming for simplicity and ease of use.

The main features of this fork are:

  • As easy as a console game emulator by loading DOS games from ZIP files and saving into separate save files
  • Support for save states and even rewinding
  • Automatic game detection with custom gamepad to keyboard mapping for many DOS games
  • Mouse, keyboard and joystick emulation for gamepads and an on-screen keyboard

Other features are support for cheats, built-in MIDI software synthesizer (needs a SF2 soundfont file), disc swapping menu and a start menu that lists EXE files controllable by gamepad.

This initial release is feature complete as of now for what I wanted to accomplish, yet it is clearly marked as intended for public testing. So try to be constructive and as technical as possible if something doesn’t work as expected, I’ll be thankful.

I wanted to get this out before the holidays and to personally end 2020 with something cool. I hope you like it 🙂

Code and download: https://github.com/schellingb/dosbox-pure

Buildserver migration – buildbot server offline for two-day maintenance period (starting 11/18/2020)

Hi there,

we are finally nearing the final transition stages of our infrastructure to the new system.

We need to take our current buildbot servers offline for the next two days (starting tomorrow – 11/18/2020) in order to continue.

We ask and hope for your understanding and we will let you know as soon as the servers are up and running again.