Keeping Retro Alive: A Conversation with Batocera’s Lbrpdx

Interviews Aug 31, 2025

If you’ve ever thought about turning an old PC, a Raspberry Pi, or even a handheld into a retro gaming time machine, Batocera might be the name you’ve already come across. It’s a free, open-source operating system built to make emulation dead simple: plug it in, boot it up, and you’re straight into a slick front-end that handles everything from arcade classics to newer consoles. No fiddling with endless configs, no digging through obscure forums, Batocera is designed to work for you, and help you just play.

What makes it stand out is its focus on accessibility. You don’t need to be a Linux wizard to get going, and the system is constantly updated with new features and hardware support thanks to a dedicated community. It’s not just about reliving old games, either, Batocera is about preserving them, making sure they stay playable on modern hardware and easy to share with others. I personally turned to Batocera for my Steam Deck after some dissatisfaction with EmuDeck early on. I love how it is a self-contained, all-in-one option to keep everything you want to emulate running perfectly.

I had the chance to chat a little, remotely, with Batocera’s lead developer, who goes by Lbrpdx, about what the project is, how it’s grown, and what keeps the community around it so passionate.


Project Origins & Vision:

What was your background as a developer before Batocera? What other open-source projects or emulation-related tools were you working on?

My background is software engineering. I was born in the 1970s, and my parents bought us a home computer pretty early in the 80s, so I taught myself programming in BASIC, then Pascal, some Assembly, C, Modula-2, and other languages before getting some formal college education in software engineering. I started to use Linux around 1993 and participated in a few open-source projects before Batocera. I wrote the Linux version of a server that was used to stream backed-up games to a Gamecube through its add-on network interface by reverse-engineering the closed-source Windows version, and did a couple of contributions to VLC Media Player back in the day.

Batocera originated as a fork of Recalbox in 2016. What was the motivation to branch out on its own?

Nicolas / susan34 is the instigator of the project, and he was the main contributor to Recalbox before forking out Batocera for divergences on the future of the project. I personally joined the project in 2018, after using RetroPie for a few years. I was frustrated with the performance of the Raspberry Pi 3 and wanted to use a PC. Recalbox didn’t boot on my machine, a first iteration of a cheap mini-PC with a funky BIOS. Batocera didn’t either, but Nicolas and the team helped me troubleshoot and make it work. So, I stuck with Batocera.

Can you describe the original vision for Batocera and how it has evolved since its launch?

There is no “vision” or “roadmap” for Batocera. It’s completely driven by the community in a true “Bazaar” fashion, if you have read “The Cathedral and the Bazaar” by Eric S. Raymond (and if you haven’t, you should read it!). The motivation for forking out of Recalbox was to move from a Cathedral model to a Bazaar one, where anyone can make a pull request on the Batocera GitHub repo, to add a new emulator, support another light gun, design a new splash screen, or translate the project into a new local language. You don’t necessarily need to code to participate in the project.

What has been the role of the community (Batocera contributors) in shaping the project?

The community is what made Batocera what it is. Over the years, some contributors came to the project, then left, some came back…it’s constantly been changing. After Nicolas, I’m the developer with the longest tenure on the project, but I’m clearly not the largest contributor these days. Some Batocera contributors are instrumental to the project and have produced a lot more than us recently — dmanlfc has been a true machine writing a lot of code in so many parts of Batocera in the past few years, for example. Also, we shouldn’t overlook all the testing from the community, the feedback we get daily on Discord. This is a huge part of what makes Batocera what it is, and this community couldn’t have been built without a team of relentless moderators, wiki documentation writers, and just gamers who are constantly testing old and new emulators.

How do you balance ease-of-use (like the plug‑and‑play design) with advanced functionality?

Batocera was designed to provide a console-like experience for emulation. You can do everything with just a control pad, no keyboard necessary, and you don’t need to install anything; everything is pre-configured to provide a pleasant out-of-the-box experience. That said, it’s based entirely on Linux, with technical bricks that we chose to be as re-usable and extendable as possible. First and foremost for the long-term maintainability of the distribution, but also for users to tweak the system and eventually contribute to the project to make it better for everybody.

Looking ahead, where do you see Batocera in 5 years? What new directions or goals are you targeting? Or do you think perhaps it is close to being feature complete?

It’s never feature complete. There will always be something new to enhance the retrogaming experience. In the past couple of years, we’ve added support for dot-matrix displays and pin cabs, DIY arcade sticks, steering wheels, spinners… but there are other types of devices that we haven’t added yet: how about HOTAS, hydraulic motion simulators? Plus, our main goal is to preserve the history of gaming, so you can expect more emulators and more systems in 5 years. There are still a few games that aren’t fully emulated, even old ones.

Have any lessons or experiences from other retrogaming distros (Recalbox, RetroPie, Lakka) influenced Batocera?

Not really for these specific distros, as I’ve only used Batocera and none of these in many years. But one source of influence is Retrobat, which is kind of a sister project of Batocera. Fabrice, who wrote the largest part of Batocera-EmulationStation (the main user interface), is a Windows developer first, and he wanted to make a front-end for emulators running under Windows. That’s how Retrobat was created. Unlike Batocera, it’s not a full OS; you have to manage your Windows install and upgrades, drivers updates, support for controllers, and so on. But there are tricks and updates shared between the Batocera and the Retrobat communities — and some gamers are also sharing their time between Batocera and Retrobat.


Image credit to Reddit user Breakslow: their setup running Batocera

Foundations & Development:

How would you describe the inner workings of Batocera to someone who's used to regular operating systems like Windows or macOS, or even a Linux distro? Someone just totally unaware of Batocera.

You can boot Batocera from a USB key and turn any PC, and several dozen of ARM single-board computers and handhelds, into a retro-gaming console in a few minutes. It’s as plug-and-play as possible, and optimized so that gamers can jump right back into the favorite games of their childhood. No need for any specific Linux knowledge — but it could also be a good motivation to learn more about how it works under the hood.

Batocera runs on a huge variety of devices. How do you make sure it works smoothly on everything from Raspberry Pis to old laptops to powerful handhelds?

It’s completely relying on the community. Nobody on the dev team owns the entirety of the devices we support. So, we absolutely need users to test the new releases on the systems they own, and give us a “thumbs up” signal so that we can push the new version to the website. Otherwise, we keep older versions until someone can do this formal testing.

What’s your general process when it comes to adding new features or fixing bugs? How does an idea go from discussion to actually showing up in a new release?

The “bazaar” development principles again. Of course, some larger features are discussed between developers, or between the dev team and the community, so that we make the best decisions before jumping into the implementation, but there is no written “process” to add a new feature. We’re not a company. Batocera is a fun project that we work on, voluntarily and on our free time… who would want to follow processes that would move the fun out of it?

A lot of users might not realize Batocera is updated quite often. How do you test updates to make sure something doesn’t accidentally break on someone’s setup?

We don’t do it. The community, all the Batocera users, do it for us. We have a “stable” release channel, updated every 2 to 6 months, but in parallel we have a “rolling release” called Butterfly that is the current latest state of development for the project. We need the community to test Butterfly releases and report any issue as soon as possible. Release early, release often, that’s how we can try and minimize the number of bugs and issues when we launch a new release. Oh, there are still bugs of course, because we also constantly upgrade or add new things. It’s part of the fun ;)

Has it been tricky keeping the system lightweight and fast, while also adding support for more advanced features like online multiplayer, cloud saves, or Wine?

Yes. It’s always a compromise between more features, and keeping the system lightweight and fast. We rewrite or refactor some large portions of the Batocera code from time to time to optimize parts of the code. But this is a lot of work, and we have a small team and no infinite time to spend on Batocera, so we always have to make concessions.

If someone wanted to contribute to Batocera, maybe by fixing a bug, translating text, or designing themes, what would be a good first step?

Come to the Batocera Discord server first. Then, read the wiki — a huge source of information on how to troubleshoot, report issues, compile Batocera, make Pull Requests on GitHub (for fixing bugs, etc.). Our code base is completely open, and anybody can submit a GitHub Pull Request. Not all of them will be merged or accepted, but anyone should feel free to contribute.


Emulators & Features:

With over 190 systems supported, how do you prioritize emulator/cross‑platform support?

It’s based on user feedback, that we mostly get from our Discord channels. Nobody on the dev team owns all the devices that we support. Nobody on the dev team can spend time to test over 200 emulators with all the combinations of controllers, light guns, steering wheels, spinners, trackballs… that games can support. So, the prioritization is completely coming from what the community reports in terms of bugs, new features, or updates that would be needed.

Are there any emulators or systems that users keep requesting, but are too complex or unstable to support right now?

First of all, we draw a line in the sand for emulators that emulate systems that are still getting commercially sold. Even if it’s technically possible, Batocera’s goal is to preserve the gaming history, not to facilitate piracy. Then, the more complex emulators are those which aren’t open-source or available only on Windows and made available on Linux through Wine (a Windows-to-Linux porting layer). It’s more difficult to troubleshoot or to make consistent within the rest of Batocera, for example, when you want to use the same hotkey combination to quit an emulator or save/load your progress across all the emulators. Windows-only emulators are also available on PC architecture, not on ARM single-board computers, because it would require another layer of emulation (x86 -> ARM) which drops the performance. And, back to the preservation goal, open-source is the only perennial solution to keep the games available for future architectures.

What goes into deciding whether to use a RetroArch core versus a standalone emulator for a particular system?

It is decided on a case-by-case basis. Some RetroArch cores have features that might be missing from standalone cores (like bezels, shaders, retroachievements, fast-forward/rewind…) but in many cases standalone cores offer better performance or more accurate emulation, or more features - like support for CRT screens or specific controllers. Usually it’s either better performance, or more accurate emulation, but they tend to be opposite to each other. One of the largest emulators in Batocera is MAME, very commonly used to emulate arcade systems, and there have been countless debates on whether we should drop the standalone of the libretro version of it, as they are eating up a lot of storage space on the distribution. We haven’t found a consensus yet.


Community and Support:

How do you engage with users via Reddit, Discord, or forums? Has there ever been any suggestions or recommendations made on-the-fly which have ended up in a significant addition being made to Batocera?

Discord is the primary communication channel with the community. Over 30,000 registered users discuss on a daily basis, and that’s where the developers live if you want to talk to them directly. We have a fantastic team of moderators who are helping with filtering out spam and fishing attempts. As the distribution is getting more and more popular, we get targeted more and more with this. We used to host a forum, but we had to get rid of it for two reasons. First, the spam level, even with captchas and filters, popular forums have purposely-built bots that are constantly spamming, and we were a target for that and just can’t afford to spend enough time for real-time moderation. The other problem with forums is that the information can become outdated very quickly, and people are still referring to it. When a post is 3 years old, there are chances that what was true at that time isn’t true anymore, while Batocera evolved very rapidly at that time. So now, our new forum is Reddit. They provide a good spam-filtering mechanism, and the community is large enough that questions are answered there, or moderators and Redditors are redirecting the trickier questions to Discord.

Are there any upcoming features still largely user‑community driven (e.g. additional themes, overlays, user‑created “weird uses”)?

Batocera EmulationStation themes are hosted on GitHub, and artists can ask on Discord to get their themes added to the official content downloader. There are only some basic rules to follow and make sure the content right owners for the theme elements are respected. Same for bezels, graphic overlays; we have packs in the content downloader that are completely coming from the community. Or free homebrew games — I think we have a fantastic platform for homebrew developers to run brand new games on NES, Game Boy, or Genesis consoles! The community drove also a lot of hardware additions to Batocera: DMD panels, light guns, pincabs for pinball games… a lot of these advanced features have been driven by the user community first.

How do you manage localization and translations across many languages?

Again, we rely on the community. We have a dedicated web page on our website where we ask people to submit the localized files to make Batocera available in their own language. Currently, we have 30+ translations, but many of them aren’t complete at all. It’s the flip side of adding more emulators and features: we constantly have new screens to translate, so it’s a never-ending work that needs to be done by local translators.

How important are donations and merchandising for project sustainability? Are there any other ways people can help support it?

The whole Batocera project is made by a team of volunteers in their free time. Nobody has ever been paid to “work” on it. But we host a website with millions of hits every month, we make the Batocera images available, we maintain the content downloader, we have to distribute the upgrades… all of this has a cost, and is completely dependent on donations. Plus, we need to buy hardware to add support to Batocera - sometimes hardware manufacturers send us samples (but then we have to pay for import taxes and tariffs!) but most of the time, we have to buy the machines ourselves, and these little toys are expensive. Merchandising was something we added by popular demand: several users wanted to sport Batocera hoodies or T-shirts, so we made them available, but we don’t make any significant benefit from merch. What can be also very helpful is hardware donations. For example, a very generous user sent me three machines to help with the development: two for additional hardware support, and a PC just to accelerate the compilation time from my antique personal dev machine. Finally, you don’t necessarily need to give money or hardware to help the Batocera project: contribute to the wiki, help with support questions on Discord or Reddit, become a moderator, design graphic overlays or bezels for missing systems, or just test new releases and report issues… there are many ways to be involved and help with the project.


Innovation & Surprises:

A post on XDA spotlighted “weird but incredible” uses of Batocera: jukebox mode, old digital toys, arcade cabinet hacks. Are these things you anticipated, hoped for, or just total shocks that were made by users?

This is the incredible power of open-source: make sure the system is user-friendly but still sufficiently open to the community to take the project wherever they want to take it. When I started on the Batocera project, I only dreamed that one day I could run a full pin cab on Batocera. It’s now a reality, and thanks to many small or large improvements on the distribution.

Has the team ever considered expanding Batocera beyond gaming, maybe into a general-purpose media center or retro computing platform?

We ship Kodi with Batocera, to fulfill the need for a media center on the same box connected to your TV. But clearly the purpose of Batocera is gaming first. We want to keep it as close as possible to a console-like experience. A controller is the primary device you use with Batocera, not a keyboard. As Batocera is completely open, we’ve seen external initiatives to turn Batocera into a full-fledged Linux distribution for daily non-gaming activities. I don’t think it’s the right way to do it. You have so many other Linux distributions to do non-gaming computer tasks. You can always have Batocera installed on a USB pen drive, stick it in your machine with your regular Linux or Windows OS, and boot on that USB Batocera stick whenever you want to play a retro game. It’s completely non-destructive to your existing OS.

How flexible is Batocera when it comes to running other Linux apps or tools, like music players, file managers, or retro software?

It’s open source, the code is fully available from GitHub, so any developer can add whatever they need. However, we will be very selective to have accept a PR, because we still want Batocera to be focused on retro gaming and keep it as lightweight and maintainable as possible. The problem is when you add software that is not part of the core Batocera distribution, support can become very tedious. We’ve seen multiple times reports of emulators not launching any longer, because users added external systems that broke basic core functionalities. So, the rule is more like: you can modify Batocera as much as you want, but make sure you understand what you’re doing, and if you’re asking for support on Discord, please make sure that you can reproduce the issue on an official Batocera install without third-party additions.

Have any community-made spin-offs or unusual mods caught your attention? Any in particular that maybe surprised you?

From a hardware perspective, I’ve seen some crazy Batocera builds. For example, pinball cabinets with multiple screens, a colorized DMD for scoring, and a multi-sound system to reproduce the ball sound independently from the music and background noises. We’ve seen racing cabs, with a full racing seat, steering wheel, and a vibration system to take the driving simulation to arcade levels. These builds are always amazing!

Would you like to officially support more creative projects, like dedicated handheld builds, pinball setups, or custom touchscreen UIs?

Yes, yes, and yes! 😄


Challenges, Roadblocks, Dreams:

How do you address the legal side of ROM use, BIOS dependencies, and ensuring users comply with copyright?

We are first and foremost (retro)gamers. We love games and hugely respect game developers, editors, and console manufacturers. Today’s gaming is tomorrow’s retrogaming, and we fully understand and respect copyrights. Batocera never ships ROM, BIOS files, or anything else that is under copyright. Users have to source themselves, and then it becomes a little tricky to have a single answer because the means can depend on local legislations. In some countries, you have to dump the ROMs and BIOSs from your owned consoles and cartridges. Sometimes, manufacturers make them available from their website. In certain countries, you can legally keep a digital copy of a game you bought, saving it for disaster recovery… and many times, users can use Google and find what they’re looking for.

If you had unlimited resources, what feature or platform would you tackle next, and why?

The reality is that as hardware becomes more complex (custom chips, unusual architectures), emulation becomes exponentially more difficult. Most "unemulated" systems today are either extremely obscure, had very limited commercial releases, or are recent enough that emulation efforts are still ongoing. There are also many arcade systems where all the fun is all about the way you interact with the system. We saw an incredible response to the support of light guns and steering wheels. It feels like Batocera has only scratched the surface for music games. You can play Guitar Hero through emulators… but how about drums for Rockband? Talking about drums, how about support for Taiko No Tatsujin (a game with a very specific controller)? All the Dance Dance Revolution-like games with dance mats? Or one of my favorite games ever: Sound Voltex with its very specific controller, kind of a DJ-Hero type of game but under amphetamines :) Add all the synchronized external lights all around the cabinet to add even more immersion to these music games… there’s a lot that could be added there!

Do you ever feel that ‘gaming burnout’? I know a lot of gaming program/project devs feel like they have little time or inclination to play the games they build the support for. Have you come across this too?

I will borrow an analogy from a long-time Batocera user, Fishou:

Batocera is the game, the emulated games are only the side quests”.

I spend way more time tweaking my Batocera setups than playing games: constantly trying new themes, getting new exclusive metadata for my games, like cool fanart or curated video thumbnails… and of course just developing new features or fixing bugs!

I’d love to have a top five of the games you love: both retro and modern. I think you can tell a lot about a person by the games they favor 😄

  • 1982: Ms PacMan. I learned that ghosts were actually following different strategies to chase you.
  • 1993: Doom. I still remember the night I got the floppy disks of the shareware version. I learned computer networking with Doom.
  • 2002: Zelda: Wind Waker. Nintendo perfected Ocarina of Time game mechanics, with cute graphics that still hold up 20 years later.
  • 2011: Portal 2. Smart, fun, hilarious. Fun. Hilarious. A true classic.
  • 2025: Clair Obscur: Expedition 33. Usually not a big fan of JRPGs, but for a first game of that studio, they delivered a masterpiece.

Any words or statements for your supporters and users that you’d like to make?

When I was a kid growing up in the 80s, video games were not really a cultural thing, just a niche hobby. Books, music, and movies were the cultural forces. You had cinephiles, real film buffs from the “golden age” of cinema, roughly 1920s to 1960s. Nowadays, video games are the #1 cultural phenomenon, everybody is dying for the next GTA VI trailer… and I feel like I am a “retrogamophile”. A real video game enthusiast who’s played for 40+ years of video games, and who’s feeling nostalgic about the golden age of video games. As a community, let’s all be proud of the memories we had with those old games, how we remember bating the simpler game mechanics, and how our imagination transcended the pixelated artwork of that time. Let’s get ready to retro.


All my thanks to Lbrpdx for taking the time to share some insight into Batocera and the community that powers it. From a completely out-of-the-blue contact from my on Discord one day, he was instantly open to this, which I clearly appreciate!

Whether you’re a retro purist or someone just dipping their toes into emulation, Batocera keeps lowering the barrier to entry, and makes sure that forgotten hardware can get a second life in the process. If you're after more information on it, you can use these links:

Tags

PerfectDark

PerfectDark works as a pen-tester with a focus on social engineering and red team operations by day, and by night keeps up with all the gaming and Linux news she can find. Dedicated to GOG, her Steam Deck is now effectively just a GOG Deck.