Jump to content

Recommended Posts

What's this all about?

I recently decided that PinballX was the way to go. Years ago I bought the hardware to build an arcade cabinet for MAME and all the other stuff, but didn't have the time, space or tools to work on it. The parts sat dormant for 5 years until I decided that Pinball was way more interesting than an arcade cabinet, so I started looking at designs online, and then went to town on building my own from scratch. 6 months later, I have the body completed and needed to get the software running. That's where PinballX comes in. 

This guide is targeted at folks who are new to PinballX, cabinet building, or just want to refresh their library. I am working through systems that I own, so please do not ask me to work on another thing. I have Pinball FX2 fully functional now, next up is Pinball Arcade, likely followed by Zaccaria Pinball. I am currently exclusively interested in Pinball tables that are available through Steam, but that may change later.

If you've found this guide, good for you! I hope that it helps you get started in a few hours as opposed to the weeks that I spent, and the months and years that others have spent. After you are up and running with this, I encourage you to give back to the community in whatever way your personal skillet and interests allow. I am pretty great at documentation, so this is my contribution.

How to use this guide.

  1. Read it. Read it again. Seriously. Then maybe a third time. In my experience, mistakes happen because I missed a detail in the documentation somewhere and have to backtrack and reread and redo the entire thing.
  2. Follow the instructions. I will often reference other documentation so that I don't duplicate work. 
  3. Use defaults wherever possible.
  4. You'll need some hardware. I have to make some basic assumptions here. If you are totally new to the pinball cabinet game, sorry but this is not where you start. I assume that you have a computer and a monitor that you can configure to be Portrait (taller than it is wide).
  5. This stuff ain't free. Sign up for the Lifetime Membership on GameEx so you can access the FTP. No, I'm not taking any money from it, but I also will not freely distribute the content and neither should you! Members of the PinballX/GameEx community have painstakingly created this content over the years, and offered it up to the community for personal use. Thank the members that created the content. Be a good member of the community here. Feel free to read this guide and then go off and create your own content (awesome! please share?) or collect it all from the internet yourself. I put this together for GameEx members. So, just like you need to pay Zen Studios for the Pinball FX2 tables (you had better not be pirating them), you need to pay GameEx a small fee to get access to the FTP server where this content package is stored.
  6. If you already had PinballX working on your own, good on you! Skip to Step 8. (or maybe 7).

Downloading PBX and getting FX2 running through it only took me about 3 hours. It should take you that long, or less (excluding the asset downloading time). Collecting, organizing, renaming, configuring all of the assets that make my cabinet exactly the way that I like it to be took me weeks. My main goal with this guide is to make all that work that I spent time on, a simple "copy-paste" step for you.


The Real Meat

I started off with a freshly build cabinet, freshly imaged computer, and a two screen setup, one for the playfield in portrait and one for the Backglass+DMD in landscape. My cabinet also has a VirtuaPin v2 plunger and control board with all my buttons wired into it, but that is irrelevent to this guide.

Step 1: Get your OS up to date. 

Do I really need to explain this? Run your software updates and security updates. After you update your OS, make sure you update ALL of your software and drivers (Steam, nVidia Drivers, GeForce Experience, etc)

I recommend using a fresh install of Windows 10. Many folks like to have their computer Offline after they get it set up, I thought I'd go this route too, but it turns out that my setup works better if things are Online. Experiment on your own with this. My cabinet will sit next to my homelab server rack, so networking it in is a piece of cake for me, do what works for your setup. Maybe a wireless adapter is what you need. I recommend staying online for the full duration of setup though. I also recommend disabling UAC controls in Windows. This can be dangerous if you are going to keep your computer online, but it will make your life so much easier.

At this point you should also use your graphics driver software to make sure your screen is rotated the correct direction. PinballX and FX2 can do this, but it will cause a hit on your system performance.


Step 2: Download the setup files.

You'll need a bunch of installers for all the different pieces. I've packaged them all up on the FTP so you can get them in one place at the same time, but remember, these are all POINT IN TIME installers, so if you use my package make sure you also check for updates AFTER installing these things. DO NOT just run through and install everything. You will use them all, but just be patient and wait for the ones in the order that you will use them. One thing that might help you keep track of what you've already used is that after finishing an install, move that installer to a "used" subfolder. I recommend keeping it around until you are satisfied that everything is working (at the end of the setup, and after hours of testing).


Step 3: Get your game working.

You'll want to start with PinballX, but don't. Do not. DO NOT. Every guide out there will always tell you, start with the game. That means Steam and Pinball FX2. A Steam installer is included in this folder on the FTP.

\\-PinballX-\Other Uploads\humor4fun\Setup

Install Steam, Log in to your account, Install Pinball FX2 and let it download all of your game data. I cannot recommend strongly enough that you use default installation directories ALL THE TIME. If you have a fresh OS and a dedicated PC for your pinball setup, this should not be a problem at all. All the documentation that I found references default installation directories and configs. Using defaults just makes your life easier, one less thing to have to remember to correct or check on.

After you've installed FX2, launch it. Make sure that you can play the game. It comes with the "Sorcerer's Lair" table (file named 'Citadel') for free, so you don't need to pay for that.


Step 4: Configure your controller for the Game.

Each arcade controller board is different. I am still working out the final kinks in my cabinet control setup so I can't give great advice on what the setup should be.

  • x360ce is a very useful tool for converting DInput -> XInput. x360ce is free and open source.
  • XPadder is great for Controller->Keyboard conversion. XPadder costs $10 or so for lifetime support.

My VirtuaPin v2 does DInput and FX2 likes to use XInput (like an xbox 360 controller) so x360ce was the way to go for me. Perhaps I'll come back and detail my configuration later on. At a minimum, you'll need a "Left Flipper" "Right Flipper" "Exit" and "Start" button. That's it. 4 buttons. You can do that with a keyboard, controller, arcade button mapper gadget, whatever you want but you'll need at least 4 inputs to be able to use PinballX. If you are using an xbox 360 controller, FX2 will work out-of-the-box for you. so good on you for making an easy choice. x360ce requires most of the installers that are included in my Setup folder on the FTP. Make sure you follow the installation guide on their website/github. I followed it to the letter and was up and running without issue in about 30 minutes (the many depenencies take a while to install); make sure you reboot your computer if and when the installer asks you to. DO NOT skip that step.

Test your controller in the game. Test it some more.


Step 5: Set up PinballX.

The guys here at GameEx could not have made this process any easier. Run the installer, follow the onscreen instructions and USE THE DEFAULTS. After the install is completed, you'll be asked to configure PinballX using the Settings Wizard. This is the tool that you'll want to remember. read through EVERY page that it gives you. Read the options, read the help bubbles. Before you do anything else though, quit the wizard go to C:\PinballX (your install directory) and set the following files to always run as administrator. This is the simplest thing that can save you headache down the road. Do it now. 

  • C:\PinballX\PinballX.exe
  • C:\PinballX\Game Manager.exe
  • C:\PinballX\PBFX2_DMD_Borderless.exe
  • C:\PinballX\Settings.exe
  • C:\PinballX\PluginManager.exe

Now run the Settings.exe file (this is the Settings Wizard), and it should run as an administrator. This tool will be your friend but for now, we will use defaults for most everything. Flip through pages until you see the settings page for Pinball Arcade, PinMAME, PinballFX2, Visual Pinball, etc. Select the field at the top that says "Enabled" and choose "No" for all of these systems except Pinball FX2. Leave that one enabled. Download the guide from this other thread on how to configure PinballX to work with Pinball FX2. The guide is a bit outdated, but it covers the key points that you'll need.

NOTE to self: update this section with an up to date guide on FX2 config.

Make sure that you configure your controller input into PinballX so that you can control the UI once it loads. For my setup, I have the buttons defined as follows, but your buttons are almost certainly different. Remember that you need a Left, Right, Start and Exit button at a minimum.

NOTE to self: update with basic setup of PinballX config screenshots.

Save the config by clicking through to the final page, use the "Verify" button to make sure there are no errors on any configs that we need (errors may show up for Pinball Arcade, MAME or some other systems, but that's OK since we aren't using those systems) then click the big red "(X)" button in the bottom right to save and exit.  Make sure the "WaitForDelay" is set to -1

NOTE to self: put image of verify page with errors that are OK.


Step 6: Configure your tables.

Most folks here will tell  you to use the Game Manager to build the configs for PinballX. They're not wrong, it is a great tool and can do everything that you need. For me, I like the systematic approach of getting all my data configured through the built-in code that will auto-match tables to the meta-data and content. I assume you know which Pinball FX2 tables you own, so go to the FTP and download the following files.

Source: FTP://-PinballX-/Other Uploads/humor4fun/PinballX/Databases/Pinball FX2/*xml
Destinatin: C:\PinballX\Databases\Pinball FX2\*.xml

The txt file there has some extra notes about how I organized the data. Here's a summary of these files. "Pinball FX2.xml" is the master database of ALL Pinball FX2 tables that the game can handle or might possibly know about. Every table must be defined here. When new tables are released, I'll update this file with their info and you will need to do the same. The other XML files are optional. They specify a number of tables with data identical to the master XML file, and are used by PinballX to provide "Table Groups" so that you can filter the tables that are shown on the wheel. Play around in the PinballX UI to understand what that means, it is also loosely explained in the PDF guide linked previously.

At this point you will need a list of all the tables that you own. Open "Pinball FX2.xml" up with a TEXT EDITOR (wordpad is NOT a text editor. notepad++ is great) and use the Find+Replace routine to search for  


and replace it with


for all tables that you do not own. This will make them Hidden on the table selector wheel. Do the same thing in the other XML files. My default configuration has all tables enabled with the exception of the Football tables. I only enable the Zen Studios Super League Football table (Arsenal, Milan, etc) are all disabled. If you own all the tables that are currently available on Steam, this will work for you. Save the changes and exit your editor.


Step 7: Ladies and Gentlemen, start your engines.

Run PinballX.exe and give it time to load. The first time it starts, the system needs to parse all the config files, search for media, maybe even download some media for you and then start rendering it all. My startup time takes about 15-30 seconds (using an IDE hdd, so...yea....be patient). Use the left and right buttons to flip through the tables (if you only have one, it will display multiple copies of the same one). Launch the game by pressing the Start button to open the Table Menu, Use Left/Right to move up and down the menu, and Start to select an option in that menu. (Exit to leave the menu).

Did Pinball FX2 launch and start the right table?
If so, Great! You are almost done!
If not, go back to the Settings Wizard and check your configuration of the Pinball FX2 system.


Step 8. Replace the assets folder.

All of the previous steps were just foreplay. Now that you have PinballX functional, controlable, and properly launching tables in FX2, its time to put all the icing and sprinkles on this cake. Download these files:

Source: FTP://-PinballX-/Other Uploads/humor4fun/PinballX/Media/*
Destination: C:\PinballX\Media\*

There are a handful of Font options. (In the Media/Font/options folder, open up a Zip file, preview the TTF and then move ONE font into the Media/Font folder and delete any fonts that exist there previously, to replace the PinballX font that is used). I've pre-configured one for use.

I also updated the loading images for loading games, loading video for PinballX startup, added some Company Logos just in case and then in the Media/Pinball FX2 folder is all the goodness that I spent so much time curating.

Every table in Pinball FX2 has a filename (see the Steam folder "steamapps\common\Pinball FX2\data_steam" for this file list) which is used in the XML to standardize the filenames that I use everywhere. Inside each folder in Media/Pinball FX2 is file for each table with the exact same name. That's how PinballX knows what image or video or sound to use for each thing. My collection is not fully complete yet, but I am updating it constantly, and attempting to synchronize the styles across all tables.


Step 9: View the glory.

Launch PinballX and see all the wondrous glory of the media assets. If you have a second and or third screen, configure the DMD and Backglass to display there for extra perks. Make sure your Table Video Audio is disabled (through the Settings Wizard) or else you'll get duplicate audio playing when you select tables. If you want the Flyby videos for the playfield instead, you can rename "Table Videos (flyby)" and "Table Videos"  (add "(playfield)" to Table Videos and remove "(Flyby)"). Or just delete both of these if you want static playfield images.


Step 10: Thank the creators.

This guide and my project would not be possible without the wonderful assets and work of all the members of this community. I have included thanks and credits here for the media that I know where it came from. If I missed you and you recognize that your asset was used, let me know and I will gladly add you to this list.

[backglass-video] https://www.gameex.info/forums/topic/18063-pinball-fx2-bg-videos-classic/
[backglass-image] ftp
[audio-launch] https://www.gameex.info/forums/topic/18752-pinball-fx2-table-audio-opening-callouts/
[audio-select] ftp
[table-video] ftp
[DMD-images] ftp
[DMD-video] ftp
[instructions] https://www.gameex.info/forums/topic/15132-pinball-fx2-animated-instruction-cards
[wheel] https://www.gameex.info/forums/topic/16014-mega-docklets-style-pinball-fx2-wheel-images/

STARWARS_RogueOne: https://www.gameex.info/forums/topic/18760-star-wars-pinball-rogue-one/

This content would not exist without these great people: vogliadicane, bigsjohn99, Carny_Priest, thunderscorp, Ginsonic, Draco1962


Ongoing: Update the assets and fill in the gaps.

Here's the list of what I've collected. As I mentioned I have gaps in some of the media, but for 98% of the userbase, this should suffice as a "complete" solution.

Humor4Fun's Media Asset Tracker


Bonus: Configuring the Backglass for Pinball FX2

NOTE: to be added


Bonus: Configuring the DMD for Pinball FX2

Note: to be added


More to come as I continue writing this stuff and get my pictures in order...


Edited by humor4fun
Added link to Tracker.
  • Thanks 1

Share this post

Link to post
Share on other sites

Here's a sample of the content I've collected for each table. Wherever possible I attempt to maintain a common style across asset types.

Download the Zip file to see the whole contents. I'm limited in what I can put in a post.




Share this post

Link to post
Share on other sites

This looks fantastic.  THANK YOU so much for this.

I grabbed your .xml file and have PBX launching FX2 tables perfectly.

Next, I'll grab your media to dress it up.


Any hints on how to configure FX2 in cabinet mode to display backglass on 2nd monitor and DMD on PinDMDv3?  I'm just getting started with FX2 so have not looked much online yet.  I will

I have cabinet mode going, but I don't yet have figured out how to display backglass on 2nd monitor and DMD on PinDMDv3.


Thanks again!

  • Like 1

Share this post

Link to post
Share on other sites

I am very interested in this too.  I got my code from Zen for Pinball FX2, but cannot seem to figure out where I need to align my monitors and hos to get the X and Y values correct to position the backglass and DMD where I want it it.

Share this post

Link to post
Share on other sites

@BamBam, If FX2 with cabinet mode code entered, you have to go into cabinet settings to setup for backglass display and dmd display repositioning.

For backglass display, I leave repositioning OFF and rely on the backglass displayed by pinballX to remain displayed during FX2 gameplay.  This assumes your FX2 .xml file has the entry for each FX2 game "Hide Backlass" unchecked.


For DMD, you have to turn DMD repositioning ON, then enter coordinates as follows:

X position = 0, Y position = 0, X width = 1040, Y height = 272


That takes care of the FX2 setup in FX2.


You'll need to download DMDEXT and set that up.  I put it in its own folder then made sure to put that folder PATH in my environment settings, making sure the PATH environment variable contains the path to the DMDEXT folder.

In PinballX, in GAme Manager, as mentioned above, the FX2 games must have "Hide BAckglass" unchecked, so any artwork you downloaded from ftp AND put in the correct PBX folder is displayed in PBX and stays displayed during FX2 play.

In PBX PinballX settings, you have to setup FX2 - enter your working path and executable.  Enter your STEAM related parameters (defaults may work?)

The key to dmd display in FX2 is in the LAUNCH BEFORE settings.  Here you point to your DMDEXT path, the exe is DMDEXT.exe, and the parameters (from memory) are    "mirror --source=pinballfx2 --no-virtual  -q --fps=60"


I may have the syntax wrong but that's the basic idea.  Some search on this site, on the DMDEXT site, and elsewhere on internet will get you the correct syntax.

Share this post

Link to post
Share on other sites

Thanks for doing this guide.

I have been doing the GameEx side of things for a long time and never quite got around to looking at the PinballX side. It's nice to have something to look over once I decide to take a stab at it.

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...