Files
2025-04-05 18:16:04 -04:00

16 KiB

Guide

Supported Games

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 DVP NVidia Intel (Mesa) AMD (Mesa) AMD (proprietary)
After Burner Climax SBLR DVP-0009 ✓ ✓ ✓
After Burner Climax Rev A SBLR DVP-0009A ✓ ✓ ✓
After Burner Climax Rev B SBLR DVP-0009B ✓ ✓ ✓
After Burner Climax SDX SBMN DVP-0018 ✓ ✓ ✓
After Burner Climax SDX Rev A SBMN DVP-0018A ✓ ✓ ✓
After Burner Climax SE SBLR DVP-0031 ✓ ✓ ✓
After Burner Climax SE Rev A SBLR DVP-0031A ✓ ✓ ✓
Ghost Squad Evolution SBNJ DVP-0029 ✓ ✓ ✓ ✓
Harley Davidson SBRG DVP-5007 ✓ ✓ ✓ ✓
Hummer SBQN DVP-0057B ✓ ✓ ✓ ✓
Hummer SDLX SBST DVP-0057 ✓ ✓ ✓ ✓
Hummer Extreme SBST DVP-0079 ✓ ✓ ✓ ✓
Hummer Extreme MDX SBST DVP-0083 ✓ ✓ ✓ ✓
Initial D Arcade Stage 4 Rev A SBML DVP-0019A ✓ ✓ ✓ ✓
Initial D Arcade Stage 4 Rev B SBML DVP-0019B ✓ ✓ ✓ ✓
Initial D Arcade Stage 4 Rev C SBML DVP-0019C ✓ ✓ ✓ ✓
Initial D Arcade Stage 4 Rev D SBML DVP-0019D ✓ ✓ ✓ ✓
Initial D Arcade Stage 4 Rev G SBML DVP-0019G ✓ ✓ ✓ ✓
Initial D Arcade Stage 4 Export Rev B SBNK DVP-0030B ✓ ✓ ✓ ✓
Initial D Arcade Stage 4 Export Rev C SBNK DVP-0030C ✓ ✓ ✓ ✓
Initial D Arcade Stage 4 Export Rev D SBNK DVP-0030D ✓ ✓ ✓ ✓
Initial D 5 EXP SBRY DVP-0075 ✓ ✓ ✓
Initial D 5 EXP 2.0 SBTS DVP-0084 ✓ ✓ ✓
Initial D 5 EXP 2.0 Rev A SBQN DVP-0084A ✓ ✓ ✓
Initial D Arcade Stage 5 Rev A SBQZ DVP-0070A ✓ ✓ ✓
Initial D Arcade Stage 5 Rev F SBQZ DVP-0070F ✓ ✓ ✓
Let's Go Jungle SBLU DVP-0011 ✓ ✓ ✓
Let's Go Jungle! Rev A SBLU DVP-0011A ✓ ✓ ✓
Let's Go Jungle Special SBNR DVP-0036 ✓ ✓ ✓
SEGA Network Taisen Mahjong MJ4 SBPN DVP-0049G ✓ ✓ ✓ ✓
SEGA Network Taisen Mahjong MJ4 Evolution SBTA DVP-0081 ✓ ✓ ✓ ✓
Outrun 2 SP SDX SBMB DVP-0015 ✓ ✓ ✓ ✓
Outrun 2 SP SDX Rev A SBMB DVP-0015A ✓ ✓ ✓ ✓
Primeval Hunt SBPP DVP-0048 ✓ ✓ ✓ ✓
Rambo SBQL DVP-0069 ✓ ✓ ✓ ✓
R-Tuned SBQW DVP-0060 ✓ ✓ ✓ ✓
Sega Race TV SBPF DVP-0044 ✓ ✓ ✓ ✓
The House of the Dead 4 Rev A SBLC DVP-0003A ✓ ✓ ✓ ✓
The House of the Dead 4 Rev B SBLC DVP-0003B ✓ ✓ ✓ ✓
The House of the Dead 4 Rev C SBLC DVP-0003C ✓ ✓ ✓ ✓
The House of the Dead 4 Special SBLS DVP-0010 ✓ ✓ ✓ ✓
The House of the Dead 4 Special Rev B SBLS DVP-0010B ✓ ✓ ✓ ✓
The House of the Dead Ex SBRC DVP-0063 ✓ ✓ ✓ ✓
Too Spicy SBMV DVP-0027 ✓ ✓ ✓ ✓
Virtua Fighter 5 SBLM DVP-0008 ✓ ✓ ✓ ✓
Virtua Fighter 5 Rev A SBLM DVP-0008A ✓ ✓ ✓ ✓
Virtua Fighter 5 Rev B SBLM DVP-0008B ✓ ✓ ✓ ✓
Virtua Fighter 5 Rev E (Public Version C) SBLM DVP-0008E ✓ ✓ ✓ ✓
Virtua Fighter 5 Export SBLM DVP-0043 ✓ ✓ ✓ ✓
Virtua Fighter 5 Final Showdown REV A SBUV DVP-5019 ✓ ✓ ✓ ✓
Virtua Fighter 5 Final Showdown REV B SBXX DVP-5020 ✓ ✓ ✓ ✓
Virtua Fighter 5 Final Showdown REV B ver 6.0000 SBXX DVP-5020 ✓ ✓ ✓ ✓
Virtua Fighter 5 R SBQU DVP-5004 ✓ ✓ ✓ ✓
Virtua Fighter 5 R Rev D SBQU DVP-5004D ✓ ✓ ✓ ✓
Virtua Fighter 5 R Rev G SBQU DVP-5004G ✓ ✓ ✓ ✓
Virtua Tennis 3 SBKX DVP-0005 ✓ ✓ ✓ ✓
Virtua Tennis 3 Rev A SBKX DVP-0005A ✓ ✓ ✓ ✓
Virtua Tennis 3 Rev B SBKX DVP-0005B ✓ ✓ ✓ ✓
Virtua Tennis 3 Rev C SBKX DVP-0005C ✓ ✓ ✓ ✓

Game Issues & Fixes

All Games: missing dependencies & libraries

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

Let's Go Jungle Rev A

  • The game must be run in export mode to have the stereo sound option.

Outrun 2 SP SDX

  • You need to set SKIP_OUTRUN_CABINET_CHECK to 1 in lindbergh.conf to play in DX, SDX or Standard cabinet types.

Hummer (all versions)

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.

Configuration File : lindbergh.conf

All configurable options are set and explained in the lindbergh.conf 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.

Controller Setup

There are 2 modes for the controller setup in the emulator, these are set using the INPUT_MODE flag in the configuration file.

Input Mode 0

In this input mode, both input mode 1 and input mode 2 are active.

Input Mode 1

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.

Input Mode 2

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:

./lindbergh --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.

Audio Setup

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.

Installing and Running the Flatpak

Prerequisites

Before installing the main package, ensure that Flatpak is set up on your system. If Flatpak is not installed, follow the official Flatpak setup guide.

Installation

Once downloaded, install Lindbergh Loader by running the following command in your terminal:

flatpak install lindbergh-loader-dev.flatpak

Additionally, install the required dependencies:

flatpak install org.freedesktop.Platform.Compat.i386//24.08
flatpak install org.freedesktop.Platform.GL32.default//24.08

Intel GPU Users (VAAPI Support):

flatpak install org.freedesktop.Platform.VAAPI.Intel.i386//24.08

NVIDIA GPU Users (Driver Support):

If your system uses an NVIDIA GPU, you need to install the matching NVIDIA driver package for your system. To check your NVIDIA driver version, run:

nvidia-smi

Then, install the corresponding Flatpak package, replacing 570-86-16 with your actual driver version:

flatpak install org.freedesktop.Platform.GL32.nvidia-570-86-16

Running Lindbergh Loader

Once installed, launch the application with:

flatpak run com.github.lindberghloader.dev

Managing Game Locations

By default, games should be added to:

~/Games

If you need to add more locations, install Flatseal:

flatpak install com.github.tchx84.Flatseal

Then, run Flatseal and grant Lindbergh Loader access to additional directories.

Stand alone mode

Now, you have the option to run the games without copying any files to the game's folder. Your system's 32 bit library folder, your current folder and the game's folder will be added to LD_LIBRARY_PATH env variable, so you can han the loader libs in any of those locations.

Passing -c option you can specify the location of the .conf file like this:

./lindbergh -c /my/custom/folder/myconfig.conf

-g or --gamepath

With this new option, you can specify the location of the game, where the game's ELF resides.

./lindbergh -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:

./lindbergh myCustom.elf -g /my/custom/folder/hod4/elf

The loader will load myCustom.elf inside the passed folder.

Passing a folder containing an elf

With this option, you pass a full path, including an ELF name like this:

./lindbergh /my/custom/folder/hod4/elf/myCustom.elf

The loader will load the ELF in that folder.

You can combine all options.

You can have the needed libraries in the folder where lindbergh resides, in the system's 32 bit lib folder or in the game's folder. The loader will try to find the files.

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.