Emulating classic gaming systems on mobile devices has turned from a difficult task for enthusiasts into accessible entertainment for every smartphone owner. RetroArch is not just an emulator, but a powerful shell that combines dozens of different emulators (kernels) in one application. This allows you to run games from level consoles Nintendo Entertainment System, PlayStation 1, Sega Mega Drive and many others on one device.
The main advantage of this approach is the unification of settings. Instead of having to configure controls and graphics for each individual game in different applications, you configure once and those settings apply to all supported systems. However, the initial setup may seem confusing due to the abundance of options and specific terminology. You will have to understand the concepts of โcoreโ and โplaylistโ to begin immersing yourself in the world of retro gaming. RetroArch, and these settings apply to all supported systems. However, the initial setup may seem confusing due to the abundance of options and specific terminology. You'll need to understand the concepts of "core" and "playlist" to begin your dive into the world of retro gaming.
For the application to work correctly, you will need a modern smartphone with at least an average processor, especially if you plan to run โheavyโ systems like PlayStation Portable or Nintendo 64. Having enough free memory is also critical, as game images (ROMs) and BIOS files can take up significant space. Let's look at the installation and configuration process step by step so that you can immediately start playing.
Application installation and initial setup
The first step is to obtain the latest version of the software. The official store Google Play often contains outdated builds that may not support loading new kernels or have stability problems. It is recommended to download the application directly from the official developer website or through trusted repositories, such as F-Droid. This ensures that you get the "Online Updater" function, which is necessary to further expand the app's capabilities.
After installation and the first launch, you will see an interface reminiscent of a console menu. Don't be intimidated by the abundance of items. Initially, the application is almost empty, since the emulator kernels are not built into the main file for licensing reasons and the size of the distribution. You need to download them manually via the built-in downloader. Go to section Online Updater, then select Core Updater. Here is a complete list of supported systems.
First, it is recommended to download kernels marked "Recommended" or specific system names, for example, "Nintendo - SNES / SFC (Snes9x)", so as not to overload the device with unnecessary files.
The choice of the right kernel depends on your hardware platform. For most 8-bit and 16-bit consoles, the standard options will work. If you are the owner of a powerful processor-based device, you can experiment with cores that use hardware acceleration. After loading the kernel, it will appear in the list of available ones for launching. Now the system is ready to load content, but for a comfortable game, control settings are required. Snapdragon, you can experiment with kernels that use hardware acceleration Vulkan or OpenGL. After loading the kernel, it will appear in the list of available ones for launching. Now the system is ready to download content, but for a comfortable game you need to configure the controls.
Configuring controls and connecting a gamepad
Touch controls on a smartphone screen are often inconvenient for dynamic games, so connecting a physical controller is a priority. RetroArch supports a wide range of input devices, from the original ones gamepads DualShock and Xbox to budget Bluetooth controllers from 8BitDo. The connection is made in the standard way through the Bluetooth settings of your Android device.
After pairing, you need to configure the button mapping inside the application. Go to Settings (Settings), scroll down to the Inputsection. Here you will find item Port 1 Controls. By clicking on it, you can assign actions to each physical button on your controller. It is important to ensure that analog sticks and triggers are recognized correctly, as some older games require precise calibration.
- ๐ฎ Connect the gamepad in Android compatibility mode (usually XInput or DInput mode).
- โ๏ธ In the menu
Inputset the parameterMenu Drivertoxmborrguifor more convenient navigation. - ๐ Use an OTG cable for a wired connection if the Bluetooth connection has input lag.
Particular attention should be paid to the "Quick Menu" function, which is called by a key combination during the game. The default is often a combination of the select and start buttons. In this menu you can quickly save progress, load the state (Save State) or change kernel settings on the fly. This eliminates the need to go to the main application menu every time you need to change a setting.
Loading and organizing game libraries
The application itself does not contain games. You need to independently find disk or cartridge images (files with extensions .iso, .nes, .sfc, .gba, etc.) and place them in the device memory. For convenience, it is recommended to create a separate folder, for example /RetroArch/ROMs, and sort the files into subfolders according to consoles. This will simplify the process of scanning and creating playlists.
The process of adding games is called "scanning". In the main menu, select Import Content, then Scan Directory. The file navigator will allow you to select the folder where your games are stored. Once selected, the file analysis process will begin. The application will try to determine the hash of each file and match it with the database, downloading covers and descriptions if possible.
Why do some games not appear after scanning?
If a game does not appear in the playlist, it may have a different file name or the format is not supported by the selected engine. Try renaming the file in accordance with the standard names of the No-Intro or Redump databases.
After the scan is completed, new icons with logos of the corresponding consoles will appear in the main menu. These are your playlists. Clicking on this icon will open a list of available games. It is important to understand that some systems, such as PlayStation 1 or Sega CD, require BIOS files in addition to game files. They must be placed in a folder System inside the directory RetroArch, otherwise the games will not start or will work with errors.
Adjusting graphics and performance
The image quality in emulators depends not only on the resolution of the original console, but also on the video driver settings. In the Settings -> Video section you can select the rendering driver. For modern devices, the best choice is often vulkan, which provides better performance and shader support. If artifacts occur, try switching to gl (OpenGL).
One โโof the most requested features is the use of shaders. They allow you to smooth out pixelation, imitate the glow of old CRT monitors (CRT) or add a scanline effect. To activate them, go to Quick Menu during the game, select Shaders and turn on the switch Video Shaders. Next, you can load a preset, for example crt/crt-guest-advanced, to achieve an authentic look.
| Setting parameter | Recommended value | Impact on the system |
|---|---|---|
| Video Driver | Vulkan / GL | FPS stability and compatibility |
| Threaded Video | Enabled (ON) | Reduced input lag, possible increase in CPU consumption |
| GPU Record | Disabled (OFF) | Saving resources if not recording video |
| Shader Type | Slang / GLSL | Image post-processing quality |
Enabling the Threaded Video function can significantly reduce control latency, but on weak processors this sometimes leads to audio desync.
Don't forget about the aspect ratio. Many older games had a 4:3 aspect ratio, while modern smartphones use wide 18:9 or 20:9 screens. In the video settings, set the parameter Aspect Ratio to Core or 4:3so that the image does not stretch and the characters do not look unnaturally wide. Black bars on the sides in this case are the norm and guarantee the correct geometry of the game world.
Solving problems with audio and delays
Sound in emulation is a sensitive parameter. Incorrect settings can result in crackling, stuttering, or lag between audio and video. In the section Settings -> Audio pay attention to the parameter Latency. Decreasing this value reduces latency but increases CPU load. If you hear clicking, try increasing the latency or changing the audio driver to opensl or aaudio.
โ ๏ธ Attention: On some Xiaomi and Huawei devices, an aggressive power saving system may kill the emulation process in the background or limit the processor frequency, which leads to slower games. Add the application to battery exceptions.
It is also worth checking your mixer settings. Make sure that the emulator volume level does not conflict with the Android system settings. If you are using a Bluetooth headset, audio delay may be unavoidable due to transmission protocol limitations. In such cases, it is recommended to use wired headphones or smartphone speakers to synchronize the sound with the actions on the screen.
Saving progress and using states
One โโof the main advantages of emulation is the ability to use "Save States". Unlike regular in-game saves, which only work in designated areas, states allow you to save your progress at any point in time. This is implemented through the menu Quick Menu -> Save State i Load State.
However, relying only on states is risky. Save files may become corrupted due to kernel updates or application crashes. It is recommended to periodically use the standard save function within the game itself (if provided by the developers), and use states as an auxiliary tool for quick experiments or passing difficult sections. Save files are usually stored in a folder Saves, and states are in States.
- ๐พ Use save slots (Slot 0-9) to create several rollback points before taking risky actions.
- ๐ Back up folders regularly
SavesandStatesto a cloud drive or computer. - ๐ To transfer progress to another device, copy files with the extension .srm (game) and .state (state).
The "Rewind" function is available in many kernels and allows Rewind the game a few seconds in case of an error. This requires enabling the option Enable Rewind in the settings and significantly increases the load on RAM, since the system needs to constantly buffer frames. Use this feature with caution on devices with 4 GB of RAM or less.
Frequently asked questions (FAQ)
Why do PlayStation 1 games slow down even on a powerful phone?
The problem may be in the selected kernel. Try using the kernel for better compatibility or for higher resolution. Also make sure that hardware acceleration is enabled in the video settings and the correct driver (Vulkan) is selected. PCSX ReARMed for better compatibility or Beetle PSX HW to increase resolution. Also make sure that hardware acceleration is enabled in your video settings and the correct driver (Vulkan) is selected.
Where can I get BIOS files and is it legal?
BIOS files are proprietary software of consoles. Technically, you have to retrieve them from your own console. They are widely available on the Internet, but downloading them may infringe copyright in your jurisdiction. Without these files, many emulators (especially PS1, Sega CD, NeoGeo) will not start.
How to add covers for games if scanning did not work?
If automatic scanning did not find covers, you can download them manually via Online Updater -> File Browser (to download playlists from art covers) or use third-party utilities on your PC to generate playlists with metadata before copying them to your phone.
Is it possible to play online in RetroArch on Android?
Yes, the Netplay function allows you to play with other users. To do this, both players must use the same kernel versions and the same game files (with an identical hash). Configuration is carried out through the menu Netplay, where one user creates a room (Host), and the second connects to it.
Why does the sound lag behind the picture?
This is a classic desynchronization problem. Try turning on the option Fast Forward for a short time to catch up with the audio, or change the value Audio Latency in the settings. Also check if the power saving mode is enabled on your smartphone, which limits the processor frequency.