PSA: RetroArch 1.7.8 – Important changes for people using the Google Play build

Starting as of September, Google has started requiring app developers to update their apps with 64bit AArch64 support. Any app that fails to comply with this will no longer be able to upload any new APK to the Google Play Store.

Until now, the main RetroArch build has been built for 32bit ARM processors. This means that even on a 64bit device, if you were using this 32bit build, you would still have access to all the 32bit compiled cores.

This all changes now as a result. Under the new model, we are forced to build in both 32bit and 64bit support for the main RetroArch app. What this means is that 64bit devices will default now to the 64bit version, whereas 32bit devices will default to the 32bit version. It’s not possible to boot into 32bit mode for the Google Play Store version.

We unfortunately cannot do anything about this. What this means is the following:

  • Some of the cores available for 64bit ARM might lack a dynamic recompiler. As a result, cores like PCSX ReARMed and Picodrive might be significantly slower now as a result on a 64bit device. Fortunately, work is underway to backport a 64bit dynarec to PCSX ReARMed, and similar for Picodrive.

On the plus side, Aarch64 tends to have about a 10% performance boost in general for RetroArch vs. regular 32bit builds. So it’s not all bad news.

If you’d still like to use a 32bit only build, you can go to our buildbot and download the 32bit only version there. We just are not allowed to upload this version to the Play Store, since every app uploaded from now on has to work for 64bit as well.

Important news for people upgrading

If you are upgrading the app from 1.7.7 to 1.7.8, you might find that the core updater URL is still pointing to the 32bit cores, and you might find that a lot of the cores you downloaded will no longer work (because it boots you into 64bit mode now). 32bit cores cannot be ran on 64bit apps and vice versa. So, what you have to do is

  • First, make sure that you reset the Core Updater URL properly. Go to Settings -> Network, and scroll all the way down to ‘Updater’. Go to the entry ‘Buildbot Cores URL’, and long press. If done correctly ,it should reset the URL. Now exit the program and restart again.
  • From there, you will have to redownload the cores from the Online Updater.

Alternatively, if you don’t want to bother with all this, just reinstall the entire program from scratch, that way it will start out with sane defaults.

Other considerations

What this also means is:

  • The 64bit specific version on the Play Store is pretty much redundant now, and you might as well use the main Play Store version. We are unsure yet if we are going to delist the 64bit only version or have it remain up. Just know that it no longer serves a purpose.
  • RetroArch can now be built using Gradle/Android Studio. This should significantly reduce the barrier to entry for developers wanting to get to grips with RetroArch, but were unable to do so in the past as it required an old Android toolchain as well as tools like ant.
  • It might appear on Android TV soon for 64bit apps.

Hopefully this upgrade process will have as little bumps in the road as possible. We’re sorry for this inconvenience but this is really not our fault, and our hands are tied. As ever, if you want a 32bit version on your 64bit device, go to our buildbot, and download the latest dated version ending with ‘RetroArch_ra32.apk’.

Flycast – Progress Report -HLE BIOS – no longer requires external BIOS!

New version will be available later today on the Buildbot!

Flyinghead has significantly improved HLE BIOS support to the point where 90% of Dreamcast games (both regualr and Windows CE-based games) should now be supported! Previously, compatibility with the HLE BIOS was quite abysmal, to the point where we couldn’t justify enabling it by default. So this marks an important point where users are no longer required to go seek out an external Dreamcast BIOS and can just run a Dreamcast game out of the box without needing to setup a specific BIOS!

A couple of notes:

  • ‘HLE BIOS’ is now enabled by default. If you wish to disable it and rely on a real external BIOS, you go to Quick Menu -> Options, and disable ‘HLE BIOS’ there.
  • The ‘Fast GD-ROM Loading’ option right now doesn’t work with the HLE BIOS. Disable ‘HLE BIOS’ if you want to make use of this feature.
  • Previous savestates are no longer compatible with this current version. Later on, compatibility with these older savestates will be restored. We will let you know when that happens. Until then, we recommend making new savestates.

When do I get to use this?

Today! Updated versions of both Flycast cores (regular and Windows CE versions) are being uploaded to the buildbot as we speak, so you’ll be able to play with this later today if all goes well.

More progress

  • Flyinghead intends to merge the regular and Windows CE versions into one version come September. The inclusion of Windows CE/MMU codepaths should no longer slow down regular non-Windows CE games. On the contrary, SSA and lots of optimizations done for Windows CE will benefit the non-Windows CE games as well, so you can expect this universal version later on to be a bit faster.
  • This closed source emulator recently added support for this – flyinghead has already been able to match this in his branch. Like the other emulator, it should result in Street Fighter III 3rd Strike being rendered correctly, along with in-game screen adjustment being possible. It should be noted though that more regression testing is needed first because changes like these can have an adverse effect on other games that are currently being rendered fine, like Metropolis Street Racer. We rather suspect not enough testing was done to check for regressions in this other emulator since flyinghead was able to see a bunch of regressions as part of this feature being added, so we’d rather not jump the gun.

Open source Dreamcast emulation has seen a tremendous boost ever since flyinghead appeared on the scene. Whereas open source Dreamcast emulators seemed previously hopelessly behind something like Demul from a compatibility and accuracy perspective, right now it seems we are well on track to matching it save for Flycast not being able to emulate certain specialized arcade systems like Naomi 2, which are technically not really Dreamcast/Naomi 1 anyway but its successor.

So, right now, Flycast is in a very good spot:

  • It allows you to run Sega Naomi games. Only other emulators that support this are DEmul and Makaron (both closed-source).
  • It allows you to run Windows CE games. Only other emulator that supports this is DEmul (closed-source).
  • There are no limitations on savestates and internal resolutions, there is no paywall to speak of. Savestate support was added years ago.
  • Modem support. DEmul only supports Broadband Adapter support, but Flycast supports actual modem support (32K/64K models).
  • There is built-in zero configuration online multiplayer support, that works cross-platform with real Dreamcasts as well. Flycast is currently the only Dreamcast emulator available so far that supports this.
  • You can enable VMU support and configure where the VMU screen gets displayed onscreen. Up to 4 VMUs at a time can be displayed onscreen.
  • It has a work-in-progress HLE BIOS implementation that has about a 90% compatibility rate. It even works with Windows CE games.
  • It runs on 32bit systems as well as 64bit systems, and is available for x86 and ARM.
  • It has been available on Android and iOS for years now.

We might even add real CD-ROM support soon to it, so that it can run CD-R based backup discs!