How do I run DOS games on Batocera?

Do you miss the good old days of playing MS-DOS games on your computer? Well, now you can relive those memories with the help of OGA (Batocera) and DosBox. OGA (Batocera) supports DosBox by default, but it requires some configuration actually to play the game.

In this article, we will guide you through the process of how to run DOS games on OGA (Batocera).

Step 1: Preparing the Game

Before you start, ensure your Batocera installation is ready and working. If not, you can check the sidebar for Wiki links and follow the written tutorials or watch the videos to do it. Once you have your Batocera installation ready, follow these steps:

  • Create a directory for the game in the “roms/dos” directory on your SD card. The directory name should be nameofthegame. For example, if you want to play Duke Nukum, the platformer, you should name the directory “duke.pc”. The .pc suffix is necessary.
  • Copy the game files to the directory you’ve just created. For example, DN1.EXE and other files should be in “duke.pc”.
  • Create a file named “dosbox.bat” in the same directory that points to the executable game file. In the example of Duke Nukum, the “dosbox.bat” file will contain just the text “DN1.EXE”.

Repeat the above steps for other games and ensure you put each game in its directory.

Step 2: Configuring DosBox

To get the easy ability to edit controls, we need to use LibRetro for DOS games to get the overlay in the game:

  • Launch Batocera on OGA.
  • Press VI to get to the Main Menu, then go to Games Settings -> Per System Advanced Configuration -> Dos (x86).
  • For Emulator, select LibRetro. For Core, select DosBox.
  • Exit the menu.

Step 3: Configuring Controls

I recommend editing controls on a per-game basis because each game requires different keys. This step requires the above DosBox configuration to be done.

  • Launch any DOS game on OGA.
  • Press I + B to open the LibRetro overlay, then go to Controls -> Port 1 Controls.
  • Set Device Type to Keyboard + Mouse.
  • Set Analog to Digital Type to Left Analog to enable the analog stick.
  • Map the buttons (on the left) to keyboard keys that the game will recognize (on the right). Use D-pad left and right to change the mapping.
  • Go to Port 2 Controls and all other ports and set Device Type to Disconnected. This prevents the games from thinking a joystick is connected and selecting that as the default mode of control. For example, the Prince of Persia does that.
  • Go back and save the configuration for this game by selecting Save Content Directory Remap File.
  • Close the overlay by pressing I + B.

The next you launch the game, the configuration will automatically load.

Source: Reddit


What is Batocera and OGA?

Batocera is a Linux operating system that supports emulating classic gaming systems, while OGA stands for Open Game Architecture, an open-source gaming platform.

How can I run DOS games on Batocera?

You can run DOS games on Batocera using DosBox, which is supported by default. You will need to prepare the game by creating a directory for it in the roms/dos directory, copying the game files, and creating a dosbox.bat file that points to the executable game file.

How do I configure DosBox on Batocera?

To configure DosBox, launch Batocera on OGA and go to Games Settings -> Per System Advanced Configuration -> Dos (x86). Select LibRetro as the emulator and DosBox as the core.

How do I configure controls for DOS games on Batocera?

You can configure controls for each game individually by launching the game, pressing I + B to open the LibRetro overlay, going to Controls -> Port 1 Controls, setting the device type to Keyboard + Mouse, mapping the buttons to keyboard keys, and saving the configuration for that game.

Why do some games not run well on Batocera?

X86 emulation on ARM is resource-intensive, so some complicated games like Duke Nukem 3D or Red Alert may not work or run slowly on Batocera.

How can I improve the performance of DOS games on Batocera?

You can improve the performance of DOS games by opening the overlay, going to Options, and setting Core: Timing Mode to internal (fixed 60 fps) and System: CPU type to 486.

Why doesn’t Vsync work well on Batocera?

Vsync doesn’t work well on Batocera due to a DosBox problem, but it may get fixed soon.


This post provides a step-by-step guide on how to run DOS games on the OGA (Batocera) system. It covers the preparation of the game, configuring DosBox and controls, and tips on improving performance. The guide explains how to create a directory for the game, copy the game files to the directory, and create a dosbox.bat file that points to the game executable. The guide also explains how to use LibRetro for DOS games to get the overlay in the game and configure the controls. The post notes that some games may not run perfectly due to the resource-intensive nature of x86 emulation on ARM, but performance can be improved by adjusting the timing mode and CPU type. The post concludes with a discussion on the limitations of Vsync in DosBox.

Leave a Comment