A multi-monitor VPinballX front-end for your Linux virtual pinball cabinet.
Crafted for pinball lovers, by a pinball lover.
ASAPCabinetFE.mp4
"As Simple As Possible".
Get up and running in minutes—whether you’re a player or a code tinkerer.
sudo apt-get install git findutils -y -qq
git clone --depth 1 https://github.com/surtarso/ASAPCabinetFE.git ASAPCabinetFE-src
cd ASAPCabinetFE-src
cat apt-packages.txt | xargs sudo apt-get install -y
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . -j$(nproc)
cmake --install .
cd ~/ASAPCabinetFE
./ASAPCabinetFE
Note
Grab precompiled builds from Releases or Actions page for the fastest start, or dive into the code for full customization.
ASAPCabinetFE transforms your virtual pinball cabinet into an immersive experience. It might be the frontend you’ve been waiting for, and here is why:
- Full screen multi monitor display of table playfield, backglass, topper and DMD.
- Tailored to mimic Visual Pinball X cabinet setup for seamless transitions.
- Use
VPinballX.ini
for size and position auto-configuration. - Use VPin to retrieve table file metadata.
- Match metadata with VPSDb API.
- Browse VPSDb to find and download new tables.
- Create custom table overrides for media or metadata.
- Automatically apply or update table patches from vpx-standalone-scripts.
- Download media from the Vpin Media Database.
- Sort tables by title, type, manufacturer, year or author.
- Navigate tables with titles and/or wheels and marquees.
- Support for ambience, per-table music and launch sounds.
- Extended settings for many display configuration arrangements.
- Keybind friendly and joystick support.
- Extremely lightweight and fully customizable.
- No need to download artpacks, generate your own. (See tools)
- Fully compatible with VPX Standalone v10.8.0 and v10.8.1
- Just what it takes to make your cabinet look good!
ASAPCab isn’t just a frontend—it’s your gateway to a complete virtual pinball experience for Linux. Join us and make it yours!
- Scans recursively for
.vpx
files. - Optionally scan file metadata or use your existing
vpxtool_index.json
. - Creates up to four windows for playfield, backglass, topper and DMD.
- Loads default or custom media for each table.
- Launches tables with desired VPX executable.
Check the User's Manual for more details.
👫 Make sure you have git
and xargs
available
sudo apt-get update
sudo apt-get install git findutils -y
💏 Clone the Repository
git clone --depth 1 https://github.com/surtarso/ASAPCabinetFE.git ASAPCabinetFE-src
cd ASAPCabinetFE-src
👪 Install Dependencies (Debian based)
cat apt-packages.txt | xargs sudo apt-get install -y
🐞 Build and Run (Debug)
For debugging, build with the Debug
configuration to include symbols and run directly from the build folder.
cmake -DCMAKE_BUILD_TYPE=Debug -B build -S .
cmake --build build -j$(nproc)
cd build
./ASAPCabinetFE
🕹️ Build and Install (Release)
cmake -DCMAKE_BUILD_TYPE=Release -B build -S .
cmake --build build -j$(nproc)
cmake --install build
Run and configure your paths:
cd ~/ASAPCabinetFE
./ASAPCabinetFE
Built something cool? Share it with us in the Discussions!
Customize these keybinds to fit your cabinet’s controls—because every setup is unique.
Action | Key | Description |
---|---|---|
Scroll Table (One) | Left/Right Shift | Move to the previous/next table. |
Scroll Table (Tens) | Left/Right Ctrl | Move 10 tables backward/forward. |
Scroll by Letter | z and / | Scroll tables alphabetically (prev/next). |
Scroll Random | r | Move to a random table. |
Launch Table | Enter | Launch the selected table with VPinballX |
Launch SShot mode | s | Launch the table in screenshot mode. |
Config Panel | c | Toggle config panel. |
Save window pos. | left doubleclick | Saves current window positions in config. |
Metadata Editor | m | Toggle Metadata Editor in current table. |
VPSdb Catalog | n | Toggle VPSdb catalog for browsing tables. |
Quit | q | Exit the application. |
Important
Make sure your paths are properly configured before generating media.
1. Use the screenshot tool to take planned screenshots
Start the table in "Screenshot Mode" (default: s) and follow the on-screen instructions.
2. Use the generator to record your screen and create media (PNGs or MP4s) for the frontend, saved to paths specified in settings.json
.
./generate_media.sh --help
3. Use the missing media tool to find those sneaky tables without art.
./missing_media.sh --help
Warning
Use --vpx-version depending on your setup, ex: ./generate_media.sh --vpx-version 10.8.1 -d -f
We’re dreaming big! Help us bring these features to life:
- Multi-launchers.
- In-game video recording.
- Attract Mode.
- Integration of VPXGUITools for table management.
Contributions are very welcome! Check the TODO list, open issues or pull requests to help improve this app—every bit helps.
You can find the documentation here or by typing doxygen
on the project root, and opening docs/index.html.
- Visual Pinball X team.
- VPin/VPXTool team.
- Virtual Pinball Database team.
- Vpin Media Database team.
- VPForums/VPUniverse team.
- A BIG THANK YOU for @jsm174 @francisdb @superhac @Toxieainc.
- And a special thanks to Snortt for bearing with me thru all of this.
- Thanks everyone who helped making Visual Pinball X for Linux a reality. Really, you guys rock!
If you need help installing and configuring Visual Pinball X check out my wiki page, also check out VPXGUITools to help ease the process of settings tables up.
Join the Discussions page for questions and ideas!