Batocera.linux just crossed a quiet but important milestone. The retro-gaming operating system’s current stable build, version 43.1 “Glasswing,” has held the top spot on the official download page since May 30, 2026, and it now ships with more than 200 emulated systems configured out of the box. For anyone who has ever tried to build a retro gaming PC or turn a spare Raspberry Pi into a game console, that number alone explains why “batocera” pulls in roughly 18,100 monthly US searches, according to keyword data pulled in September 2026, and why competing install walkthroughs keep multiplying: Shattered.io published its own “200+ systems” setup guide in July 2026 condensed into 12 steps, while this Tech-Insider guide, published in September 2026, breaks the same 43.1 install into 13 steps. This tutorial walks through the entire install process, from picking the right hardware to pairing a controller and adding your first BIOS file, using the current 43.1 release.
Unlike RetroPie, which sticks close to Raspberry Pi boards, or Recalbox, which trades flexibility for simplicity, Batocera runs as a full standalone operating system across x86 PCs, Raspberry Pi 4 and 5, Odroid single-board computers, RK3588-class boards, and a growing list of handhelds. That range is also why setup questions vary so much between devices. This guide covers the parts that apply almost everywhere, flags the parts that don’t, and calls out the mistakes that trip up first-time installers most often.
What makes Batocera worth the extra install steps compared to just buying a pre-built retro console is control. You choose exactly which systems get set up, exactly how much storage you dedicate to each library, and exactly which controller layout feels right, none of which a locked-down commercial mini console lets you touch. The tradeoff is that nothing about the process is automatic the way a plug-and-play device would be, and getting from a blank USB drive to a working library with BIOS files, mapped controllers, and scraped artwork takes a specific sequence of steps done in the right order. That’s what the rest of this tutorial walks through.
Every step below is written against the 43.1 Stable release running on x86_64 PC hardware, with notes throughout for where Raspberry Pi, Odroid, and handheld installs diverge. If you hit a step that behaves differently on your specific device, the official devices documentation is the best place to check for board-specific caveats before assuming something is broken.
Don't miss new tech stories on Google
Add Tech Insider once in the Google app and our stories appear in your news suggestions.
What Is Batocera, and Why 200+ Systems Matters
Batocera.linux is a free, open-source Linux distribution built specifically to boot straight into EmulationStation, the same front-end interface RetroPie also uses. There’s no desktop to click through, no drivers to install separately, and no package manager to configure. You flash an image, boot the device, and land directly in a console-style menu of emulated systems. The project’s own summary puts it plainly: “Batocera.linux is ready for use, and supports most controllers out of the box. Download, flash, connect and play!” according to the official batocera.org homepage.
The “200+ systems” figure isn’t marketing rounding. Batocera’s official systems documentation lists platforms ranging from the Atari 2600 and NES through PS2, GameCube, Dreamcast, PSP, and even partial 3D-era coverage like early PS3 titles on capable hardware. Not every system runs well on every device, which is the first thing to sort out before you download anything. A Raspberry Pi 4 with 4GB of RAM handles PS1, N64, and Dreamcast comfortably. A Raspberry Pi 5 pushes further into PSP, Saturn, and partial GameCube territory. An x86_64 mini PC with a dedicated GPU can realistically reach further still.
Version 43.1 replaced Batocera 42 “Papilio,” which launched in October 2025. The jump from 42 to 43 “Glasswing” landed on May 8, 2026, with the 43.1 patch following three weeks later on May 30, 2026, according to the project’s official changelog. As of early September 2026, 43.1 remains the version listed on the download page, so this tutorial builds entirely around that release.
Stable vs Butterfly: Which Batocera Build Should You Install?
Batocera publishes two parallel release tracks, and picking the wrong one is an easy mistake for a first-time installer to make. The Stable channel, currently 43.1, is what the download page defaults to and what this tutorial assumes throughout. It receives tested fixes, holds a version number for months at a time, and is the track the project itself recommends for most users, according to the current and previous releases documentation.
The Butterfly channel is Batocera’s rolling-release track, rebuilt continuously from the latest code in the project’s GitHub repository. It picks up new emulator cores, new device support, and new bug fixes faster than Stable, but it can also break overnight if an upstream change introduces a regression. Butterfly makes sense if you’re chasing support for a brand-new handheld or RK3588 board that hasn’t landed in a Stable release yet, or if you’re comfortable troubleshooting the occasional broken core. For a first Batocera build, especially one you’re setting up for a household or a kid, Stable 43.1 is the safer starting point, and you can always switch tracks later from the Updates menu without reflashing from scratch.
Prerequisites: What You Need Before You Start
Batocera’s minimum requirements are deliberately low, but “minimum” and “usable” are different things once you start adding PS2 or GameCube to the mix. Below is what you actually need for a comfortable 43.1 install, based on the official installation guide and current hardware compatibility notes.
| Requirement | Absolute minimum | Recommended for 2026 |
|---|---|---|
| RAM | 1 GB (8/16-bit systems only) | 4-8 GB (PS2, GameCube, Wii) |
| Storage (USB/SD/SSD) | 8-16 GB | 32 GB or larger (required for auto-updates) |
| CPU | Any 64-bit x86 or ARM chip, 2 cores | Intel N100/N150-class mini PC or Raspberry Pi 5 |
| GPU | OpenGL 2.0 compatible | Dedicated GPU or Pi 5 VideoCore VII |
| Network | Optional | Ethernet or Wi-Fi for updates and ROM transfers |
You’ll also need a second computer to do the flashing (you can’t flash a Batocera image from within Batocera itself on first setup), a USB drive or SD card that meets the storage guidance above, and your own BIOS files and ROMs. Batocera does not include copyrighted BIOS files or games for legal reasons, a point the project repeats across its documentation. If you already own the games and consoles, dumping your own BIOS files is the legal path. If you’re unfamiliar with the process, our RetroArch BIOS files guide covers where legitimate BIOS dumps come from and how emulators use them, and the same rules apply to Batocera.
Step 1: Pick the Right Hardware for Your Target Systems
Before downloading anything, decide what you actually want to emulate, because that determines which image and which device you need. Batocera publishes separate images for x86_64 PCs, x86 32-bit PCs, Raspberry Pi (Zero through 5), Odroid boards (odroid-c2, odroid-c4, odroid-n2, odroid-xu4, and others), and a range of RK3588-family boards including Orange Pi 5 and Orange Pi 5 Plus. On the handheld side, the compatibility table lists devices such as Anbernic’s RGxx3 line, the RG351P, the RG552, GameForce and GameForce Ace, the Powkiddy RGB10, and Odroid’s Go Advance and Go Super, and the list keeps growing: Anbernic’s RG40XX-V picked up its own dedicated 43.1 build on June 4, 2026, shipping as batocera-rg40xx-v-43.1-20260604 on Batocera’s official installs list.
- Retro-only (NES through PS1/N64): A Raspberry Pi 4 with 4GB RAM is plenty and keeps cost low.
- Up through Dreamcast, PSP, and Saturn: Step up to a Raspberry Pi 5 or a used mini PC with an Intel N100 chip.
- PS2, GameCube, and light Wii/PS3: You want an x86_64 PC with a dedicated GPU and 8GB or more of RAM.
- Handheld/on-the-go builds: Check the official compatibility table for your exact model before buying, since not every RK3588 or Anbernic board gets an image.
If you’re repurposing an old laptop or building a dedicated retro box from spare Raspberry Pi hardware you already tried with RetroPie, our Raspberry Pi 5 RetroPie build guide is a useful side-by-side reference for how the same hardware performs under a different OS. Batocera and RetroPie both target the same devices in many cases, but Batocera’s all-in-one image and Odroid/RK3588 support give it reach RetroPie doesn’t match.
Performance Expectations by Hardware Tier
One of the most common questions from first-time Batocera users is simply “will my hardware actually run this well,” and the honest answer depends heavily on which generation of consoles you care about. The table below reflects the general capability tiers reported across current 2026 Batocera hardware guides and the project’s own device documentation.
| Hardware | RAM | Comfortable systems | Struggles with |
|---|---|---|---|
| Raspberry Pi 4 (4GB) | 4 GB | NES, SNES, Genesis, PS1, N64, Dreamcast | PSP, GameCube, PS2 |
| Raspberry Pi 5 (8GB) | 8 GB | Everything above plus PSP, Saturn, partial GameCube | Full-speed PS2, Wii U |
| Mini PC (Intel N100/N150) | 8-16 GB | Up through PS2 and light GameCube | PS3, demanding Wii U titles |
| x86_64 PC with dedicated GPU | 16 GB+ | PS2, GameCube, Wii, select PS3 titles | Nothing at the retro tier, limited only by libretro core maturity |
Treat this table as a starting point rather than a guarantee. Emulation performance depends on the specific core Batocera uses for a given system, and some cores (PS2’s are a good example) are far more CPU-hungry per game than others on the same console. If a specific title runs poorly, check whether an alternative core is available for that system before assuming the hardware itself is the bottleneck.
Step 2: Download the Correct Batocera 43.1 Image
Head to the official Batocera download page and select your architecture. The Batocera Wiki’s own installation guide is specific about this step: “Download an image file from the download section on the Batocera website that matches the architecture you want to use for Batocera (x86_64 for most PCs, other devices usually have their own specific image).”
Most modern PCs built after roughly 2012 should use the x86_64 image. Older 32-bit-only machines need the separate x86 build. Raspberry Pi and single-board computer users need to match their exact board revision, since a Pi 4 image will not boot correctly on a Pi 5, and vice versa. The image arrives as a compressed .img.gz file, typically named something like batocera-x86_64-43.1-20260530.img.gz, with the date stamp corresponding to the May 30, 2026 patch release. A Shattered.io install breakdown from May 2026 walks through exactly what those three numeric fields mean: batocera-[architecture]-[version]-[date].img.gz, where architecture, version, and build date are each encoded separately, which is worth knowing if you’re ever troubleshooting a download that doesn’t match your hardware.
Step 3: Flash the Image to a USB Drive, SD Card, or SSD
You have four practical tool choices here, and all work fine with 43.1 images: balenaEtcher for a cross-platform GUI, Rufus if you’re on Windows and want a lighter tool, Raspberry Pi Imager for Pi and SBC installs specifically, or USBImager, which the Batocera Wiki’s own install guide (updated July 2025) recommends alongside Raspberry Pi Imager for flashing x86_64 images. Staresback.gg’s July 2026 walkthrough gets specific on media: use at least a 32GB USB 3.0 stick and Raspberry Pi Imager v1.9 or newer (or USBImager) to avoid slow, flaky writes during the flash.
- balenaEtcher (Windows, macOS, Linux): Open Etcher, click “Flash from file,” select your downloaded Batocera image, choose the target drive, and click Flash. Etcher verifies the write automatically.
- Rufus (Windows only): Select the Batocera image under “Boot selection,” pick your USB drive, leave partition scheme on default unless you have a reason to change it, and start.
- Raspberry Pi Imager (any OS, best for Pi/SBC targets): Choose “Use custom,” point it at the Batocera image file, select your SD card or USB drive, and write.
If you’re on Linux and prefer the command line, the direct dd approach works too, though it gives you zero progress feedback if something goes wrong, so double-check the target device letter first.
zcat batocera-x86_64-43.1-20260530.img.gz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
Replace /dev/sdX with your actual USB device, not a partition (so /dev/sdb, not /dev/sdb1). Run lsblk first to confirm which device is your USB drive. Writing to the wrong device here will silently destroy data on whatever disk you pick.
Step 4: Set Boot Order and Boot Into Batocera
Insert the freshly flashed drive into your target device and enter the BIOS or UEFI boot menu, typically by pressing F12, F2, Del, or Esc during startup depending on your motherboard. Select the USB drive or SD card as the boot device. Batocera boots into a console-style splash screen followed directly by EmulationStation. There’s no username or password prompt on first boot for the graphical interface, though SSH access (covered later) does use credentials.
On Raspberry Pi and most SBCs, simply inserting the SD card and powering on is enough since there’s no BIOS menu to navigate. On x86 PCs, make sure Secure Boot is disabled in UEFI settings first. Batocera images are not signed for Secure Boot and will fail to load if it’s left on.
Step 5: Run First-Boot Setup
On first launch, EmulationStation scans for controllers and asks you to configure at least one input device before you can navigate the menus. Plug in a wired USB controller for this step even if you eventually plan to use Bluetooth, since pairing wireless controllers is easier once you’re inside the menu system. Follow the on-screen button prompts to map your controller’s buttons.
Once a controller is mapped, EmulationStation loads its main system wheel, showing every emulated platform Batocera detected support for on your hardware. At this point the system list will look mostly empty because no ROMs have been added yet. That’s expected, and it gets fixed in Step 7.
Step 6: Connect to Wi-Fi or Ethernet and Note Your IP Address
From the main EmulationStation menu, press Start to open the main menu, then navigate to Network Settings. Ethernet connects automatically in most cases. For Wi-Fi, select your network from the scanned list and enter your password using the on-screen or connected keyboard.
Write down the IP address shown on this screen. You’ll need it in the next step if your PC or phone can’t automatically discover the Batocera device on your network by name, which happens more often than the documentation suggests, especially on networks with client isolation enabled or on macOS clients that don’t resolve .local hostnames reliably.
Step 7: Add ROMs Through the Batocera Samba Share
Batocera automatically exposes a network share named BATOCERA as soon as it’s on your local network, with no manual setup required. This is step 7 of the 13 covered in this September 2026 walkthrough, and it’s where the \\BATOCERA and smb://BATOCERA.local paths referenced below come from. To reach it:
- Open your file manager and look under Network for a device named BATOCERA.
- On Windows or macOS, if it doesn’t appear automatically, connect directly using
\\BATOCERA. - On Linux, use
smb://BATOCERA.localin your file manager’s address bar. - If neither hostname resolves, use the IP address you noted in Step 6 instead, for example
\\192.168.1.42. - Copy your ROM files into the matching folder under
share/roms/[system-shortname], such asshare/roms/snesorshare/roms/psx.
Each system folder name has to match Batocera’s exact shortname or the ROM won’t be recognized. The full list of shortnames is on the systems documentation page, and it’s worth bookmarking since folder names aren’t always intuitive (the PS1 folder is “psx,” not “ps1,” for instance).
Step 8: Add BIOS Files Correctly
Several systems, including PlayStation, Saturn, and most arcade boards, require BIOS or firmware files that Batocera cannot legally include. These go in a separate folder from your ROMs.
/userdata/bios/
Copy your legally-dumped BIOS files directly into this folder using the same Samba share you used for ROMs. Filenames matter here too. A PS1 BIOS renamed incorrectly won’t be detected even if it’s the right file. Our RetroArch BIOS setup guide lists the exact filenames and checksums most emulators expect, and the same naming conventions apply inside Batocera’s libretro cores.
Step 9: Pair Controllers Over Bluetooth
USB controllers generally work the moment you plug them in. Bluetooth takes a couple of extra steps. First, confirm Bluetooth is actually enabled in the system config. SSH into your Batocera device (default credentials are root / linux, which you should change immediately if the device is on a shared network) and check batocera.conf:
controllers.bluetooth.enabled=1
That line needs to be present and not commented out with a leading hash symbol. From the EmulationStation main menu, look for the Bluetooth pairing option, put your controller into pairing mode (the exact button combination varies by controller model), and select it from the discovered devices list.
PS3 controllers pair differently: plug the controller in via USB cable first, wait 5-10 seconds, then unplug the cable and press the PlayStation button in the center. It should pair automatically without needing the Bluetooth menu at all, based on Batocera’s own troubleshooting documentation.
Modern controllers each have their own quirks worth knowing before you start pairing. Xbox Series controllers pair over Bluetooth like any standard device, but a subset of Bluetooth adapters simply don’t handle the handshake correctly, which shows up as a controller that appears in the scan list but never finishes connecting. DualSense and DualShock 4 controllers generally pair cleanly and are recognized natively without extra configuration. 8BitDo controllers often ship with multiple connection modes selectable via a switch or button combo on the controller itself. Make sure it’s set to the mode matching either Switch, Android, or X-input, since the wrong mode can leave the D-pad or face buttons mismapped even after a successful pairing.
Step 10: Install Batocera to Internal Storage (Optional but Recommended)
Running entirely from a USB stick works, but it’s slower and more failure-prone long-term than installing to an internal SSD or HDD. From the main menu, look for “Install Batocera on a New Disk.” This copies your current setup, including configured controllers, to internal storage.
The official installation guide has one specific warning worth repeating in full: when running this step, do not select the same drive you’re currently booting from, or you’ll corrupt the USB stick you’re installing from mid-write. Double-check the drive list shows your internal SSD, not your boot media, before confirming.
Step 11: Configure EmulationStation Themes and the Scraper
With ROMs and BIOS files in place, restart EmulationStation (Start menu > Quit > Restart EmulationStation) so it can detect the new content. Your system wheel should now show populated systems with generic placeholder art. To pull real box art, descriptions, and metadata, use the built-in Scraper under the main menu, which pulls from ScreenScraper by default and needs an active internet connection.
Themes are optional but change the whole feel of the interface. Batocera ships with a default theme, and additional community themes can be downloaded directly from the main menu’s UI Settings without leaving the console interface, unlike RetroPie where theme installation often means manual file copying.
Step 12: Turn On RetroAchievements and Save States
If you want achievement tracking similar to Xbox or PlayStation trophies, Batocera has built-in RetroAchievements support. Create a free account at retroachievements.org, then enter those credentials under Main Menu > RetroAchievements Settings. Not every system or core supports achievements, but coverage across NES, SNES, Genesis, PS1, and GBA is broad. Save states work per-emulator via the in-game hotkey menu (usually a Select/Hotkey combination), letting you save mid-game on systems that never originally supported it.
Step 13: Update Batocera Safely
Batocera checks for updates automatically if your storage device is 32GB or larger, which is the main reason the recommended storage size in the prerequisites table above is double the bare minimum. Updates install from Main Menu > Updates & Downloads > Update System, then apply on the next reboot. For headless or scripted setups, Batocera’s current-and-previous-releases documentation (last updated May 2025) also documents a batocera-upgrade command-line tool that can pull a specific release straight from a URL, which is worth knowing if you manage more than one Batocera box and don’t want to click through the menu on each one. Back up your saves and roms folders to another drive before any major version jump (for example, when 44.0 eventually replaces 43.1), since a failed update mid-write is one of the more common ways people lose configuration on smaller USB drives.
Batocera Compared to RetroPie and Recalbox at a Glance
If you’re choosing between retro operating systems rather than committing to Batocera outright, the short version is that Batocera trades some of RetroPie’s larger community size for broader hardware reach and a more polished all-in-one image. RetroPie’s GitHub repository held 10,381 stars as of June 2026, more than three times Batocera’s 3,084, while Recalbox’s main repository on GitLab sat at 756 stars in the same period. Our full Batocera vs RetroPie vs Recalbox comparison breaks down performance and feature differences in more depth if you’re still deciding.
| Factor | Batocera 43.1 | RetroPie | Recalbox |
|---|---|---|---|
| GitHub/GitLab stars (June 2026) | 3,084 | 10,381 | 756 |
| Supported hardware | x86 PC, Pi, Odroid, RK3588, handhelds | Primarily Raspberry Pi | Pi and select x86 |
| Install model | Standalone OS image | Image over Raspberry Pi OS | Standalone OS image |
| Systems supported | 200+ | 50+ officially, more via RetroPie-Setup | 90+ |
| Theme installation | Built into UI Settings menu | Manual file copy or RetroPie-Setup | Built into UI menu |
Migrating an Existing RetroPie or Recalbox Library to Batocera
If you’re switching from RetroPie or Recalbox rather than starting fresh, the good news is that ROM files themselves are almost always directly reusable since all three systems rely on libretro cores under the hood. The work is in reorganizing folder structures rather than re-dumping anything.
Connect to your old RetroPie or Recalbox device’s network share, copy each system’s ROM folder to your local machine, then copy those files into the matching Batocera shortname folder under share/roms/ on the new install. Folder naming conventions differ slightly between the three platforms in a handful of cases, so cross-check against Batocera’s systems documentation rather than assuming a 1:1 folder name match. Save states generally do not transfer cleanly between platforms because each project’s fork of a given emulator core can serialize save data slightly differently, so treat mid-game saves as likely lost in a cross-platform move and plan to replay from the start or from in-game save files where the original game supports them natively.
BIOS files transfer without any changes needed, since the files themselves are identical regardless of which front-end or distribution is reading them. Just make sure they land in Batocera’s /userdata/bios/ folder rather than whatever path your previous system used.
5 Common Batocera Installation Pitfalls
Most Batocera problems trace back to one of five recurring mistakes, based on patterns across the project’s official troubleshooting page, GitHub issues, and community reports.
- Using a USB drive under 32GB and expecting auto-updates to work. Batocera’s automatic update feature requires that larger storage threshold, and smaller drives need manual update downloads instead.
- Selecting the wrong drive during “Install on New Disk.” Picking your current boot USB instead of the target internal drive corrupts the media you’re installing from, per the official install guide’s explicit warning.
- Leaving Secure Boot enabled on x86 PCs. Batocera images aren’t signed for Secure Boot, so the drive simply won’t appear as a bootable option until it’s disabled in UEFI.
- Renaming BIOS or ROM files incorrectly. Emulator cores match files by exact name and checksum in many cases, so a BIOS file that looks right but has the wrong filename gets silently ignored.
- Running multiple Bluetooth interfaces at once. Community reports and the official troubleshooting wiki both flag that having more than one active Bluetooth adapter, such as a built-in module plus a USB dongle, causes pairing failures that look like hardware defects but resolve once the extra interface is disabled.
Troubleshooting: 8 Common Batocera Problems and Fixes
1. Controller won’t pair over Bluetooth at all. Go to Main Menu and select “Forget Bluetooth Devices,” reboot, then try pairing again from scratch. This clears a stuck pairing state that’s more common than it should be, particularly after a controller has previously been paired to a phone, PC, or another console and still has cached connection data that conflicts with Batocera’s Bluetooth stack.
2. Bluetooth dongle interference. Try moving the dongle to a USB 2.0 port instead of USB 3.0. USB 3.0 controllers and hubs generate radio interference in the 2.4GHz range that can disrupt Bluetooth pairing, according to Batocera’s own troubleshooting notes. If you’re on a Raspberry Pi with built-in Bluetooth, physically distancing the board from USB 3.0 storage devices during pairing can also help.
3. Odroid boards showing Bluetooth pairing failures in the on-screen menu. This is a known limitation on some Odroid models, including the C4, where the graphical pairing menu simply doesn’t complete the handshake. The workaround is connecting via SSH and pairing manually through the command line rather than the graphical menu, using standard Linux bluetoothctl commands once you’re at the terminal.
4. Xbox Series controllers refusing to pair. This has been traced in GitHub issue reports to specific Bluetooth adapter hardware rather than a Batocera software bug. Swapping to a different USB Bluetooth adapter typically resolves it, and cheap generic dongles are disproportionately affected compared to name-brand adapters.
5. The BATOCERA network share doesn’t show up automatically. Skip hostname discovery and connect directly using the IP address from Network Settings, since mDNS and NetBIOS name resolution fail silently on some routers and on macOS clients in particular. Router-level client isolation, common on guest Wi-Fi networks and some mesh systems, will block share discovery entirely regardless of hostname or IP, so confirm your Batocera device and your PC are on the same non-isolated network segment.
6. ROMs copied to the share don’t appear in EmulationStation. Confirm the folder name under share/roms/ exactly matches Batocera’s shortname for that system, then restart EmulationStation from the Quit menu rather than power-cycling the whole device. A full reboot also works but takes longer and isn’t necessary just to refresh the game list.
7. System boots to a black screen on an x86 PC. Check that Secure Boot is disabled and that the image matches your CPU architecture (32-bit vs 64-bit). A mismatched architecture image usually produces this exact symptom rather than a clear error message. Older GPUs without adequate OpenGL support can also cause a black screen after the initial boot splash. If disabling Secure Boot doesn’t fix it, try booting with a different, more recent GPU if one is available.
8. Games run but audio is choppy or missing on 3D-era systems. This is typically a hardware headroom issue rather than a bug: PS2, GameCube, and Wii emulation on Batocera benefit heavily from a dedicated GPU and 8GB or more of RAM, and audio stutter is often the first symptom of a CPU or GPU bottleneck before frame rate visibly drops. Lowering internal resolution or disabling upscaling filters in the per-system RetroArch settings frequently clears this up without needing new hardware.
Advanced Tips for Batocera Power Users
Once the base install is stable, a few extra configuration steps push Batocera further:
- Enable SSH for remote management. SSH is on by default over your local network using root / linux credentials. Change the password immediately from the terminal with
passwdif the device sits on a network you don’t fully control. - Use shaders for CRT-style visuals. RetroArch shaders are built into Batocera and can be toggled per-system from the in-game hotkey menu, giving older 2D games a scanline or CRT look without extra downloads.
- Try Netplay for online multiplayer. Many libretro cores support Batocera’s built-in Netplay feature, letting you play classic multiplayer games like Street Fighter or Bomberman with friends over the internet using the same ROM.
- Overclock a Raspberry Pi carefully. Batocera exposes overclocking options in the Pi-specific system settings menu, but pushing beyond documented safe limits risks instability on systems already near their performance ceiling, particularly Pi 4 boards running PS1 or Dreamcast titles.
- Organize large ROM collections with an external manager. If you’re managing hundreds of ROMs across systems, a tool like the one covered in our RomM self-hosted ROM manager guide can handle metadata and organization outside Batocera itself, then sync clean folders to your Samba share.
Where BIOS Files and ROMs Legally Come From
Batocera’s documentation is consistent on this point across every page that mentions BIOS files: the project does not distribute them, and users are expected to supply their own. The practical, legal path is dumping BIOS chips and game discs from hardware you already own, using tools designed for that purpose rather than downloading pre-packaged BIOS or ROM archives from third-party sites, many of which distribute copyrighted material without authorization regardless of what the site claims about legality.
For disc-based systems like PS1 and PS2, ripping your own physical discs to ISO or CHD format using standard disc-imaging software preserves both the game data and, in some cases, embedded BIOS-adjacent data depending on the console. For cartridge-based systems, dedicated dumping hardware exists for most retro platforms and has become significantly more affordable in recent years as the retro-collecting hobby has grown. If a specific BIOS file is required and you don’t own the original hardware to dump it from, that system generally isn’t something you can legally emulate on Batocera or any other emulator, full stop. This is also the safest way to avoid malware, since third-party ROM sites are a well-documented vector for bundling unwanted software alongside game files.
Building a Complete Working Batocera Retro Console
Putting the full process together, a complete working build looks like this: an x86_64 mini PC or Raspberry Pi 5, a 32GB or larger USB SSD flashed with the 43.1 x86_64 or aarch64 image, ROMs organized under the correct share/roms/ subfolders, legally-obtained BIOS files placed in /userdata/bios/, a paired Bluetooth controller with RetroAchievements linked, and RetroArch shaders enabled for the systems where they matter most, like NES and SNES. From cold boot to a fully playable, scraped, achievement-tracking library, most people following these 13 steps in order land somewhere between 45 minutes and 90 minutes, depending mostly on how many ROMs need copying over the network and how many systems need individual BIOS files.
For anyone coming from EmuDeck or RetroDECK on Steam Deck specifically, the underlying libretro cores are largely the same, so game compatibility carries over closely even though the installation path is different. Our RetroDECK setup guide is a useful comparison if you’re deciding whether a dedicated Batocera box or a Steam Deck-based setup fits your situation better.
Frequently Asked Questions
Is Batocera legal to install and use?
Yes. Batocera itself is free, open-source software and contains no copyrighted game code or BIOS files. Legality depends on how you use it: dumping BIOS files and ROMs from games and consoles you personally own is generally considered legal in most jurisdictions, while downloading ROMs for games you don’t own is not, regardless of which emulator runs them.
Can I run Batocera and Windows on the same PC?
Yes, if you install Batocera to a separate drive or partition rather than your Windows boot drive, and manage boot selection through your motherboard’s boot menu or a boot loader. Running Batocera from a dedicated external USB SSD is the simplest way to dual-purpose one PC without touching your Windows installation at all.
Does Batocera 43.1 work on the Steam Deck?
Batocera isn’t officially supported as a boot OS on Steam Deck the way SteamOS is, and most Steam Deck owners looking for a Batocera-style all-in-one emulation setup use EmuDeck or RetroDECK instead, both of which install on top of the existing SteamOS environment rather than replacing it.
How much storage do I need for a large ROM collection?
That depends entirely on which systems you’re collecting for. A full NES or SNES library fits comfortably in a few gigabytes, while a modest PS2 or GameCube collection can run into hundreds of gigabytes given how large those disc images are. Plan storage around your heaviest system, not your lightest one.
Why won’t my BIOS files work even though I put them in the right folder?
The most common cause is a filename or checksum mismatch. Emulator cores look for BIOS files by exact expected name in most cases, so a correctly-dumped file with the wrong filename will be ignored just like a missing one. Double-check filenames against the documentation for the specific core you’re using.
Can I install themes without an internet connection?
No, theme downloads through the UI Settings menu require an active internet connection since themes are pulled from Batocera’s servers on demand. You can manually copy theme files to the correct folder over the Samba share if you’ve downloaded them separately on another device.
Is 4GB of RAM enough for a general-purpose Batocera build?
For anything through the PS1/N64/Dreamcast generation, yes. Once you push into PS2, GameCube, or Wii territory, 8GB or more becomes the practical floor rather than the recommendation, since those cores demand significantly more memory bandwidth than older 2D and early-3D systems.
Does Batocera support RetroAchievements on every system?
No, coverage varies by core rather than being universal. Support is broad across NES, SNES, Genesis, PS1, and GBA, but not every emulated system or every core for a given system has achievement hooks built in. Check RetroAchievements’ own site for per-system coverage before assuming a title will track progress.


