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.
Quick reference
- Accepted ROM formats:
.scummvm
,.squashfs
- Folder:
/userdata/roms/scummvm
Emulators |
---|
ScummVM |
libretro: ScummVM |
BIOS
No ScummVM emulator in Batocera needs a BIOS file to run.
Game files
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.
For standalone
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
- All paths here: ScummVM Documentation
- Find or Edit the config location path at:
For libretro: ScummVM
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>"
.
None of that works for me!
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).
MIDI ROMs
If you wish to use MIDI ROMs (for example the MT-32 synth), put the files in /userdata/roms/scummvm/extras
Emulators
ScummVM
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
Change Language
Open up scummvm
from the Applications menu ([F1]
on the system list) and load the game.
Select the game's language in GAME → LANGUAGE or ENGINE → GAME LANGUAGE:
RetroArch
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 . |
Controls
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 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:
Troubleshooting
My game isn't launching (standalone)
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 game isn't in my language/is in English
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.
I've put the codename in for my game but it's failing to launch
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
Further troubleshooting
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: 12 days ago
- by maximumentropy