r/batocera

Image 1 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 2 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 3 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 4 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 5 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 6 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 7 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 8 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 9 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
Image 10 — Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics
▲ 78 r/batocera+1 crossposts

Converted my Arcade Legends 3 to Batocera while keeping the original CRT, controls, trackball and electronics

I recently finished converting my Chicago Gaming Company Arcade Legends 3 cabinet to Batocera.

The goal was to modernize the system without gutting the cabinet. I wanted to keep the original CRT, controls, trackball, speakers, wiring, and as much of the original electronics as possible.

The original game computer was replaced with a laptop running Batocera, but the rest of the cabinet is still largely original.

The biggest challenge was the controls. The Arcade Legends control system does not behave like a normal USB gamepad, so I built a small software bridge that lets Batocera use the original joysticks, buttons, player controls, and trackball without rewiring the whole cabinet.

I also wanted to keep the original control panel completely intact. Instead of adding Coin or volume buttons, I reused the existing controls:

Tap the player button = Start
Hold the player button for about one second = Coin

The original Exit button also doubles as a volume modifier:

Exit + Player 1 Up = Volume Up
Exit + Player 1 Down = Volume Down

Exit by itself still exits the current game.

The original trackball is also still in use through the original controller electronics. I ended up increasing its movement sensitivity in software so it feels right on the cabinet.

I kept the original CRT and cabinet audio as well. A few games needed individual tweaks for things like trackball/spinner behavior or screen sizing, but I tried to keep those fixes game-specific rather than changing the whole system.

Overall, the project ended up being much less destructive than I originally expected. The cabinet still looks and feels like an Arcade Legends machine, but now it runs Batocera and a much broader game library.

I documented the complete build, including the hardware changes, photos, scripts, configuration, installation steps, and troubleshooting here:

https://github.com/TokyoWars/arcade-legends-3-batocera

Hopefully it helps anyone else trying to modernize one of these cabinets without throwing away the parts that make it unique.

If anyone has done something similar with an Arcade Legends or related cabinet, I’d be interested to see how you approached it.

u/Loose_Boysenberry_34 — 17 hours ago

Best VGA to Component converter for 240p/480i?

Looking for something reasonably priced that will output my pcs 15khz VGA RGB signal as 240p and 480i component for my consumer crt. For most of the transcodes I have looked at, it is unclear whether they support 240p or not. They all seem to do 480i but I want both outputs as options. I do not need any sort of converters as my pc natively outputs those signals properly, just a simple transcoder. Does anyone have any suggestions on a device to use, something you have experience with or have heard good things about?

reddit.com
u/t8er100 — 1 day ago

How to boost performance?

I have a lenovo thinkcentre m715q with two 8gb sticks of ram at the same speed and a ryzen 5 pro 2400ge chip. My roms and OS are all on an ssd. I am trying to play baldurs gate dark alliance on the gamecube but it always chugs and isnt really playable. I dont get a lot of fps and it runs slow. I forced batocera to only allow a 480p output to try and help but its not fixing the performance issue. Also id love to play resident evil 4 for gamecube but it crashes upon starting. Performance is set to high. Cpu temps are around 60-65 degrees C. Any tips to boost the performance of my setup? Should i manually push over 100% wattage to the cpu? Will this damage my pc? I saw an option to run dual channel mode but its set to auto. Should it be on instead of auto? Idk what to do. Feel free to ask questions, i will watch this post and collaborate with anyone willing to throw out an idea or ask a question about my setup. Any help or ideas would be appreciated. Thanks!

reddit.com
u/abel5555 — 1 day ago

Gamesir controller

I have an 8bitd0 snes pro that has served me well for quite a few years. But the cord is breaking where it goes in to the body. I have seen a ton of ads for the gamesir controllers all over tiktok and was wondering if anyone has tried them? Do they feel OK? Response time and latency issues? Im trash at any gaming and my system very shortly is going to live in an arcade cabinet so the external controls don't need to be any where near perfect but would like them to be a decent quality

reddit.com
u/PhotographOdd4657 — 1 day ago

Best Button Map?

I was wondering how you would do this button map to make sense for most systems? I’ve done 2 different layouts but I can’t decide what’s best. The 2 grey buttons I’m using for Start and Select.

u/retrotechkeiran — 1 day ago

[Guide] Running Batocera 43.X on VMware Workstation — IMG → VMDK

[Guide] Running Batocera 43.1 on VMware Workstation — IMG → VMDK

I wanted to run Batocera 43.1 x86_64 inside VMware Workstation on Windows 10.

The official Batocera VM documentation currently documents VirtualBox and QEMU, but not VMware Workstation. Batocera also notes that VM usage is not officially supported, so consider this a community workaround/testing method rather than an officially supported configuration.

I tested this with:

  • Windows 10
  • VMware Workstation
  • Batocera 43.1 x86_64
  • QEMU qemu-img

The important discovery was that the converted VMDK needs to be attached to VMware as a SATA disk, not SCSI.

1. Download and extract Batocera

Download the Batocera x86_64 image.

For this test I used:

batocera-x86_64-43.1-20260529.img.gz

Extract the .gz file using 7-Zip or another archive utility.

The result should be:

batocera-x86_64-43.1-20260529.img

Do not extract the contents of the .img file.

If you open the .img with 7-Zip, you may see:

0.vfat.fat
1.userdata.img

These are partitions inside the complete Batocera disk image. The .img itself is the complete disk image and should remain as one file.

2. Install QEMU

Install QEMU for Windows.

In my installation, qemu-img.exe was located at:

C:\Program Files\qemu\qemu-img.exe

Verify that it works:

"C:\Program Files\qemu\qemu-img.exe" --version

3. Check the Batocera IMG

I placed the image here:

C:\temp\batocera-x86_64-43.1-20260529.img

Run:

"C:\Program Files\qemu\qemu-img.exe" info "C:\temp\batocera-x86_64-43.1-20260529.img"

My image reported:

file format: raw
virtual size: 10.5 GiB
disk size: 10.5 GiB

This confirms that the .img is a complete raw disk image.

4. Convert IMG → VMDK

Use QEMU to convert the complete disk image to VMware VMDK:

"C:\Program Files\qemu\qemu-img.exe" convert -p -f raw -O vmdk "C:\temp\batocera-x86_64-43.1-20260529.img" "C:\temp\batocera-x86_64-43.1-20260529.vmdk"

After conversion, verify the VMDK:

"C:\Program Files\qemu\qemu-img.exe" info "C:\temp\batocera-x86_64-43.1-20260529.vmdk"

It should report:

file format: vmdk
virtual size: 10.5 GiB

The VMDK file itself may be smaller than 10.5 GiB because it is a sparse disk. That is normal.

5. Create the VMware Workstation VM

Open VMware Workstation.

Select:

Create a New Virtual Machine

Choose:

Custom (advanced)

Then select:

I will install the operating system later

For the guest OS choose:

Linux
Other Linux 64-bit

Give the VM a name, for example:

Batocera

6. VM hardware

A starting configuration:

CPU:       4 cores
RAM:       4 GB
Network:   NAT
Firmware:  UEFI

Adjust CPU/RAM according to your host system.

7. Add the Batocera VMDK

When VMware asks about the virtual disk, select:

Use an existing virtual disk

Select:

C:\temp\batocera-x86_64-43.1-20260529.vmdk

IMPORTANT: Use SATA

This was the most important part of my testing.

Make sure the Batocera disk appears as:

Hard Disk (SATA)

Do not attach it as SCSI.

Initially I attached the VMDK as SCSI. Batocera booted far enough to display:

Booting Batocera.linux...

but verbose boot then showed:

mount: mounting LABEL=BATOCERA on /boot_root failed: No such file or directory
Waiting for the root device LABEL=BATOCERA
LABEL=BATOCERA: Can't lookup blockdev

I removed the VMDK from the VM configuration and added the same VMDK again using a SATA controller.

After switching to SATA, Batocera successfully booted.

Do not delete the VMDK file when removing the SCSI disk. Only remove the disk from the VMware hardware configuration and then add the existing VMDK again as SATA.

8. Firmware

Go to:

VM → Settings → Options → Advanced

Set:

Firmware type: UEFI

9. Display

For my initial test I used:

Accelerate 3D graphics: OFF

Once the system is working, graphics settings can be experimented with depending on the host GPU and VMware version.

10. CD/DVD

The VM does not need a CD/DVD drive because Batocera is already installed in the VMDK.

I removed the CD/DVD device from the VM hardware configuration.

If VMware reports something like:

Cannot connect the virtual device sata0:1 because
no corresponding device is available on the host.

check the VM hardware and remove the unused CD/DVD device.

11. Boot Batocera

Start the VM.

You should see:

Booting Batocera.linux...

Batocera should then start normally.

For troubleshooting, select:

Batocera.linux (verbose)

from the Batocera boot menu.

Troubleshooting

LABEL=BATOCERA: Can't lookup blockdev

If verbose boot shows:

mounting LABEL=BATOCERA on /boot_root failed
Waiting for the root device LABEL=BATOCERA
LABEL=BATOCERA: Can't lookup blockdev

check the VMware disk controller.

If the disk is:

Hard Disk (SCSI)

remove it from the VM configuration and add the existing VMDK as:

Hard Disk (SATA)

This was the fix in my case.

Black screen

If Batocera boots but the VMware display becomes black:

  1. Try disabling Accelerate 3D graphics.
  2. Boot using Batocera.linux (verbose).
  3. Check whether Linux is actually continuing to boot or stopping at a particular error.

The initial black screen in my test turned out not to be the main problem; verbose boot revealed that the BATOCERA boot partition could not be found because the disk was attached through SCSI.

Final working configuration

My working VMware configuration was:

Setting Value
Host Windows 10
Batocera 43.1 x86_64
Hypervisor VMware Workstation
Guest OS Other Linux 64-bit
Firmware UEFI
CPU 4 cores
RAM 4 GB
Disk format VMDK
Disk controller SATA
3D acceleration OFF
Network NAT
CD/DVD Removed

The complete process is:

Batocera .img.gz
       ↓
Extract .gz
       ↓
Batocera .img
       ↓
QEMU qemu-img
       ↓
Batocera .vmdk
       ↓
VMware Workstation
       ↓
SATA virtual disk
       ↓
UEFI
       ↓
Batocera 43.1

Notes

This is a community-tested VMware Workstation method, not an officially supported Batocera VM configuration.

Batocera's official documentation warns that VM usage is not officially supported and that VM graphics/performance can differ substantially from bare-metal hardware.

I tested this specifically because I wanted a VMware Workstation solution without creating a physical USB drive.

If anyone has tested this with other VMware Workstation versions, newer Batocera releases, or different virtual graphics settings, I'd be interested in the results.

reddit.com
u/mepalival — 1 day ago

Nested roms folders not working for NES

It was pretty simple to make a new folder labeled Hacks or Homebrew for atari7800 and Sega Genesis so far, but for some reason I can't get it to work for the NES, A folder created in the NES rom folder does not show up, and the games inside of it show up in the main directory like all the other games. Anyone know how to fix that?

reddit.com
u/rs3990 — 2 days ago
▲ 4 r/batocera+1 crossposts

I made an open source Mac app to manage ArkOS/Batocera SD cards (ext4 read/write without kernel extensions)

Every time I wanted to add ROMs or edit configs on my handheld's SD card from my Mac I hit the same wall: macOS cannot even read ext4, and the classic fixes (macFUSE + terminal incantations) need a kernel extension, Recovery Mode and reduced security.

So I built Omnimount: a menu bar app + CLI that mounts ext4 and NTFS read/write using the battle-tested Linux drivers (fuse2fs, ntfs-3g) over FUSE-T, which needs no kernel extension at all. Plug the card in, click Mount, drag your ROMs in Finder, eject.

Extras that came out of my own cards: it recognizes ArkOS / Batocera / ROCKNIX layouts, can permanently unhide the EASYROMS partition that ArkOS marks as hidden (so Windows/macOS can see it), runs fsck on a card that got yanked out, and can clone or restore a full card image as a backup before you flash anything.

It is GPL open source: https://github.com/ramdoor/omnimount — you can build it yourself with the scripts in the repo (there is also a prebuilt signed installer on the website for people who prefer one click).

Tested mainly with my ArkOS card on an Apple Silicon Mac (macOS 13+). Would love to hear what cards/firmwares you would want covered.

u/jtoucedo — 2 days ago
▲ 195 r/batocera

Converted my Cardboard Prototype to a Full Sized Arcade Cabinet!

After working on this project off and on for 6 months, I have finished my first arcade cabinet! Decided to go with a design where you can swap out the front controller board piece, depending on if you want to play with joystick + buttons versus a keyboard and mouse (I am using a mini PC with batocera so it can play up to original xbox / ps2, and also Steam). I also decided to design it around a electric standing desk to save on materials. I used MDF so it is nearly 100 pounds!

Also fun fact, I managed to make the entire thing in my small apartment using nothing but a jigsaw and glue! And a hole saw for the buttons. No screws / nails.

u/Disco_Train17 — 4 days ago

Playing lightgun games with a Wiimote is basically plug-and-play now.

A few months ago, I bought myself a pair of Wiimotes, gun attachments, and a Dolphin Bar with the intention of using them for lightgun games. I posted about it here and people told me not to bother because it wasn't plug-and-play, the controllers could be finnicky, and compatibility was very limited. I decided to ignore them and proceed anyway. My experience wasn't that bad. Some systems worked well while others didn't, but there were enough playable games for me to have fun and make the endeavor worth it.They were mostly wrong.

After a while I ended up using my Bato SD card on a retrohandheld and by the time I bought a new one there were a few updates. Playing lightgun games the way I mentioned above is way better now. Literally every system I tried playing so far worked just fine, even Saturn, which had issues recognizing off screen shots for reloading. The guns are indeed still finicky and sometimes the tracking goes haywire or becomes unresponsive, but not often enough to completely ruin the experience considering I how expensive getting a proper lightgun that works on modern TVs tend to be. And it is indeed plug-and-play now. The first few times I had to do a little tinkering but this last time it worked right out of the gate. I love it.

If you tried this in the past and were put off by the various issues, then I recommend you pull those Wiimotes out of the closet and give it another try. It's great.

For reference, I'm using the Steam Deck version of Batocera withe the Deck docked to a TV, but I imagine it should work on any device.

reddit.com
u/low_theory — 4 days ago
▲ 4 r/batocera+5 crossposts

Melon DS DS Crashes on Mac Neo after booting up any game

I try to run a game and it crashes.......nothing more
all DS games work on the other cores

https://pastebin.com/3HYpbRKb -> Pastebin link that contains the log

u/Airmancell09 — 4 days ago
▲ 314 r/batocera+2 crossposts

Arcade Pedestal DIY

Built this out of mdf, made it NHL 94 theme.

u/jrnardi — 6 days ago

Does a « duplicate remover » exist in batocera ?

I’m quite new to batocera and installed it on an old lenovo pc and it turns out really great. I found a 7700 arcade games folder on the web but I realised that there was a lot of duplicates when scrapping. Has someone ever found a solution to this ?

reddit.com
u/Dapper_Dance3924 — 6 days ago

retro games recommendations

hi
can you recommend some retro games with the console name?
for me i like sonic, tiny toon, contra and ninja turtles
all on sega mega drive

reddit.com
u/wesamO_0 — 6 days ago

this project has been so much fun

Brought home an OptiPlex from work that was going to be thrown out. Got some ram for it, new NVME and SSD and this thing can run up until the original Xbox. Ultimately looking to clean up this retro nook I have will be sad to see the systems go, but will definitely be really cool.

u/protohyped88 — 6 days ago

Losing display signal

This has been a week long saga of frustration trying to get my build working for CRT gaming. I have a Dell Optiplex 3020 and a Radeon R5 430 for my set up, and everything was working just fine when I initially installed Batocera. Something happened then that I did not intend, I tried to install PlexKodiConnect and as it scanned my movie library, I lost signal, and now this is happening every time I try to boot up Batocera.

I’ve tried reinstalling Windows and using the mobo DisplayPort for signal to figure out what’s going on. But every time I try to use my GPU DisplayPort, it occasionally works for a minute or so but always eventually crashes.

I took a break from the frustration of this project for a week and I’m trying it again with a clean Batocera install, but same issues with the additional problem that the integrated mobo DisplayPort can’t handle Batocera so I can’t even get past booting it from my flash drive. This has just been a nightmare and I’m hoping anyone in this community has a solution. I currently have a replacement GPU in the mail but I’m a fool and didn’t check, and it’s one of the units that has 2 display ports and no DVI which I need for this build. So that’s on me lmao.

PLEASE READ: Please don’t tell me to just use Mister FPGA, that’s probably going to be the first comment because someone didn’t read all the way through. I understand that it’s better, but it’s not in the budget right now and I also would like to attempt to access my Plex server, which is clunky and in very early stages of development with FPGA.

u/shwellis — 6 days ago

Batocera ROMs on a NAS over NFS

I wanted to add my nas storage to my batocera by symlinking to the nas folders. This is a write up for anyone else who thinks this would be useful for them.

morisonics.com
u/Dodgy_Past — 6 days ago