See also the ScummVM Documentation, FAQ and Wiki.

Frequently Asked Questions

Where do I find games?


Beneath a Steel Sky and Flight of the Amazon Queen are available for free from scummvm.org.  Other games are available cheaply from online retro gaming shops or perhaps somewhere like eBay, or you probably have a few old CDs somewhere in that box in your attic.

How do I install games?

To install a ScummVM game on Android you need 3 things:
  1. A copy of the game in question. ScummVM only replaces the original .exe's—you still need the data files from the original game.
  2. The "ScummVM" core app from the Android market (or side-loaded from here).
  3. The correct ScummVM plugin app for your game from the Android market (or side-loaded from here). (Note: you should install the plugin after the core app, see Android bug mentioned below)
The ScummVM wiki pages are really helpful here. If you search for the game in question, you should find a page describing the game, the engine it requires and any other special instructions or limitations. The "datafiles" page also lists the minimum set of files you need to copy for each game, if you want to conserve SD card space. If you are choosing audio compression codecs (eg: for CD audio tracks), note that the ScummVM Android port supports ogg and mp3 (ogg preferred), but not flac.

  1. Ensure you have the right datafiles, by checking against the ScummVM "datafiles" page. In particular, if you downloaded it off the scummvm.org site (for example) it will likely be compressed and you'll need to unzip (or whatever) the game files first. If you have a CD, use the files on the CD (don't copy the .iso itself).
  2. Use your USB cable to copy the game files into a folder on your phone's SD card somewhere. There is no need to put files into the root of your SD card.
  3. Eject/unmount (whatever your OS calls it) the SD card and unplug the USB cable. Sounds silly, but if you don't do this then ScummVM on the phone won't be able to read the contents of the SD card.
  4. Start ScummVM on your Android phone. From the orange "launcher" screen, choose "Add Game"
  5. Navigate to the folder below /sdcard where you copied the datafiles in step (2). A handy tip is to press (eg) the 's' key to jump straight to entries that start with 's'.  To descend into a subdirectory you need to double click.  I put that in bold since it is a very unintuitive action on a phone.
  6. Once the folder with your game in it is highlighted, or you are in the game folder itself, click "Choose". Note that you won't actually see the files in the folder - ScummVM only shows you folder names at this point.
  7. If ScummVM found the game correctly, it should now give you a dialog mentioning the name of the game and some options. Confirm the dialog and you're done.
  8. From the launcher screen, highlight the game and press "Start" to play.
Let me know if you get stuck (my email address is in the market details for ScummVM apps). Be sure to let me know what you tried and where exactly things went wrong, since "it didn't work" isn't enough information for me to help you ;)


If you can't find the ScummVM core app on the market, then you are looking from an Android 2.0+ device (Droid, Milestone, Nexus1, etc). ScummVM doesn't support these Android versions yet (but will).

If you start ScummVM and see an immediate crash, or a crash immediately after the unpacking progress bar reaches 100% then ScummVM doesn't work for you yet, sorry. I know about recent cyanogenmod versions and Android 2.0+ (Droid, Milestone, Nexus1) - anything else, send me an "adb logcat" covering app start until crashdump.

If you think you have done everything correctly, but ScummVM still can't find your game, you should check that ScummVM has found your plugin correctly. From the ScummVM launcher, hit "About" and look for the "Available engines" section that scrolls past. If that does not list the plugins you actually have installed, then you may be hitting one of two known bugs:
  1. Previous cyanogenmod versions had a linker change that broke the way ScummVM plugins are done (now cyanogenmod just crashes immediately instead). (Cyanogenmod bug 884)
  2. There is an Android bug that means that the plugin app needs to be installed after the core ScummVM app. The fix is to remove and then reinstall any affected plugin apps. (Android bug 5521)
In general, ScummVM error messages are sent to the Android logs, so looking at them will likely be the first step in troubleshooting any new problems. This involves installing the Android SDK, enabling debugging over USB and running "adb logcat".

What are the controls?

The original games and ScummVM were originally written for a PC or near equivalent.  Keep this in mind when using the port and please be a little forgiving of some of the UI awkwardness.

  • Hold down "Menu" to get the soft keyboard to pop up (unless you are on a phone with a physical keyboard like G1 or Droid).
  • Pressing/moving your finger around on the screen is equivalent to clicking/dragging with the left mouse button.
  • The trackball works like a … trackball.
  • Hold down the camera or search buttons while pressing screen or trackball to get a right mouse click.
  • The "Back" button is Escape.
  • The "Menu" button opens the ScummVM menu.
  • Shift+number gives F1-F10 (shift+0 is F10). At the moment there is no way to get F11-F12.
  • Keys on the flipout keyboard act as normal for ScummVM. See the ScummVM README for current keyboard hot keys. In particular, '.' skips to the next line of dialogue.
  • Game volume can be controlled via the normal Android volume buttons or using in-game controls.

What ScummVM features are enabled in this version?

All the game engines that are enabled by default as well as MIDI emulation and support for OGG and MP3 compressed audio. Note that there is no FLAC support. See the "About" dialog in ScummVM for specific information.

How did you do this? Is it Java?

No. ScummVM is a C++ program. For this port, I turned it into a really big JNI library so Android still thinks it's running a Java program, but almost all of it is implemented in C++.

Known Issues

Current market version doesn't work on Android 2.0+ (eg: Motorola Droid, Nexus 1, etc)

... yet. Sorry.
This is why you can't find ScummVM on the market from an Android 2.0 device.

Current market version doesn't work on Android 1.0/1.1

Correct. Until you've upgraded to Android 1.5, you want to stay on the previous version of ScummVM. If you've mistakenly upgraded you can find the old version here. I could put lots of effort into compatibility layers instead of fixing other issues in ScummVM, but realistically Android 1.1 and older is no longer supported.

Current market version doesn't work on Cyanogenmod (4.7.2 and newer)

This one is a surprise - it should work. Symptoms are that the ScummVM launcher starts up just fine, but it can't find any of the installed plugins (ScummVM "About" -> "Available engines" is empty, for example). See this thread for the debugging so far.
If you can test the market ScummVM version (the one with separate plugins) on earlier versions of cyanogenmod to see if/when the problem first starts appearing that would be extremely helpful.
Update: more recent versions of cyanogenmod have diverged enough that ScummVM just crashes immediately instead. I expect the Android 2.0 compatibility changes (still in progress) will fix it for cyanogenmod users too.

Blank screen on restart sometimes

This bug is my fault. To recover from the blank screen, you can leave the blank screen for a few minutes and Android will prompt you to kill the unresponsive ScummVM. Alternatively you can kill ScummVM by finding ScummVM in Settings -> Applications -> Manage Applications, and hitting "Force stop".

Receiving a phone call makes ScummVM keep running in the background

This is related to the previous blank screen bug.  Basically ScummVM isn't properly pausing when it is no longer in the foreground, and then when you switch back to it you get the above blank screen bug.  At the moment, the only way out is to go and find ScummVM in Settings -> Applications -> Manage Applications, and then hit "Force stop".

ScummVM exits immediately once the progress bar reaches 100%

This almost always means that the native code is failing to load for some reason (Android doesn't seem to let me catch the exception and show a more useful error message).  You can see errors and stacktraces in the logs via adb logcat if you want proof.

If you have a new phone, then there might not be a version that will work for you yet.  If you have an older phone (or rather, an older Android OS version) then you can try various previous package builds listed here.