Save Time with This Easy Hack to Install Batocera on Your Retroid Pocket 5!

The Retro Game Corps channel served as my gateway, much like a significant section of the Retro Handheld community. One thing that struck me in our own Team Retrogue's written tutorial and Russ' most recent video demonstrating Linux on the RP Mini is the assumption that the sole method to move ROMs onto the Batocera SD card is via the network. Although it will always work, this file transfer method is extremely slow (Russ stated it took him almost three hours to transfer his ROM set).

I'm here to tell you that there is a more straightforward solution.

The Retroid Pocket Mini and Retroid Pocket 5 are not the only models with this issue. Other devices running Batocera (or Batocera forks) with a single SD card, such as the Steam Deck, my cherished RGB10, or a TrimUI Smart Pro running Knulli, may also be impacted.

The Cause of the Problem

Like the majority of desktop Linux operating systems, Batocera has two partitions. The two primary partitions are the Boot Partition, which contains the software that loads the operating system, and the Data Partition, which includes user data such as BIOSEs, saves, configurations, and ROMs.

Devices with two SD cards may have the data partition on SD2 and the boot partition on SD1. Both partitions are made when an image is burned to an SD card using a program like Blana Etcher, and they must both be on the same SD card on a device with a single SD card.

The Boot Partition must be in fat32; however, the Data Partition may be in ext4, BTRS, or ExFat. Batocera demands these formats for the partitions.

Quick Summary of the 4 Data Formats

  • The Fat32 format is perfect for a boot partition since it is ubiquitous and can be read by any machine. However, it is unsuitable for a data partition because it cannot handle huge files.
  • Although ext4 is the default format for contemporary Linux machines, it requires additional software to access on Windows or Mac computers. Although this results in file loading issues, it should enable faster data readings within Batocera. The Data Partition isn't recognized on Windows or Mac devices since it defaults to ext4 when a Batocera image is burned on a single SD card.
  • Another Linux data format that puts fault tolerance first is BTRFS. While it works well for network storage, SD cards running Batocera don't work well with it.
  • In contrast, ExFAT is a universal format that may be used without extra software on Mac, Linux, and Windows systems. It is ideal for transferring ROMs.

Converting to ExFat

The Data Partition must be reformatted to ExFat to facilitate the easy transfer of ROMs. While Batocera has a menu option to achieve this (which we'll discuss near the conclusion of the article), it only functions on x86 devices, such as the Steam Deck, and isn't yet compatible with ARM devices, such as the RP Mini or the RP5. We must manually convert the format instead.

To accomplish this, we will require the RP Mini/RP5, a computer, an SD card reader, and an SD card.

Step 1

We must install Batocera on an SD card from scratch. We use a program like Blana Etcher to accomplish this on our PC. As of this writing, the most recent pre-release version of Batocera for Retroid devices is accessible here.

Step 2

We must finish Batocera's initial bootup on the Retroid device. On a Mini/RP5, we must hold down Volume Up while booting up and then choose the second option to boot to the SD card. When Batocera first boots up, it will place the data partition in the second section of SD1 and enlarge it to fill the entire available space on the card. We must allow it to finish this activity. The activity is completed when the EmulationStation menu appears, at which point we can turn off the Mini/RP5.

Step 3

Reinstalling the SD card on the PC is necessary. After the ext4 partition is deleted, an ExFat partition must be manually created in its place. On a Mac, open Disk Utilities, and a Windows device, open "Create and Format (Partition manager)." Two partitions should be seen after the application has loaded: the Data Partition, which won't be recognized, and the Fat32 Boot Partition, also known as "Batocera."

On Windows, you must first delete the partition by right-clicking on it and selecting the "Delete" option. After that, you must create a new partition by choosing the "ExFat" format and right-clicking on the space that appears. On a Mac, the Erase option can be clicked after selecting the Data Partition.

The SD card can be removed and reinserted into the Retroid Device after the ExFat partition has been formed.

Step 4

Holding down the Volume when booting up and selecting option number two will allow the Retroid device to boot to the SD card. Batocera will now identify the empty Data Partition and add the necessary structure.

Batocera looks for a data partition at the specified location during each bootup. One determines whether the proper folder structure exists and, if not, creates one if it locates the area in one of the accepted formats. The Retroid device can be turned off, and the card can be removed one last time when the boot processes are finished.

Step 5

Reinstalling the SD card should recognize both partitions; the new data partition will be named "Share," and the boot partition will be labelled "Batocera." Now that the sharing partition is visible, Roms can be moved to the appropriate area within the Roms folder (for example, SNES Roms belong under the SNES folder), and Bios files may be moved to the Bios folder.

Once the Roms have been moved, the card may be reinserted into the Retroid device, which will boot into a fully functional Batocera build.

The data transmission speed for the Rom files should be significantly faster, which will save time overall, even though moving the SD card between two devices is a pain.

A Word of Warning

According to the Batocera Wiki, switching the data partition to ExFat will result in performance issues on particularly high-end systems. Even if this is the case, it will not affect anything lower than the PS2/GameCube. I've never noticed any performance problems, and the simplicity of file transfers outweighs the possibility of slower performance on sophisticated emulators like the PS3 or Xbox.

Will this work for ROCKNIX?

Although I haven't tested this on ROCKNIX, the same procedure is likely to work on both Batocera and Rocknix.

A Faster, Better Method, only for x86 devices

Although we have discussed the manual format of the Data Partition as ExFat, the Batocera menu also offers an automated option; however, it is limited to x86 devices like the Steam Deck or other Windows devices. Here are some instructions in case they come in handy.

The option is in system Settings -> Frontend Developer Options -> Format a Disk.

The "Device to Format" and "File System" settings in this menu should be set to "Internal" and "ExFat," respectively. After that, you can choose "Format Now" and wait. The device must be rebooted after the formatting is finished for the modifications to take effect.

A Big Thank You

Without RH's J-Dubya, who assisted me greatly with testing and images, this piece would not have been possible.