This is an old revision of the document!
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 80's and 90s. It supports 250+ 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
As each ScummVM game needs to be in its own folder, be careful with the option on how you display folders in UI Settings. It should be set to HAVING MULTIPLE GAMES or NEVER. If you set it to ALWAYS, well, you'll always see the ScummVM folders.
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.
For standalone
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 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>/.
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).
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 (formerly SSNES), is a ubiquitous frontend that can run multiple “cores”, which are essentially the emulators themselves. The most common cores use the libretro API, so that's why cores run in RetroArch in Batocera are referred to as “libretro: (core name)”. RetroArch aims to unify the feature set of all libretro cores and offer a universal, familiar interface independent of platform.
RetroArch configuration
RetroArch offers a Quick Menu accessed by pressing [HOTKEY] +
which can be used to alter various things like RetroArch and core options, and controller mapping. Most RetroArch related settings can be altered from Batocera's EmulationStation.
Standardized features available to all libretro cores: scummvm.videomode, scummvm.ratio, scummvm.smooth, scummvm.shaders, scummvm.pixel_perfect, scummvm.decoration, scummvm.game_translation
ES setting name batocera.conf_key | Description ⇒ ES option key_value |
|---|---|
| Settings that apply to all cores of this emulator | |
GRAPHICS BACKEND scummvm.gfxbackend | Choose your graphics rendering ⇒ OpenGL opengl, Vulkan vulkan. |
AUDIO LATENCY scummvm.audio_latency | Audio latency in milliseconds, turn it up if you hear crackles ⇒ 256 256, 192 192, 128 128, 64 64, 32 32, 16 16, 8 8. |
THREADED VIDEO scummvm.video_threaded | Improves performance at the cost of latency and more video stuttering. Use only if full speed cannot be obtained otherwise. ⇒ On true, Off false. |
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
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
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
For ScummVM standalone, some games will not launches if the Gamepad is not plugin, or if the HUD Alert is set enabled (other option different from none).
This way, try to make sure the Gamepad is plugin and HUD Alert is set to none before open the game again.
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.1651266939.txt.gz
- Last modified: 4 years ago
- by maioni










