Ahyes, a fellow GC nerd, I too have compiled dolphin for my Rock5 and from source RetroArch and cores. GC from what I can see, just runs significantly better on android. Devo'd, there was some wayland support worked on years ago but it stopped.
If you are using an Android phone, then I recommend a telescopic controller like the GameSir X2. This USB-C controller will wrap around the phone and provide a more seamless experience than clipping a controller to your phone. This controller also has a power passthrough, so you can charge the phone while playing (sadly the USB-C passthrough does not support video out).
Another important aspect of retro gaming is to build your ROM library. Here is a general list of systems that can be played on Android. Those noted with an asterix cannot play every game at full speed, and so performance may vary. For PS2 and GameCube on lower-end Android devices, I recommend getting PAL region ROMs, because they cap out at 50Hz which will give you better performance than struggling to reach the standard 60Hz found in NTSC region ROMs. ROM files are copyrighted and will not be shared on this website.
Additionally, an important component of a ROM library is maintaining BIOS files. BIOS files are system files necessary for some emulators (GBA, Sega CD, or PS1/PS2), and are helpful in improving accuracy with other systems. These files are copyrighted so you are on your own to find them, but a quick search for a RetroArch bios pack should get you on your way. Note that PS2 BIOS files can be easily dumped from your PS2, or you will need to find them elsewhere. Here is more information about BIOS files.
When building your ROM library, another handy trick is to compress your files to save on storage space. This guide will walk you through how to compress many of the CD-based systems PlayStation, Sega CD, Saturn, 3DO, Dreamcast, Jaguar, and TurboGrafx-CD (PC Engine CD).
One other note to make: plugging the SD card directly into your PC to transfer files will give you much greater transfer speeds, about 4x the speed of USB file transfers. So I recommend removing the SD card and plugging it into your computer whenever you have a large batch of files to transfer; USB transfer works fine in a pinch for smaller transfers.
There is a staggering amount of frontend options available for Android devices. Here is a quick summary of some of the most popular options, and the pros and cons of each. Personally, I would recommend trying some of the free options like Daijisho, ATV Launcher, LaunchBox (trial version), DIG, and/or Pegasus, and see if one of those are a good fit for your play style before you shell out money on something you may or may not like.
Arc Browser is a paid ($8.50) app that is similar to DIG in its feel, and Reset Collection in its setup. It does have an active development community within Discord and a comprehensive website that can walk you through some of its customization options. You have a choice of classic and modern UI examples within the frontend, and the app seems particularly designed to be used with a controller, which is great for Android-based handheld consoles.
RetroArch is a kitchen-sink emulation program available on a variety of platforms, including Android. RetroArch can play dozens of emulated systems while standardizing options like hotkeys, controls, screen settings, and more. The platform is uniquely challenging to set up, and so for that reason I created a standalone RetroArch starter guide. So when setting it up, I recommend following the guide to get oriented.
Duckstation is a powerful PS1 emulator that is more accurate than the PCSX-ReARMed RetroArch core. There are also Duckstation and Swanstation RetroArch cores, which work well. The standalone Duckstation emulator requires more performance power than the RetroArch core, so depending on your device, you may want to use RetroArch instead. Some have reported that ePSXe runs better on lower-end Android devices, so if Duckstation is giving you a hard time, maybe try that one too. Duckstation is available in the Google Play Store for free.
Under App Settings, not a lot needs to be changed here. I recommend going to the Enhancements section and adjusting the Resolution Scale depending on how much you want to upscale your 3D graphics. For reference, 3x is 720p and 5x is 1080p. Also in App Settings > Enhancements, turn ON the PGXP Geometry Correction to reduce wobbly polygons; this may negatively affect performance so you may have to adjust as needed.
Recommended file types: Duckstation supports .bin/.cue, .iso, .img, .chd, .pbp, and .m3u file types. I recommend converting your bin/cue and iso files to .chd to save on file space, and using .m3u files or .pbp files for multi-disc games. You can learn how to do that by reading this guide.
This app is the best Nintendo 64 emulator available on Android, and is in active development. There is a free version as well as a paid version ($4) that removes ads, and also provides cloud saving and netplay features.
To improve the navigation experience, go into Settings > Input > Show in-game menu > When slide gesture is used. Now, you can swipe from the left side of the screen to bring up the Mupen64 side panel when in a game, to easily save your game, exit, etc.
The default emulation profile is Glide64-Accurate. In general this is the best profile to use. If you want to change it to a new default profile, go to Profiles > Select Profiles > Emulation profile and make the change. To change it per-game, tap on a game then select Settings > Emulation profile and adjust it there.
Yaba Sanshiro 2 is a standalone Sega Saturn emulator that is in active development. There is a Pro version ($5.60) which disables ads and prompts to upgrade. This app will provide the best emulation performance, but if you have a powerful enough system, you could also try the RetroArch Yabasanshiro core to take advantage of the integrated and streamlined settings available within RetroArch instead. Note that the standalone Yaba Sanshiro emulator does not work with most Android frontend apps, so in that regard RetroArch may be more ideal for your setup.
The navigation menu for Yaba Sanshiro 2 can be a little weird looking on some devices (like smartphones), so one quick fix is to go into Settings > Game Select Screen > Force Android TV Mode. That might look better on your device.
BIOS: If you want the original Saturn boot video sequence within the standalone emulator, you must place the BIOS file (saturn_bios.bin) in the yabause/bios folder on your internal storage (this folder will only appear once you have opened the app at least one time). You can achieve the same result with RetroArch by placing the BIOS file in the RetroArch system folder.
Redream is an excellent Dreamcast emulator, and my favorite. It is free from the Google Play Store but you will need to upgrade to the Premium version (via in-app purchase, $6) to be able to upscale your resolution. This one-time purchase will be linked to your Google Play Store account and work on any device you use that account on. If you want a free app that allows for upscaling, you can try the Flycast app, or RetroArch if your device is powerful enough.
Recommended file types: .chd or .gdi files. See my CHD section for instructions on how to convert .gdi files to compressed .chd files using CHDMAN. Also, .cdi files will work but that is a legacy file type that can omit important game information.
When it comes to Nintendo DS emulation on Android, the only viable option is the DraStic emulator. It is a paid app, and costs $4.99. Another standalone option (which is free) is MelonDS, but its development is not as far along as with DraStic.
When starting up the app, it will ask you to download the PS Vita firmware and font pack, with handy links directly to those files within the app. From there, you can create a faux account/ID and browse the menu.
Vita3K is still in early development, and many games will not play accurately. For a full list of compatible games, here is a list of their retail games, as well as homebrew games. For best results with Snapdragon/Qualcomm devices, try to add custom drivers compatible with your device. Here is a list of driver releases.
There are many different versions of the Dolphin emulator available for Android. The primary app, which you can find in the Google Play Store or their website, is the most accurate of the emulators, and has very good performance with the OpenGL backend. However, in the past it required a powerful device to run properly, and many forks were created of this app to focus more on performance than accuracy. Over time, the official Dolphin team has implemented a lot of optimizations to their app, and now the official app stands toe-to-toe with some of the more performance-focused options.
The Dolphin emulators have the ability to save per-game settings. To make per-game settings, long-press on the game in the main menu, and then make your adjustments. This is handy if you want to enable widescreen for only certain games, or adjust the upscaled resolution for the games that work best on your device. Additionally, I use this feature to adjust the controls for certain games like Wind Waker or Spyro, so that the c-stick (right analog stick) moves in the opposite direction of the default settings (simply map up as down, and left as right) to create a more modern feel.
The most advanced and feature-rich PlayStation 2 emulator was called AetherSX2, and until 2023, it was under steady development. Since then, development has ceased and now the recommended emulator is called NetherSX2.
PS2 emulation is exceptionally tricky, I recommend a Snapdragon-845 or equivalent device for the best performance (four big Cortex-A75 cores would be a good example). Devices with Adreno GPUs work best, and Mali or PowerVR GPUs will have degraded performance.
Of all the apps in this guide, this one will rely most heavily on per-game settings. You can set this up by long-pressing the game in the main menu, then select Game Properties > Game Settings and make your changes there. You can also adjust settings while in the game itself, by tapping the info button on the top-right corner to access Game Properties.
3a8082e126