ScummVM

For those who prefer videos, check out Batocera Nation's excellent ScummVM guide.

ScummVM is an emulator that runs classic graphical point-and-click adventure and RPG games from the 80s and 90s. It supports over two-hundred games with many classics from LucasArts, Sierra On-Line, Cyan or Westwood Studios.

Notable ResidualVM games (modern Lucas Arts games) include Escape from Monkey Island, Grim Fandango, Myst III: Exile and The Longest Journey. Notable Notable AGS titles include Heroine's Quest, Resonance, Gemini Rue, The Apprentice I and II.

ScummVM emulates the engine, but requires the game's data files to function.

This system scrapes metadata for the “pc” group(s) and loads the scummvm set from the currently selected theme, if available.

  • Accepted ROM formats: .scummvm, .squashfs
  • Folder: /userdata/roms/scummvm

No ScummVM emulator in Batocera needs a BIOS file to run.

A list of freeware games and where to buy commercial games can be found at https://wiki.scummvm.org/index.php/Where_to_get_the_games (and for Steam games specifically https://store.steampowered.com/search/?sort_by=_ASC&term=scummvm).

Batocera Nation has kindly pre-configured some of the freeware games to allow for easy drag-and-drop installation: https://www.batoceranation.com/downloads/ (scroll down to “10 Freeware Games for ScummVM”). These can be used as examples to see how things are setup in case any of the following is confusing.

Since ScummVM games require their own folder, setting the folder display setting in USER INTERFACE SETTINGS to HAVING MULTIPLE GAMES or NONE will prevent redundant menu navigation.

Create a directory per game in /userdata/roms/scummvm/. For this example, we will use the game files for The Day of the Tentacle. The game files will need to be put in the directrory /userdata/roms/scummvm/Day_of_the_Tentacle/. Then, in this game data directory, a blank file named <codename>.scummvm needs of the game, like tentacle.scummvm. This file can contain run commands if desired, or just be completely empty.

To find out the codename of the game, open up scummvm from the Applications menu ([F1] on the system list) and load the game, the ID will be provided. For example, with the game The 11th Hour: The Sequel to The 7th Quest (DOS/English):

Here, the codename is 11h.

Mass add to add all the games at once!

After the game been added on ScummVM it's possible to edit the codename. It's a good way to setup the launcher for different languages for AGS games.

Commercial games might need additional files copied over, ScummVM will tell you what's missing if it fails to find them upon launching the game. If it doubt, copy over the entire contents of the commercial game's folder as-is into roms/scummvm/<game>/.

Note: All settings are stored into scummvm.ini config file, if you want to backup, migrate or sync it to another device, just backup or restore this file.

  • Path location:
    • Batocera: /userdata/bios/scummvm.ini
    • Windows: %APPDATA%\ScummVM\scummvm.ini
      • For Windows 95/98/ME, the file is at C:\WINDOWS\scummvm.ini
    • MacOS: ~/Library/Preferences/ScummVM Preferences/scummvm.ini
      • If an earlier version of ScummVM was installed on your system, the configuration file remains in the previous default location of ~/.scummvmrc
    • Linux: ~/.config/scummvm/scummvm.ini
      • If ScummVM was installed using Snap, the configuration file is found at ~/snap/scummvm/current/.config/scummvm/scummvm.ini
      • If ScummVM was installed using Flatpak, the configuration file is found at … [update later]
    • Other platforms normally at path to:ScummVM/scummvm.ini
  • Find or Edit the config location path at:

Create a directory per game in /userdata/roms/scummvm/. For example, let's imagine you own the data file from the Day of the Tentacle, in that case, just put all the files in a directrory /userdata/roms/scummvm/Day_of_the_Tentacle/. Then, in this game data directory, you need to create a file with the codename of the game, like tentacle.scummvm. This file can just be empty.

To find out the codename, SSH into Batocera and run /usr/bin/scummvm --detect --path="/userdata/roms/scummvm/<game>".

Alternatively, SSH into Batocera and run /usr/bin/scummvm --list-games | >> /userdata/system/codename.txt to list all the game titles and search for your game in the resulting /userdata/system/codename.txt file.

Game titles and their codenames are also provided on the compatibility page from the main ScummVM website (AGS games specifically are on their wiki, as well as fangames). If you still can't find the game ID for your game, then look up the detection_tables.h file for the specific group of games directly from the repository: https://github.com/scummvm/scummvm/tree/master/engines (for instance, AGS games are in the ags/detection_tables.h file).

If you wish to use MIDI ROMs (for example the MT-32 synth), put the files in /userdata/bios/scummvm/extra

The standalone engine. Good for playing the more modern and complex titles.

ScummVM configuration

A mouse and keyboard is required.

Standardized features available to all cores of this emulator: scummvm.videomode, scummvm.ratio, scummvm.padtokeyboard

To configure ScummVM, open up scummvm from the Applications menu ([F1] on the system list).

Enable Subtitles and Speech

Go to Audio and select Both in the Text and speech option:

Change Language

Open up scummvm from the Applications menu ([F1] on the system list) and load the game.

Select the game's language in GAMELANGUAGE or ENGINEGAME LANGUAGE:

RetroArch has its own page.

libretro: ScummVM

A libretro port of the engine. Good for playing the classic titles.

libretro: ScummVM configuration
ES setting name batocera.conf_key Description ⇒ ES option key_value
ANALOG DEADZONE global.scummvm_analog_deadzone Used to eliminate cursor drift/unwanted input
⇒ 15% 15, 20% 20, 25% 25, 30% 30, 0% 0, 5% 5, 10% 10.
GAMEPAD CURSOR SPEED global.scummvm_gamepad_cursor_speed For high definition (640×480) games set this to 2.0
⇒ 1.0 1.0, 1.5 1.5, 2.0 2.0, 2.5 2.5, 3.0 3.0, 0.25 0.25, 0.5 0.5, 0.75 0.75.
SPEED HACK (SAFE) global.scummvm_speed_hack Reduces the CPU requirements for low power hardware
⇒ Off disabled, On enabled.

Most of the games are point-and-click games designed to be played with a mouse. If you don't have a mouse, the left analog stick can be used too.

Most games should have their controls automatically configure, but some do not. Manual controls can be configured by adding a pad2key profile for the game. Access the GAME MENU by holding down South button (B SNES) while selecting your game → CREATE PAD TO KEYBOARD CONFIGURATION.

While in-game, you can press [R1] to open the ScummVM menu, which enables you to quit.

Here are the default ScummVM's controls shown on a Batocera Retropad:

On certain hardware configurations, ScummVM has difficulties with the HEADS UP DISPLAY option in GAME SETTINGS, try setting it to “NONE”.

Make sure you have at least one physical gamepad connected and configured, even if you aren't intending on using it for that game.

The same game could provide it to be launched in a specific language, just create a new launcher or edit it according to the languages supported by the game:

- sword25.scummvm or sword25-us.scummvm for English

- sword25-hr.scummvm for Croatian

- sword25-fr.scummvm for French

- sword25-de.scummvm for German

- sword25-it.scummvm for Italy

- sword25-pl.scummvm for Polish

- sword25-br.scummvm for Brazilian Portuguese

- sword25-ru.scummvm for Russian

- sword25-es.scummvm for Spanish

The alternate language for the game may need to be added in the standalone configuration described above for the new launcher to work.

It's the launch file that needs to be tentacle.scummvm, not the directory that contains the game files.

If that's not it, some games could have different versions, you can specify it with (or a combination of):

- <codename>.scummvm for Floppy or DOS

- <codename>-cd.scummvm or gameidcd.scummvm for CD

- <codename>-win.scummvm or gameidwin.scummvm for Windows

- <codename>-amiga.scummvm for Amiga

- <codename>-fm.scummvm for FM-Towns

- <codename>-v2.scummvm for Version 2

- <codename>vga.scummvm or gameid-vga.scummvm for VGA

- <codename>-ega.scummvm for EGA

- <codename>sci.scummvm for SCI

- <codename>agdi.scummvm for AGDI

- <codename>-demo.scummvm for DEMO

- <codename>deluxe.scummvm for DELUXE

- <codename>-steam.scummvm for STEAM

- <codename>-win-cd-us.scummvm for Windows, CD and US

ScummVM's wiki contains a wealth more information. ScummVM's documentation is available on their docs website, and further info on their Github dev website.

For further troubleshooting, refer to the generic support pages.

  • systems/scummvm.txt
  • Last modified: 6 weeks ago
  • by cs