The follow list of games are supported. It is worth noting that there are multiple releases of these games, and some specific releases may not be supported.
| Game Name | Game ID | System | DVP | NVidia | Intel (Mesa) | AMD (Mesa) | AMD (proprietary) |
|---|---|---|---|---|---|---|---|
| After Burner Climax | SBLR | Lindbergh Yellow | DVP-0009 | ✓ | ✓ | ✓ | |
| After Burner Climax Rev A | SBLR | Lindbergh Yellow | DVP-0009A | ✓ | ✓ | ✓ | |
| After Burner Climax Rev B | SBLR | Lindbergh Yellow | DVP-0009B | ✓ | ✓ | ✓ | |
| After Burner Climax SDX | SBMN | Lindbergh Yellow | DVP-0018 | ✓ | ✓ | ✓ | |
| After Burner Climax SDX Rev A | SBMN | Lindbergh Yellow | DVP-0018A | ✓ | ✓ | ✓ | |
| After Burner Climax SE | SBLR | Lindbergh Yellow | DVP-0031 | ✓ | ✓ | ✓ | |
| After Burner Climax SE Rev A | SBLR | Lindbergh Yellow | DVP-0031A | ✓ | ✓ | ✓ | |
| Ghost Squad Evolution | SBNJ | Lindbergh Red | DVP-0029 | ✓ | ✓ | ✓ | ✓ |
| Harley Davidson | SBRG | Lindbergh Red | DVP-5007 | ✓ | ✓ | ✓ | ✓ |
| Hummer | SBQN | Lindbergh Yellow | DVP-0057B | ✓ | ✓ | ✓ | ✓ |
| Hummer SDLX | SBST | Lindbergh Yellow | DVP-0057 | ✓ | ✓ | ✓ | ✓ |
| Hummer Extreme | SBST | Lindbergh Yellow | DVP-0079 | ✓ | ✓ | ✓ | ✓ |
| Hummer Extreme MDX | SBST | Lindbergh Yellow | DVP-0083 | ✓ | ✓ | ✓ | ✓ |
| Initial D Arcade Stage 4 Rev A | SBML | Lindbergh Yellow | DVP-0019A | ✓ | ✓ | ✓ | ✓ |
| Initial D Arcade Stage 4 Rev B | SBML | Lindbergh Yellow | DVP-0019B | ✓ | ✓ | ✓ | ✓ |
| Initial D Arcade Stage 4 Rev C | SBML | Lindbergh Yellow | DVP-0019C | ✓ | ✓ | ✓ | ✓ |
| Initial D Arcade Stage 4 Rev D | SBML | Lindbergh Yellow | DVP-0019D | ✓ | ✓ | ✓ | ✓ |
| Initial D Arcade Stage 4 Rev G | SBML | Lindbergh Yellow | DVP-0019G | ✓ | ✓ | ✓ | ✓ |
| Initial D Arcade Stage 4 Export Rev B | SBNK | Lindbergh Yellow | DVP-0030B | ✓ | ✓ | ✓ | ✓ |
| Initial D Arcade Stage 4 Export Rev C | SBNK | Lindbergh Yellow | DVP-0030C | ✓ | ✓ | ✓ | ✓ |
| Initial D Arcade Stage 4 Export Rev D | SBNK | Lindbergh Yellow | DVP-0030D | ✓ | ✓ | ✓ | ✓ |
| Initial D 5 EXP | SBRY | Lindbergh Yellow | DVP-0075 | ✓ | ✓ | ✓ | |
| Initial D 5 EXP 2.0 | SBTS | Lindbergh Yellow | DVP-0084 | ✓ | ✓ | ✓ | |
| Initial D 5 EXP 2.0 Rev A | SBQN | Lindbergh Yellow | DVP-0084A | ✓ | ✓ | ✓ | |
| Initial D Arcade Stage 5 Rev A | SBQZ | Lindbergh Yellow | DVP-0070A | ✓ | ✓ | ✓ | |
| Initial D Arcade Stage 5 Rev C | SBQZ | Lindbergh Yellow | DVP-0070C | ✓ | ✓ | ✓ | |
| Initial D Arcade Stage 5 Rev F | SBQZ | Lindbergh Yellow | DVP-0070F | ✓ | ✓ | ✓ | |
| Let's Go Jungle | SBLU | Lindbergh Yellow | DVP-0011 | ✓ | ✓ | ✓ | |
| Let's Go Jungle! Rev A | SBLU | Lindbergh Yellow | DVP-0011A | ✓ | ✓ | ✓ | |
| Let's Go Jungle Special | SBNR | Lindbergh Yellow | DVP-0036 | ✓ | ✓ | ✓ | |
| SEGA Network Taisen Mahjong MJ4 | SBPN | Lindbergh Red EX | DVP-0049G | ✓ | ✓ | ✓ | ✓ |
| SEGA Network Taisen Mahjong MJ4 Evolution | SBTA | Lindbergh Red EX | DVP-0081 | ✓ | ✓ | ✓ | ✓ |
| SEGA Network Taisen Quiz Answer X Answer | SBMS | Lindbergh Red | DVP-0025H | ✓ | ✓ | ✓ | ✓ |
| SEGA Network Taisen Quiz Answer X Answer Live | SBUR | Lindbergh Red | DVP-0087D | ✓ | ✓ | ✓ | ✓ |
| Outrun 2 SP SDX | SBMB | Lindbergh Yellow | DVP-0015 | ✓ | ✓ | ✓ | ✓ |
| Outrun 2 SP SDX Rev A | SBMB | Lindbergh Yellow | DVP-0015A | ✓ | ✓ | ✓ | ✓ |
| Primeval Hunt | SBPP | Lindbergh Red | DVP-0048 | ✓ | ✓ | ✓ | ✓ |
| RAMBO_SBQL | SBQL | Lindbergh Red EX | DVP-0069 | ✓ | ✓ | ✓ | ✓ |
| RAMBO_SBQL (China) | SBSS | Lindbergh Red EX | DVP-0078 | ✓ | ✓ | ✓ | ✓ |
| R-Tuned | SBQW | Lindbergh Yellow | DVP-0060 | ✓ | ✓ | ✓ | ✓ |
| Sega Race TV | SBPF | Lindbergh Yellow | DVP-0044 | ✓ | ✓ | ✓ | ✓ |
| The House of the Dead 4 Rev A | SBLC | Lindbergh Yellow | DVP-0003A | ✓ | ✓ | ✓ | ✓ |
| The House of the Dead 4 Rev B | SBLC | Lindbergh Yellow | DVP-0003B | ✓ | ✓ | ✓ | ✓ |
| The House of the Dead 4 Rev C | SBLC | Lindbergh Yellow | DVP-0003C | ✓ | ✓ | ✓ | ✓ |
| The House of the Dead 4 Special | SBLS | Lindbergh Yellow | DVP-0010 | ✓ | ✓ | ✓ | ✓ |
| The House of the Dead 4 Special Rev B | SBLS | Lindbergh Yellow | DVP-0010B | ✓ | ✓ | ✓ | ✓ |
| The House of the Dead Ex | SBRC | Lindbergh Red | DVP-0063 | ✓ | ✓ | ✓ | ✓ |
| Too Spicy | SBMV | Lindbergh Red | DVP-0027 | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 | SBLM | Lindbergh Yellow | DVP-0008 | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 Rev A | SBLM | Lindbergh Yellow | DVP-0008A | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 Rev B | SBLM | Lindbergh Yellow | DVP-0008B | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 Rev E (Public Version C) | SBLM | Lindbergh Yellow | DVP-0008E | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 Export | SBLM | Lindbergh Yellow | DVP-0043 | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 Final Showdown REV A | SBUV | Lindbergh Yellow | DVP-5019 | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 Final Showdown REV B | SBXX | Lindbergh Yellow | DVP-5020 | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 Final Showdown REV B ver 6.0000 | SBXX | Lindbergh Yellow | DVP-5020 | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 R | SBQU | Lindbergh Yellow | DVP-5004 | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 R Rev D | SBQU | Lindbergh Yellow | DVP-5004D | ✓ | ✓ | ✓ | ✓ |
| Virtua Fighter 5 R Rev G | SBQU | Lindbergh Yellow | DVP-5004G | ✓ | ✓ | ✓ | ✓ |
| Virtua Tennis 3 | SBKX | Lindbergh Yellow | DVP-0005 | ✓ | ✓ | ✓ | ✓ |
| Virtua Tennis 3 Rev A | SBKX | Lindbergh Yellow | DVP-0005A | ✓ | ✓ | ✓ | ✓ |
| Virtua Tennis 3 Rev B | SBKX | Lindbergh Yellow | DVP-0005B | ✓ | ✓ | ✓ | ✓ |
| Virtua Tennis 3 Rev C | SBKX | Lindbergh Yellow | DVP-0005C | ✓ | ✓ | ✓ | ✓ |
Additional libraries that you might need to install to get all games running are listed here:
sudo apt install build-essential freeglut3:i386 freeglut3-dev:i386 libglew-dev xorg-dev libopenal1:i386 libopenal-dev:i386 libxmu6:i386 libstdc++5:i386 libsdl2-dev:i386 libfaudio0:i386 libfaudio-dev:i386 libncurses5:i386 libasound2-dev:i386 alsa-utils:i386 libasound2-plugins:i386
On Debian, libglut might not be found. Adding a symbolic link will fix it.
sudo ln -s /lib/i386-linux-gnu/libglut.so /lib/i386-linux-gnu/libglut.so.3
- The game must be run in export mode to have the stereo sound option.
- You need to set
SKIP_OUTRUN_CABINET_CHECKto 1 inlinuxloader.inito play in DX, SDX or Standard cabinet types.
The games will ask for libGLcore.so.1 and libnvidia-tls.so.1 you can copy for example libkswapapi.so as libGLcore.so.1 and libnvidia-tls.so.1 and the game will work fine.
All configurable options are set and explained in the linuxloader.ini file itself, and should be reasonably easy to understand. This chapter further explains some of those setup options.
You will see the value AUTO by default for some of the config options. This is present when the emulator might set that config value to multiple different things itself. For example rideboard emulation is set to AUTO so that the emulator doesn't enable it for all games, and only turns it on for the special games that require it. If it was set to 1 it would always emulate the rideboard on serial port 2, and if it was set to 0 it would never emulate it.
There are 2 modes for the controller setup in the emulator, these are set using the INPUT_MODE flag in the configuration file.
In this input mode, both input mode 1 and input mode 2 are active.
In the first input mode, the keys on the keyboard are used to control the game play. If playing a light gun game, the mouse pointer in the window is used as the player 1 light gun. There are no configurable options in this mode.
In the second input mode, inputs are taken directly from the evdev library in linux and so you can configure additional devices such as light guns, controllers and steering wheels.
To list the available inputs you should type:
./linuxloader --list-controllers
From there you will be able to see the controllers and all of the inputs support. Then in the config file you should map an arcade input to a controller input as follows.
PLAYER_1_BUTTON_UP XBOX_CONTROLLER_BTN_UP
ANALOGUE_1 XBOX_CONTROLLER_ABS_X
You can map digital controls to analogue controls. The analogue value will be set to the digital value, such that if the button isn't pressed it will be set to 0, and if the button is pressed it will be set to MAX. This is useful if your controller doesn't have analogue accelerator or break buttons.
ANALOGUE_0 XBOX_CONTROLLER_BUTTON_BR
You can map analogue controls to digital controls too. For each analogue input, there are 2 more inputs created ending in _MAX and _MIN. These are digital controls that will be triggered when the analogue input is either at the minimum or maximum value. This can be useful if you'd like to use an analogue stick to control a fighting game for example.
PLAYER_1_BUTTON_UP XBOX_CONTROLLER_ABS_Y_MAX
PLAYER_1_BUTTON_DOWN XBOX_CONTROLLER_ABS_Y_MIN
PLAYER_1_BUTTON_LEFT XBOX_CONTROLLER_ABS_X_MIN
PLAYER_1_BUTTON_RIGHT XBOX_CONTROLLER_ABS_X_MAX
You can set a deadzone for analogue axis. Each anaolgue input has 3 potential deadzones: start, middle, and end. The deadzone is a percentage of the range from the start, middle, or end that should snap to its respective extreme. This is useful for input devices that don't perfectly center, or pedals that don't perfectly return to 0. For instance.
ANALOGUE_DEADZONE_1 10 13 10
Will cause input on analogue input 1 to be clamped as follows:
- At the start of the range the first 10% of the range will be set to 0%. In the case of a steering wheel where left is 0%, center is 50%, and right is 100% this will set steering percentages 0-10% to 0%.
- In the middle of the range the center 13% of the left of middle, and 13% of the right of middle will snap to the middle.
- At the end of the range the last 10% of the range will be set to 100%, similarly to the start case.
There are currently no audio options that you can set. If you have a stereo sound card installed then the audio will be downmixed to stereo. If you have a 5.1 sound card installed and the game supports surround sound, each surround channel should be passed through properly and should play sound as it was originally intended.
The compiled version of the loader contain a folder named ll-deps. If you copy all the files from the tar.gz to a specific folder you can run the loader as a standalone app. The loader will look for the dependencies in that folder. If there is a missing library for a specific game, you can add it to that folder instead of cluttering the game's folder.
You can aslo specify a custom folder for the dependencies using the -L or --library-path options.
You can also copy the libraries to yout lib32 folder in you linux distro (not recommended).
The loader will look in ll-deps first.
Or, you can use the appimage.
With this new option, you can specify the location of the game, where the game's ELF resides.
./linuxloader -g /my/custom/folder/hod4/elf
The loader will search for known elf files in that folder but you can also run it like this:
./linuxloader myCustom.elf -g /my/custom/folder/hod4/elf
The loader will load myCustom.elf inside the passed folder.
With this option, you pass a full path, including an ELF name like this:
./linuxloader /my/custom/folder/hod4/elf/myCustom.elf
The loader will load the ELF in that folder.
You can combine all options.
If by mistake, you pass both, a full path including an ELF and a path with -g option, the path passed with -g option will be omitted.
Remember that if the path containg spaces, which is not recommended, pass the path inside double quotes or \ before the space.
If you'd like to change game settings, you can create the config files for controls and game configuration using the following commands
This will create the file named linuxloader.ini in the specified folder
./linuxloader --create config /path/to/your/game-folderThis will create the file named myconfig.ini in the specified folder
./linuxloader --create config /path/to/your/game-folder/myconfig.iniIf you'd like to change controls, you can create the config files for controls using the following command
This will create the file named controls.ini in the specified folder
./linuxloader --create controls /path/to/your/game-folderThis will create the file named mycontrols.ini in the specified folder
./linuxloader --create controls /path/to/your/game-folder/mycontrols.iniIf you specify a configuration file either for the game settings or controls in the command line, this is the behavior the loader will do:
/path/to/linuxloader -g /path/to/game -o /path/to/configfile/myconfig.ini -c /path/to/configfile/mycontrols.ini
NOTE When you specify a config file in the command line, you need to pass the path and the filename as shown above. If you don't provide a filename, the loader will not find the file.
- It will try load the specified file from the path you provided.
- If the file doesn't exist it will try to load
linuxloader.iniorcontrols.inifile, in the folder where linuxloader is running. - If that file also doesn't exist it will try to load
linuxloader.iniorcontrols.inifrom the directory where the game executable is located. - If
linuxloader.inidoes not exists in the games's folder, as a fallback, it will try to loadlindberghloader.ini. - If none of the files exists, it will use the default values.inuxloader --create --help
Will give you instructions on how to use the new commands.
## ID4 and ID5 Card Support
Read the guide inside `docs` folder.