64bit VPX Pincab Setup Guide - vpinball/b2s-backglass GitHub Wiki

30 July 2023 to include new FlexDMD download link

6 April 2023 Update B2S Server Version

25 March 2023 Updated versions of VPX, B2S

22 March 2023 Baller Installer additions from Nailbuster

PinUP Popper BALLER Installer users check the update page update_baller.

As Nailbuster states, you brave souls who wants to try it out manually: As a first iteration this guide is updated to make a smoother upgrade: All marked 🪩Baller Installer below

Video

Smaug from Game Club Central has now released the video based on this tutorial here:

Upgrading to 64-Bit Virtual Pinball

Tutorial

This guide assumes you:

  • Already have Visual Pinball X installed on your machine using Baller Installer or some other method
  • Want to have the ability to run multiple version of VPX, 32bit and 64bit with VPinPAME, B2SServer, and DOF

Note 1, currently PupPlayer only works within a 64bit environment if there is no ROM being used.

Note 2, if you plan to update DOF to work in 64bit, make sure it is properly working in 32-bit first.

Note 3, if you are nervous about messing something up, please back up your visual pinball folders before you start.

Step 0: Backup

Make a backup of your files!

Step 1: Get the latest versions of VPX

Go to GitHub to download the latest versions of VPX (or whatever version you want). You may need an account to get full access to the downloads:

  • https://github.com/vpinball/vpinball/releases
  • At the time of writing this document, it’s recommended that you also upgrade to a newer beta
  • Download the following from the Assets section
    • VPinballX-10.8*-Release-win-x64.zip
    • VPinballX-10.8*-Release-win-x86.zip
  • Extract files from the x86 download and rename the VPinballX.exe to VPinballX-x86.exe.
  • Copy and paste all the extracted files over your existing \Visual Pinball folder
  • Extract files from the x64 download and rename the VPinballX.exe to VPinballX-x64.exe.
  • Copy and paste all the extracted files over your existing \Visual Pinball folder
  • Delete your old VPinballX.exe from the \Visual Pinball folder

Step 2: Install the latest version of VPinMAME

Go to GitHub to download the latest versions of VPinMAME

  • https://github.com/vpinball/pinmame/releases
  • At the time of writing this document, it’s recommended that you also upgrade to a newer beta which fixes a major bug with running Capcom tables in 64bit.
  • Download the following from the Assets section
    • VPinMAME-sc-3.6-*-win-x64.zip
    • VPinMAME-sc-3.6-*-win-x86.zip
  • From the x86 download, copy and paste VPinMAME.dll, Bass.dll, and Setup.exe into the \Visual Pinball\VPinMAME folder. Overwrite existing files
  • From the x64 download, copy and paste VPinMAME64.dll, Bass64.dll, and Setup64.exe into the \Visual Pinball\VPinMAME folder. Overwrite existing files Do NOT overwrite DmdDevice.ini

Now we must set up VPinMAME

  • Go into the \Visual Pinball\VPinMAME folder. Run Setup.exe
    • Click the Install button. Say OK
    • Click Quit
  • Now Run Setup64.exe
    • Click the Install button. Say OK
    • Click Quit

Step 3: Upgrade/Install Freezy 2.0

The newest version of Freezy now has better support for 64bit VPinMAME and should be upgraded/installed while going through this process.

Step 4: Install FlexDMD

If you have not already installed FlexDMD, it is not necessary, but it is recommended. Follow the instructions provided on GitHub:

FlexDMD has received quite a lot of fixes and improvements during the last 2 years. Use FlexDMD >= 1.9 for a clean x64 setup.

  • Extract all the files into the \Visual Pinball\VPinMAME folder. Overwrite any existing files.
  • Be careful to consider the changes made to FlexDMD.log.config in the last step of installing Freezy 2.0 above. Redo that step if needed.
  • Go to the \Visual Pinball\VPinMAME folder and run FlexDMDUI.exe
  • Click Select Install Folder… and make sure the path is pointed to the \Visual Pinball\VPinMAME folder. Click OK
  • Click both of the Register buttons. You should now see only green checkmarks on the left side of the window.

Step 5: Install the B2S Server

Now let’s update and install B2SServer:

  • https://github.com/vpinball/b2s-backglass/releases

  • Download the following from the Assets section.

    • B2SServer-*-Release-win-x86-x64.zip
  • Create a new folder \Visual Pinball\B2SServer

    • NOTE: you can put the new folder wherever you want. This location is just a suggestion.

      For 🪩Baller Installer Please keep the B2S files in the Tables folder

  • Extract the files into this new folder

  • Go into the new folder and run B2SBackglassServerRegisterApp.exe

    • When it asks if you you really want to re-register, say yes
    • Also allow it to register the new context menu stuff
  • Now go into your \Visual Pinball\Tables folder and copy the ScreenRes.txt file. Paste it into the new \Visual Pinball\B2SServer folder (replace the existing file).

  • Delete the ScreenRes.txt file from your \Visual Pinball\Tables folder.

  • Create the following new folders:

    • \Visual Pinball\B2SServer\Plugins
    • \Visual Pinball\B2SServer\Plugins64
  • Go back into the \Visual Pinball\Tables folder and copy & paste the contents of the \Plugins sub folder into \Visual Pinball\B2SServer\Plugins

  • Delete the \Plugins folder from your \Visual Pinball\Tables folder.

  • Now you can delete all the following files from your \Visual Pinball\Tables folder (but don’t delete the xml file)

    B2SFilesToKeep

Many of the old tools like B2SDebug and "B2S ScreenRes Editor" does not work with the newer ScreenRes format:

use B2SScreenResIdentifier instead!

Step 6: Install DirectOutput Framework

🪩Baller Installer Please keep the Folder name DirectOutput for the x86 files

Before setting up DOF to work in the 64bit environment, it should be working properly in the 32bit (x86) environment. All the required info is located here:

  • http://mjrnet.org/pinscape/dll-updates.html
  • It’s a good idea to rename the DirectOutput folder to indicate it is for x86.For example, \DirectOutput-x86
  • Then go into \Visual Pinball\B2SServer\Plugins and right click on the DirectOutput shortcut and open the Properties window. Update the Target path to point to the newly named folder (\DirectOutput-x86 )
    • It is not necessary to change this pathname if you don’t want to NOTE: if you change the DirectOutput pathname, you will need to update associated paths in your DOFLinx files.
  • Check that DOF still works within 32bit:
    • Run VPX in 32bit and open a table that has an associated backglass file.
    • Right click on the backglass once it is opened and make sure the Activate Plugins checkbox is checked.
    • Ensure the Plugin settings button is not grayed out. Click on it.
    • A new dialog box should open showing the DirectOutput plugin is Active and there are no Exceptions shown.

To get DOF working in the 64bit environment, you will have to download the x64 build provided here:

  • https://drive.google.com/file/d/1TxZQgOaUMrsacdCqmPS4khajwSrRpdnn/view?usp=share_link
  • Then you can follow the Manual DOF Setup section described here: http://mjrnet.org/pinscape/BuildGuideV2/BuildGuide.php?sid=DOF
  • In a nutshell (and slightly modified for our purposes), that section asks you to:
    • Unzip the files and unblock the executables. Place the contents in a new folder. For example, \DirectOutput-x64
    • Then go into \Visual Pinball\B2SServer\Plugins and copy the DirectOutputs shortcut. Paste it into \Visual Pinball\B2SServer\Plugins64
    • Inside \Visual Pinball\B2SServer\Plugins64 right click on the DirectOutput shortcut and open the Properties window. Update the Target path to point to the new folder (\DirectOutput-x64 )
    • Run VPX in 64bit and open a table that has an associated backglass file.
    • Right click on the backglass once it is opened and make sure the Activate Plugins checkbox is checked.
    • Click Save settings and exit VPX.
    • Reopen VPX, and rerun the table.
    • Right click on backglass to ensure the Plugin settings button is not grayed out. Click on it.
    • A new dialog box should open showing the DirectOutput plugin is Active and there are no Exceptions shown.
  • Once you have reached this point successfully, it is time to copy over your DOF config files
    • Copy and paste all the files from \DirectOutput-x86\Config into \DirectOutput-x64\Config
    • If you use MX LEDs, you will need to update the paths defined in your GlobalConfig_B2SServer.xml files, specifically the path defined in the tag.
  • Go into \DirectOutput-x86 into and run RegisterDirectOutputComObject.exe (as Admin). Press OK
  • Check that DOF works within 64bit and 32bit

Step 7: PinUp Popper Game Management

Now that you have upgraded everything, let’s determine how to use this on the front end. At this time, most tables work really well in 64 bit, but some ROM based PUP packs may not work properly. As such, you may determine that you want to default to 32 bit, and then run other tables in 64-bit mode. There are a few ways to accomplish this:

32-bit Default Popper method (Recommended for PUP use at this time)

  • Change the file name of VPinballX-x86.exe to vpinballX.exe (This will allow Popper to ALWAYS open a game by default in 32-bit mode).
  • Open the PinUpMenuSetup.exe located in \vPinball\PinUPSystem\ and select “Games Manager”. PopperSelectGameManager)
  • In the Game Manager window, select the “Lookups” tab at the top PopperGameManagerLookupsTab
  • Add the name of your .exe file for alt launching tables, in this case I used VPinballX-x64.exe. PopperGameManagerLookupsTabAddLauncher
  • Go back to your game list, and locate the table you want to run using 64-bit, pull down from the “Alternate Launcher” selection and choose the alt launcher you just added, make sure you click save and then close setup. This table will now load using the alt method you have selected, you can set any table to launch this way. PopperGameManagerSelectLauncher