how to install batocera on raspberry pi

Batocera on Raspberry Pi 4: Installation and First Steps

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 months ago, I heard about a new competitor: Batocera.
I have tested it today, and I share with you here what I have learned.

To install Batocera on a Raspberry Pi, download the image on the official website and flash it on a SD card with a tool like Etcher.
Once done, all the configuration can be done from the Start menu.

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.

By the way, if you are regularly using your Raspberry Pi as a retro-gaming platform, I highly recommend finding an excellent controller, it will change your life. I currently recommend this one on Amazon, as it works perfectly for any console emulation. Good luck if you play to PlayStation games with a NES controller 🙂

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 were unclear for me, but hopefully, you can read the great comment of the lead developer at the end of this post.

https://youtu.be/GK4OtN_gYNI

He also explains the story behind the Batocera name:

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 wonderful, 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.

Differences with Recalbox

As the project is still young, there is no major differences between both for now.
You can check the Batocera change log here, but there is no “major project” that they put first that could explain the reason of this fork.
However, they released many fixes 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.

My favorite games!
Get a list of my 24 favorites games (with links) to play on Retropie, Recalbox or Lakka
Download now

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.

Join Our Community!

Connect, learn, and grow with other Raspberry Pi enthusiasts. Support RaspberryTips and enjoy an ad-free reading experience. Get exclusive monthly video tutorials and many other benefits.

Learn more

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.

My favorite games!
Get a list of my 24 favorites games (with links) to play on Retropie, Recalbox or Lakka
Download now

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 explains 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.

Download Your Essential Linux Commands Guide!
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now

Video

Download Your Essential Linux Commands Guide!
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now

🛠 This tutorial doesn't work anymore? Report the issue here, so that I can update it!

Want to chat with other Raspberry Pi enthusiasts? Join the community, share your current projects and ask for help directly in the forums.

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 in the community 🙂

Similar Posts

2 Comments

  1. 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.

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

Comments are closed.