User Tools

Site Tools


Zen Pinball FX (Steam 2023)

April 17, 2023

Note: This version of Pinball FX at this time is not 100% cabinet ready. It is missing an important feature of direct launch of a table via command line. There's a workaround at bottom of page, or you can use a mouse/keyboard to select your game inside of Pinball FX.

Setting up Pinball FX (steam)

These instructions will get Pinball FX Steam version up and running with all the tables and IDs ready to go. Hopefully once full launch command line is supported in an update then it should be really easy to modify the launch script to use this setup.

Firstly, you will need to download Pinball FX (and steam if needed) on your PC. It's free to download and comes with some free to play sample tables that you can try out and see if your hardware is up to the task of playing 'nicely'. (Pinball FX requirements seem to be much more than previous FX3). Press O or ESC to bring up options and configure your “settings/control”

To make life easier setting up backglass and DMD, you should copy down the ScreenX/Y positions and height,width settings from your PinUPPlayer.ini (located in your pinupsystem root folder). For backglass, copy the numbers down from [INFO2] section(see image below), then for FULLDMD users, copy the numbers from the [INFO5] sections, for SLIMDMD(4:1) users, copy the numbers from the [INFO1] section. These numbers will be used to update FX's cabinet mode values during config.

Pinball FX doesn't require you to use any 3rd party tools to rotate screens and supports backglass and dmd windows for multiple montior (cabinet) setups. Once you are running Pinball FX you can go into options/screen and configure (Press the the Letter O (not zero) for options). Go into “Settings/Video” to setup Video options. You can also press esc to bring up menus in certain spots.

You want to setup your video to have “borderless windows” and the rotation needed for your setup. Here's a sample that will work for most default setups:

Enabling Cabinet Mode:

In Pinball FX options menu theres a “Cabinet Support” button, press and then enable cabinet support. You can to then go to each the “DOTMATRIX” and “Backglass” tabs and Enabled each and set the values Width,Height from above and set the Horizontal (xpos) and Vertical(ypos) values that you wrote down prior.

Note: if you have any errors or weird things that lock you out of cabinet mode, or want to set stuff manually. The settings file used by FX is located here (use any text editor). (folder may be diff depends on where you installed steam).

C:\Program Files (x86)\Steam\steamapps\common\Pinball FX\PinballFX\Mods\Cabinet\Settings.ini

OK. Run some sample tables and see if DMD is in correct area and YOU WILL HAVE a black window on BG with an ERROR about missing file… that is ok for now as we haven't setup any media yet.

Exit PinballFX and now its time to setup Popper to launch and close Pinbal FX.

Setting up Popper to Launch Pinball FX.

First we need to confirm/know where your PinballFX is installed. In Steam, go to your library tab and right-click on “Pinball FX” and select Manager/Browse Local Files.

That will bring up a windows files explorer and you should make note of the locations if you installed steam/pinball fx into 'standard' locations like this.

if it looks like above we know that steam.exe is located here. If yours is different then you need to find where your steam.exe is located manually.

C:\Program Files (x86)\Steam

Also, if it looks like above that means the Cabinet MODS folder is located here:

C:\Program Files (x86)\Steam\steamapps\common\Pinball FX\PinballFX\Mods\Cabinet

This folder is important as this is where you will put the Backglass PNGS for each of your tables. Media links will be available below.

Now we have those two folder locations we can now setup the emulator in Popper.

Go into Popper Setup/Emulators and press the + button to add a new emulator.

Then on launch Setup tab,

Launch Script: (this script will change in future once full command-lines are supported by Zen Pinball FX)

if NOT "[CUSTOM1]"=="" (
START "" "[STARTDIR]Launch\PopperLaunchPinballFX.exe" [CUSTOM1] [ALTMODE]

START "" "[STARTDIR]Launch\VPXSTARTER.exe" 5 5 20 "PinballFX"
cd /d "[DIREMU]"
START "" "steam.exe" -applaunch 2328760

Close Script:


Adding Games:

Always backup your db before adding many games. Popper Setup and press the Backup DB button…easy!

Grab the pupgames import file from here: (unzip the file to a temp folder):

go into Popper Setup/Game Manager and filter emulator and select “Pinball FX”. The list should be blank and you want to right-click on grid and “import new games” from the above pupgames file.

Now add a playlist for Pinball FX.

Go to Popper Config/PlayList Config

Add new Playlist “Pinball FX” from root (or wherever you'd like) and go to settings tab and set it to active sql.

Note: this will add all the available Tables for PinballFX. If you only purchased a few then you will need to go through list in games manager and set the Status field to 'Inactive' on ones you want to hide, OR you can set the playlist to NOT be active-sql and just add your purchased tables manually to playlist.

Select * from Games where EMUID=10 and visible=1 order by GameDisplay

You will most likely need to change EMUID=10 to your Emulator ID in your system. Easy way to see the EMUID of your PinballFX is to use the drop down in playlist form, top-right “filter Emulator” drop down will list all emulators with a #XX represents its ID in system.

Save changes on your Playlist.

Note: You can drag/drop the New Playlist to move the display order of playlists in your tree-view. After you move you MUST press the 'save display order“ button to save position.

Adding Media for all Pinball FX Tables.

Using the following links you can copy/paste into folders to setup all the Wheels, Backglasses and Playfield Media in one go.

Special thanks to Hawkeyez88 for helping create the Wheel-Images,and Brian HasKell for Background images sourcing.


Copy all the PNGS into your Pinball FX wheel folder. Easy way to get there, in media manager, select one of your Pinball FX Games in the gamelist. Then right-click on the WHEELIMAGE box and select “open explorer”. That will bring up windows file explorer where all your wheels for PinballFX… paste all wheel pngs (tableXX.png…etc) into this folder. Thats It.

Backglass (3 screen Layout):

Use the same idea to copy/paste all your backglass images in one go. In the example above with wheel images, you right-click on your backglass box and “open explorer” and then paste them all.

Backglass (2 screen layout, dmd on backglass):

Follow the same instructions above for 3 screen layout to copy all the backglass images in one go.

PlayField Videos: not available yet, check back or record your own within Popper yourself, its easy :)

Important: For now, we want to keep all graphics during gameplay controller by PinballFX. That means PinballFX will control and display the DMD and BackGlass pngs within PinballFX (not using any sort of keep-display-on in Popper). In order for PinballFX to have media to display on the Backglass you must copy TABLE_XX.png files into its cabinet folder. So using the same media zip above for backglass images, you will copy the backglass pngs into the PinballFX cabinet folder: Location is same folder we found above:

C:\Program Files (x86)\Steam\steamapps\common\Pinball FX\PinballFX\Mods\Cabinet

Thats it. Make sure you do not set any Keep-Displays-ON in Popper for PinballFX as fullDMD and backglass is being drawn by PinballFX.

note: When PFX displays a 4:1 dmd on your FULLDMD monitor it will center it and you will have black-bars on top and bottom. You still cannot use Popper-Media to fill that as PFX draws ON-TOP the entire display. There maybe a external solution that will draw a overlay (with 4:1 punched through) to make FULLDMD look nicer with 4:1 dmds. Check back in future this page.

Controller/Plunger/Nudging in Pinball FX.

Still gathering info from community…some have success using Steam to map their controller, other have mentioned to use X360ce, must be 64-bit version and IMO use v3.2 of x360ce (website) and place the files into the folder:

C:\Program Files (x86)\Steam\steamapps\common\Pinball FX\PinballFX\Binaries\Win64

or wherever the PinballFX-Win64-Shipping.exe is located for you.

Auto-Launch Table Directly (Experimental)

This is OPTIONAL, if you have a joystick or simple means to manually select a table, then you probably don't need to do this but feel free if you want to auto-launch a table you own. Note: ONLY use this if you are using cabinet mode in Pinball FX, if you are using desktop then the script wont work as the menu commands are different.

As of now, PinballFX doesn't allow command line parameters to launch a certain table. The only 'workaround' is to simulate keypresses via AHK scripts to select which table you want to play if you want to 'simulate' launching certain tables.

I used and modified the AHK as a base from this project:

To use my version of this launcher follow these steps:

download/unblock and unzip the following files into your pinupsystem\launch subfolder:

Now, comes the 'ugly' part. Since PinballFX decided to make the menu 'different' for every person based on what you purchased and even just random sometimes?. What you need to do is go into PinbalFX and select “MY Tables” tab. Press ESC and use arrow keys to select “owned”

Then you will need to write down on paper or take a photo of the list so that you can set in games manager the ROW and COLUMN number of each of the games you own.

Then you go to Popper Setup/Games Manager and for each table you own. You will have to place the ROW and COLUMN separated by a space into the “Custom Launch Param”

That would mean ROW 0, COLUMN1 is the location for this game (this would be 2nd game visually as first game is row 0 column 0). So that when you select in Popper it will select that game automatically.

Switching between FULLDMD and 4:1 DMD on the fly

pinball_fx_stream.txt · Last modified: 2023/04/22 13:46 by pinupadmin