Batocera on Raspberry Pi 4: Installation and First Steps

how to install batocera on raspberry pi

Retro gaming on Raspberry Pi is starting to be a crowded market: Recalbox, Retropie, Lakka, and others all offer almost the same thing
A few month ago, I heard about a new competitor: Batocera
I have tested it today, and I share with you here what I have learned

How to install Batocera on Raspberry Pi 4?
Batocera is a recent retro gaming solution, based on Recalbox
It’s available on PC but also on most single board computers (including Raspberry Pi)
You can find an image on their website and install it on a SD card with Etcher for example

So, the installation part is almost like any other distribution but I will also tell you their origins and give you a few tips to get started quickly with Batocera

Batocera presentation

Introduction

As I already told you, Batocera is a retro gaming solution based on Recalbox
So, it’s also a potential alternative to Retropie and Lakka for example

The project started in 2016 as a fork of Recalbox with former Recalbox developers
The reasons and goals are unclear for me, but I suppose that it’s a difference of opinions on the future of the distribution

Batocera seems to be a random name chose by the creator of this project (his son’s favorite insect is a bat)

Differences with Recalbox

As the project is still young, there is no major differences between both for now
You can check the Batocera changelog here, but there is no “major project” that they put first that could explain the reason of this fork
However, they released many fixs and upgrades that add more compatibility for hardware and software

I read in a few forums that performance are often better on Batocera, and that more components are recognized directly by the systems
So, you probably need to try it and compare. It may be better for some of you, but most people won’t see any difference.

If you don’t know what is Recalbox, you can find my complete guide on Recalbox here

Raspberry Pi 4

They recently announced a full support of the Raspberry Pi 4 (in April 2020)

So, it’s good news as we want to play games on it, but a bit late compared to some other competitors
Releasing a compatible version 6 months before Retropie would probably have helped them to become more popular

Anyway, let’s jump to the installation (on Raspberry Pi 4 by the way)

Installation

Download

An image of Batocera is available directly on this page
Scroll down and find your Raspberry Pi model
It’s also compatible for Odroid, Tinkerboard and Rockchip boards if you are in this case

Click on the corresponding picture and wait for the file to download

SD Card preparation

You’ll get a file with a .img.gz extension, there is no need to extract it
Just follow these steps to create your SD card :

  • Download and install Etcher if you don’t have it yet
  • Start Etcher
    A window like this shows up:
    etcher menu
  • Click on “Select image” and browse to the file you just downloaded
  • Insert your SD card, it should select it automatically in the center of the window
  • Click on “Flash!” to start the copy

A few seconds later, your SD card is ready to use

First Boot

Insert the SD card into the Raspberry Pi and start it
After a few automated steps, you should arrive directly in EmulationStation

Configuration

If you already played with Retropie or Recalbox, you shouldn’t be lost here
But there are a few differences, so I will give you the first steps to get started with your device configuration

For example, there is no “Configuration” screen like in Retropie, but there are the “Favorites” and “All games” submenus
Also, there are a few games already available as demo content

Configure a controller

If you have a controller plugged, Batocera will not ask you to configure it directly on first boot
You’ll get the configuration wizard only once you press a button

  • Press any key on your controller to show the popup message
  • Then hold a key until the wizard appears

    This menu should be familiar if you already used a system with EmulationStation
  • On each line, press the corresponding key you want to use for this action
    If you don’t have enough keys to configure everything, keep one key pressed until the wizard skips the line
  • Once done, press OK at the bottom of the screen and you can now use your controller to do everything (menus and games)

Network configuration

You can now press “Start” to access the main menu
If you don’t have a controller yet, you can use the “Space” key on your keyboard (and directly check my recommended product page to find one because playing these games with a keyboard is boring ^^)

Anyway, once in the main menu, click “Network settings” to configure anything you need about this

If you are using an Ethernet cable on a network with a DHCP server, it should already be OK
If you want to use Wi-Fi or change something, you can do it here

For the Wi-Fi, you need to first enable it
Then you can select your SSID in the list and enter your passphrase

Once connected, take note of the IP address. You’ll need it later to copy games to the Raspberry Pi

Updates & Downloads

As I told you, there is no Configuration menu in the systems list, no Retropie script or anything you can be used to with other systems
Everything is included in this main menu (and it’s a good idea, I think)

As you just installed it there is no update available, but for information this menu allows you to manually start software updates (Main Menu > Updates & Downloads)

You can also download themes directly here, which is very interesting

Once selected, your download progress appears in overlay in the top right of the screen

UI Settings

The UI Settings submenu allows you to configure everything concerning EmulationStation

For example, if you downloaded a theme in the previous part, you can select it here
Once selected, Batocera will reload and display your new theme

You can also change other settings here like the default game console to open on boot

Other settings

For the other settings, the interface is very intuitive, so you should find everything by browsing in each submenu
For example, if you want to use a Bluetooth controller, you can pair it in the “Controllers settings” submenu

If you want to use SSH or SFTP, SSH is enabled by default so you can use it directly
The default login is “root” and default password is “linux”

As you may have already noted, Kodi is pre-installed on Batocera, so you can use it directly from the main menu
Kodi is a media center tool that you can use to watch movies on the same device (more details here)

Play a game

Download ROMs

If you are new to retro gaming on Raspberry Pi, the first step to play games is always to download them
I already have a tutorial that explain everything here, so I let you check it if you need some help about this

Games files are the same on any system, so don’t look specifically for Batocera ROMs
If you have no idea what to try, you can check my 12 favorites games here

Let’s find your first ROM and move to the installation part

Install games

The game installation is almost the same as with any other retro gaming system
A network share is available directly after the installation, so I suggest using it :

  • Extract the downloaded files
  • Copy the ROM files and go to this path:
    \\IP

    For example, in my case it’s \\192.168.222.31
    I showed you previously where to find the IP address
    From Linux, you’ll probably use “smb://IP”
  • Open the share folder at this location, you’ll get something like this :
  • Go into the ROMs folder and find the one corresponding to your ROM file
    There may be some slightly difference with the common names
    For example, Super Nintendo is “snes” or PlayStation is “psx”
  • Copy the files here
    Do the same thing for each new game you want to play

Start a game

Once your game on the SD card, you need to reload EmulationStation to refresh the game menus
You can restart the system completely or use this option:

  • Open the Main Menu (press start)
  • Go to Games Settings
  • Scroll down to “Update Games Lists”
    Click on it and confirm
  • The Batocera interface reloads, and your new games will now be available

From here, just press B to start the game ๐Ÿ™‚

Note: the scraper seems to work directly with the default settings (at least for the games I tested), which is not the case with most of the other alternatives. So, good point for this

Conclusion

That’s it for this quick overview of Batocera on Raspberry Pi
For now, the system doesn’t offer many new things compared to Recalbox or even Retropie
But it’s probably a project we need to follow, if they build a team with the most motivated elements from Recalbox, the difference may increase quickly between both projects

If retro gaming is a topic you are interested in, you’ll find many topics on this website, for example :

And as always, if you have any question or anything to add, feel free to leave a comment below ๐Ÿ™‚

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

As you found this post useful...

Spread the word!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

2 comments

  1. Nicolas Adenis-Lamarre Reply

    Hi,

    thanks a lot for your nice article.
    Don’t hesitate to come on Discord in case of questions ๐Ÿ˜‰

    Via an answer, i would like to complete please.

    1) The distro
    There a several distros to do retrogaming. And this is all for the pleasure of the gamers ๐Ÿ˜‰
    There can choose the one that best fit their needs.
    And from my point of view, the 4 you mentions are very different (users can find a full list here https://batocera.org/others_distributions)
    – retropie is like a desktop system on top of which some emulators and es are preinstalled. It is very customizable, you can add/remove any software easyly, you can do a lot of configuration. The conterpart is that it is harder to configure, at least than batocera.
    – lakka is part of the retroarch project. It is more to make alive retroarch in a distro and show all its possilities. The counterpart is that you’ve not what is not working with retroarch.
    – batocera and recalbox target end users only. Programs have been customized to be more integrated. There a delivered as static images. the counterpart is that you cannot add/remove software. In the case of batocera, you can found a derived disto (batocera.plus, not a fork, it is more like ubuntu and kubuntu) which adds extra programs like firefox for different user needs.

    2) The fork
    I can read there and there that batocera is a fork of recalbox.
    The only reason of this, is that i didn’t own the recalbox.com. Otherwise, it would have been the contrary.
    I have lead recalbox for more than one year (while the project was less than 2 years). And today, there is no more people from the fork period on the recalbox team (according to the git) while you can still find such people in the batocera commits.
    By the way, the fork source resides in 1 strong point and 2 steps.
    If you read the book “the cathedral and the bazaar” (a very short book at http://www.unterstein.net/su/docs/CathBaz.pdf), this is the story behind batocera and recalbox.
    in short 2 points :
    – 1 way of working (the bazaar theory)
    Since i were on recalbox, i introduced points to archieve this way. And i thought since a long time to fork while i loosed a lot of time to apply it.
    – some modifications that were refused and that caused the definitive fork.

    I’m a bit disappointed you didn’t notice this point as the main difference between recalbox and batocera.
    Let me explain :
    The bazaard theory can be resumed in 2 points : imply a part the users in the development process, and base the development on motivation of people (developpers and users). This is often resumed on “release early, release often”.
    Not later than yesterday, at work, i explained to some industrial people the success of batocera thanks to the bazaar theory and i took the recent rpi4 development as an example. (this presentation is unfortunatly private and cannot be shared). I were not motivated by the rpi4 ; it is not a machine designed for retrogaming. A lot of people who bought one were very motivated to work on it. Unfortunatly, the first step (port batocera on it) is difficult for most of people. However, doing this part is 10% of the work. The rest is to tests the different emulators, tests options, report, and so on. I ported the very first version of batocera on the rpi4 on 2 evening – this was very short, demetris from the lakka team helped me -. Just image and sound. (In fact, it was working quite well, because it were similar to a previous port i did for an other board). Less than 1 hour after i manage to make it work, people were downloading this first image, testing, reporting, in short, doing the 90% of the rest of the work. The end the port consisted on watching youtube video to see people reporting on what’s working and what’s not.
    Just a parenthesis in the parenthesis (because you’ve notice i’ve still not explain the big difference) : while uploading the first rpi4 image, i didn’t notice the dreamcast was working so well on rpi4. I’ve seen that on video the day after. A lot of people think it is thanks to the rpi4 only. In fact, at the same time, we have updated and changed the default emulator for the dreamcast from reicast to flycast. So, several people are comparing rpi3+reicast and rpi4+flycast to tell that the rpi4 is really really better.
    So, what’s that difference ?
    On recalbox, you cannot technically do : release early, realease often. In practice, people have to reinstall all each time. And in practice, there is 1 version by year, user feedback comes very late.
    A contrario, you could have installed the first version of batocera 5 years ago, and still using the same sdcard without having to reinstall it in 5.26 5 years later (i’ve such cards) : on batocera, you can update from 5.25 to 5.26 very easyly and even, you can revert from 5.26 to 5.25 (or to 5.24) if something goes wrong with you (even if the system doesn’t boot anymore). This is because batocera is a single file (which is called batocera, the second file is linux, so you understand maybe better the full name batocera.linux ; the rest of the files on your board are just specific to the board and cannot be removed).
    Allowing users to switch version as much as they want was not the first (the first was to secure the system with a read only image which i did while on recalbox), but one big step in application of the bazaar theory.
    batocera beta versions are available every week, sometimes every days, sometimes several time per day, people can update as soon as they want. Generally they do because we fix their issues or because we’ve just validated a great feature.

    3) The name
    The name is not totally random.
    I saw one time in my life a batocera rufomaculata.
    It is a big bug of 10 centimeters ; a single hard piece when sleeping. But it becomes wonderfull, like a flying ball when it is alive.
    This is exactly the image of batocera : a single file that shows all its features when living into your board.

    • Patrick Fromaget Post authorReply

      Wow, thank you very much for this comment (and sorry for my mistakes :/)

Leave a Reply

Your email address will not be published. Required fields are marked *