Skip to content

Getting started - RetroBIOS

What are BIOS files?

BIOS files are firmware dumps from original console hardware. Emulators need them to boot games for systems that relied on built-in software (PlayStation, Saturn, Dreamcast, etc.). Without the correct BIOS, the emulator either refuses to start the game or falls back to less accurate software emulation.

Installation

Three ways to get BIOS files in place, from easiest to most manual.

Self-contained Python script, no dependencies beyond Python 3.10+. Auto-detects your platform and BIOS directory.

python install.py

Override detection if needed:

python install.py --platform retroarch --dest ~/custom/bios
python install.py --check          # verify existing files without downloading
python install.py --list-platforms  # show supported platforms

The installer downloads files from GitHub releases, verifies SHA1 checksums, and places them in the correct directory.

Option 2: download.sh (Linux/macOS)

One-liner for systems with curl or wget:

bash scripts/download.sh retroarch ~/RetroArch/system/
bash scripts/download.sh --list  # show available packs

Option 3: manual download

  1. Go to the releases page
  2. Download the ZIP pack for your platform
  3. Extract to the BIOS directory listed below

BIOS directory by platform

RetroArch

RetroArch uses the system_directory setting in retroarch.cfg. Default locations:

OS Default path
Windows %APPDATA%\RetroArch\system\
Linux ~/.config/retroarch/system/
Linux (Flatpak) ~/.var/app/org.libretro.RetroArch/config/retroarch/system/
macOS ~/Library/Application Support/RetroArch/system/
Steam Deck ~/.var/app/org.libretro.RetroArch/config/retroarch/system/
Android /storage/emulated/0/RetroArch/system/

To check your actual path: open RetroArch, go to Settings > Directory > System/BIOS, or look for system_directory in retroarch.cfg.

Batocera

/userdata/bios/

Accessible via network share at \\BATOCERA\share\bios\ (Windows) or smb://batocera/share/bios/ (macOS/Linux).

Recalbox

/recalbox/share/bios/

Accessible via network share at \\RECALBOX\share\bios\.

RetroBat

bios/

Relative to the RetroBat installation directory (e.g., C:\RetroBat\bios\).

RetroDECK

~/retrodeck/bios/

EmuDeck

Emulation/bios/

Located inside your Emulation folder. On Steam Deck, typically ~/Emulation/bios/.

Lakka

/storage/system/

Accessible via SSH or Samba.

RetroPie

~/RetroPie/BIOS/

BizHawk

Firmware/

Relative to the BizHawk installation directory.

RomM

BIOS files are managed through the RomM web interface. Check the RomM documentation for setup details.

Verifying your setup

After placing BIOS files, verify that everything is correct:

python scripts/verify.py --platform retroarch
python scripts/verify.py --platform batocera
python scripts/verify.py --platform recalbox

The output shows each expected file with its status: OK, MISSING, or HASH MISMATCH. Platforms that verify by MD5 (Batocera, Recalbox, EmuDeck) will catch wrong versions. RetroArch only checks that files exist.

For a single system:

python scripts/verify.py --system sony-playstation

For a single emulator core:

python scripts/verify.py --emulator beetle_psx

See Tools for the full CLI reference.

Next steps

  • FAQ - common questions and troubleshooting
  • Tools - all available scripts and options
  • Architecture - how the project works internally