Skip to content

TUTORIAL_EN

Nesta78 edited this page Jul 18, 2026 · 5 revisions

📖 VPX Config Switcher — Complete Tutorial


Table of Contents


1. Overview

1.1 What is VPX Config Switcher?

VPX Config Switcher is a configuration profile manager for Visual Pinball X (VPX). It lets you instantly switch between multiple configurations in just one click.

On a pinball cabinet (pincab) or a desktop PC, changing modes — for example switching from 2D to VR — normally requires manually replacing several configuration files: VPinballX.ini, DMDDevice.ini, PuPPacks pup files and ScreenRes.txt. This is tedious, error-prone, and impossible to do quickly.

VPX Config Switcher automates all of this in a single click: it replaces the files, switches the Windows audio output and redirects symbolic folder links, in under a second.

1.2 What the software manages

Configuration files (per profile):

Element Description
VPinballX.ini Main VPX configuration file (graphics, resolutions, controls, physics…)
DMDDevice.ini DMD device configuration (real pinball-style score display)
ScreenRes.txt Position and resolution of VPX windows (playfield, backglass, DMD)
Windows audio output The active sound output device (cabinet speakers, VR headset…)
Symbolic links (Symlinks) Folder redirection, e.g. PuPVideos pointing to a 2D or VR version
Custom commands Scripts or executables launched automatically when the profile is activated

What the software does NOT touch:

  • VPX pinball tables
  • VPinMAME ROMs
  • PinUP Popper and its configuration

1.3 Compatibility

OS Windows 10 / 11 — 64-bit only
VPX All versions of Visual Pinball X (auto-detected)
Requirements None — Python, PyQt6 and audio tools are bundled inside the exe

2. Installation

2.1 Download

Go to the project's GitHub page: https://github.com/Nesta78/VPXConfigSwitcher then click on the Releases tab in the right-hand column.

image

Download the VPXConfigSwitcher.exe file. There is nothing to install: it is a portable executable.

2.2 Recommended location

Place the exe in a dedicated folder, for example:

C:\Tools\VPXConfigSwitcher\VPXConfigSwitcher.exe

⚠️ Do NOT place it directly in the VPX folder, or in a system folder like Program Files.

💡 Create a shortcut on your desktop or taskbar for quick access. You can also simply leave the .exe directly on your desktop.

2.3 First launch

Double-click VPXConfigSwitcher.exe. On the very first launch, Windows may display a SmartScreen security warning. Click "More info" then "Run anyway".

image

📝 This warning appears because the exe is not signed with a commercial certificate.


3. First Launch Configuration

On first launch, VPX Config Switcher displays an initial setup wizard with two steps. It is important to complete it correctly before creating your profiles.

3.1 Step 1 — Selecting VPX executables

What this window shows

The software automatically scans your PC to detect installed versions of Visual Pinball X in common folders (C:\vPinball, C:\Visual Pinball, etc.). It lists all found versions with their full path.

image

What to do in this step

  1. Check the VPX versions you want to use with the switcher (this allows you to adjust settings directly in VPX and have your changes saved to the configuration files).
  2. Uncheck versions you do not want to manage (unused old versions, etc.).
  3. If a version is not detected automatically, click "Add manually" and browse to the desired VPX exe.
  4. Click "Validate" to confirm your selection.

📝 You can return to this list at any time via Preferences → Manage VPX executables.

⚠️ If you manage multiple VPX versions (e.g. VPX 10.8 and VPX 10.7), check them all. Each profile can then choose which VPX version it should use. For example, I personally checked the Standard X64 version for 2D mode, and the GL_X64 version for VR mode.

3.2 Step 2 — Creating the first profile

Why create a profile right away

Before you can switch configurations, at least one profile must exist in the software. The wizard guides you to create your first profile from your current VPX configuration — the one you are already using.

This first profile will be your reference point. It represents your setup as it is right now.

How to capture your current configuration

  1. The wizard offers to automatically read your current configuration files:
    • VPinballX.ini (auto-detected from the checked VPX exe folder)
    • DMDDevice.ini (if present)
    • ScreenRes.txt (if present)
  2. Click "Read current configuration" to import these files into the profile.
  3. Give your profile a name (e.g. "2D Pincab" or "Current config").
  4. Click "Create profile" to finish.
image

📝 You are not required to configure all options at this stage. You can do so later by editing the profile if needed.

3.3 Main interface after initial setup

Once the wizard is complete, the main VPX Config Switcher window opens.

image | Area | Role | |---|---| | Profile list | Displays all your created profiles. The active profile is highlighted. | | **ACTIVATE** button | Applies the selected profile (replaces files, switches audio, manages symlinks). | | **New profile** button | Opens the profile creation dialog. | | **Edit** button | Opens the selected profile for editing. | | **↺ Backups** | Access to automatic backups of .ini, DMD and ScreenRes files, with one-click restore. | | **Preferences** menu | Manage VPX executables, change language, reset the app. |

4. Understanding Profiles

4.1 What is a profile?

A profile is a complete snapshot of your VPX configuration. It stores:

  • The content of VPinballX.ini
  • The content of DMDDevice.ini
  • The content of ScreenRes.txt
  • The audio output to activate on switch
  • The associated VPX executable
  • Symlinks (folder redirections)
  • Custom commands to execute

When you activate a profile, the software replaces the active files on your disk in this order:

  1. Backup of current files (automatic timestamped backup)
  2. Writing the new .ini / DMDDevice.ini / ScreenRes.txt files
  3. Switching audio output (if configured)
  4. Applying symlinks (if configured)
  5. Running custom commands (if configured)

4.2 Where are profiles stored?

Everything is stored locally on your PC. Nothing is sent over the internet.

Data Location
Profiles %APPDATA%\VPXConfigSwitcher\profiles.json
VPX .ini backups %APPDATA%\VPXConfigSwitcher\backups\
DMD backups %APPDATA%\VPXConfigSwitcher\backups_dmd\
ScreenRes backups %APPDATA%\VPXConfigSwitcher\backups_screenres\
VPX executables %APPDATA%\VPXConfigSwitcher\executables.json
Language %APPDATA%\VPXConfigSwitcher\language.txt
PuPPacks config %APPDATA%\VPXConfigSwitcher\puppack_settings.json

4.3 The automatic backup system

Before each profile activation, VPX Config Switcher automatically creates a timestamped backup of your current files. The last 10 backups are kept for each of the three files (VPinballX.ini, DMDDevice.ini, ScreenRes.txt).

To access backups, click ↺ Backups in the main interface. Three tabs appear:

  • VPX .ini — backups of VPinballX.ini
  • DMD — backups of DMDDevice.ini
  • ScreenRes — backups of ScreenRes.txt

To restore a backup, select it in the list and click "Restore".

image

4.4 VPX running detection

Before activating a profile, VPX Config Switcher checks that Visual Pinball X is closed. If VPX is still running, the software displays a warning and refuses to apply the profile.

⚠️ Never attempt to replace .ini files while VPX is in use. This could corrupt your configuration.


5. Creating a New Profile — Complete Guide

To create a new profile, click "New profile" in the main interface. The creation window opens with several tabs.

5.1 General tab

Profile name

Give your profile a short, descriptive name. This name will appear in the main list. Examples: "MODE 2D PINCAB", "MODE VR QUEST 3", "PERFORMANCE TEST".

Associated VPX executable

Choose from the dropdown list which VPX version this profile should use. This list contains the executables you checked during initial setup.

📝 If you only have one VPX version, the executable is already pre-selected.

5.2 VPX .ini tab

This is the most important tab. It contains the content of VPinballX.ini that will be applied when the profile is activated.

Method 1: Read the current .ini

Click "Read current .ini" to import into the profile the VPX configuration currently on your disk. This is the fastest method to create a profile based on your existing setup.

Method 2: Launch VPX and capture the result

This is the recommended method to create a profile with settings you have just modified in VPX:

  1. Click "Launch VPX" in the tab — this opens Visual Pinball X directly.
  2. In VPX, access the options and adjust your settings (resolution, graphics quality, controls, physics…).
  3. Close VPX.
  4. Back in VPX Config Switcher, the software automatically reads the .ini file modified by VPX and imports it into your profile.
image

Built-in .ini editor

Once the .ini is imported, you can edit it directly in the built-in editor.

⚠️ The editor does not validate syntax. If you manually edit the .ini, respect the [Section] / key=value format.

5.3 DMD tab

image

This tab works exactly like the VPX .ini tab, but for the DMDDevice.ini file. This file controls the configuration of your DMD device (digital score display).

If you don't have a DMD (or don't need a different DMD configuration per profile), you can leave this tab empty. The software will then not overwrite the existing DMDDevice.ini file on activation.

Automatic DMD update

Once a profile is activated and VPX is open, tables may modify DMDDevice.ini (table-specific calibrations). When you close VPX, the software compares the current DMDDevice.ini with the one stored in the active profile. If a difference is detected, a popup (wait a few seconds) offers you:

  • "Update active profile" — to save the table calibrations into the profile
  • "Ignore" — to change nothing
image

5.4 ScreenRes tab

image

This tab manages the ScreenRes.txt file, which defines the resolution and position of VPX windows: the playfield window, the backglass and the DMD.

In 2D pincab mode, you typically have 3 screens with precise positions. In VR mode, the windows are repositioned differently as rendering happens inside the headset.

Use the "Read current ScreenRes" button to import the existing file.

5.5 Audio tab

image

This tab lets you define which Windows audio output should be activated when this profile is applied.

The dropdown list shows all available audio output devices on your PC, detected in real time. Common examples:

  • "Speakers (Realtek Audio)" — for a classic pincab
  • "Headphones (Meta Quest 3)" — for a VR profile
  • "HDMI (Graphics card)" — depending on your setup

Select the device that matches your profile, or leave "No change" if you don't want the profile to modify the audio output.

📝 Audio switching uses the native Windows API (IPolicyConfig). No third-party software is required.

5.6 Symlinks tab

image

Symlinks (NTFS Junctions) allow you to redirect a folder to another one when the profile is activated, without moving or copying any files.

Typical use case: PuPVideos

If you have different PuP videos for 2D and VR:

C:\vPinball\PuPVideos_2D\   ← your videos for 2D pincab mode
C:\vPinball\PuPVideos_VR\   ← your videos for VR mode
C:\vPinball\PuPVideos\      ← the symlink (ghost folder that PinUP Popper always reads)

When the 2D profile is activated, PuPVideos\ is redirected to PuPVideos_2D\. When the VR profile is activated, it points to PuPVideos_VR\. The switch is instant, regardless of the folder size.

Configuring a symlink

  1. Click "+ Add symlink"
  2. Link: path of the ghost folder (the one VPX / PinUP Popper will read)
  3. Target: path of the real folder to point to
  4. Repeat for each folder to manage

📝 The application creates NTFS Junctions, which do not require administrator rights or Windows developer mode.

⚠️ Before configuring symlinks, create your target folders separately and fill them with the appropriate files. The software does not copy your files.

5.7 Custom Commands tab

image

This tab allows you to run arbitrary Windows commands automatically when the profile is activated, after all files have been written.

Usage examples:

Type Example
.bat script C:\scripts\config_2d.bat
Executable C:\tools\mytool.exe --mode 2d
Reg command reg add "HKCU\Software\MyApp" /v "MyKey" /t REG_DWORD /d 1 /f
Windows command taskkill /f /im MyProcess.exe

📝 Commands run silently in the background (no visible CMD window), in the order they appear in the list.

5.8 Saving the profile

Once all tabs are configured, click "Save". The profile appears immediately in the main list.


6. PuPPacks Manager

A PuPPacks Manager tab is built into the software. It lets you view at a glance which PuPPacks exist in one folder or another, and copy them where they are missing if needed. The idea is to only duplicate PuPPacks you want to use in VR to avoid wasting too many disk storage.

image

7. Activating a Profile

7.1 Activation procedure

  1. Close Visual Pinball X if it is open.
  2. In the main interface, click on the profile you want to activate.
  3. Click the "ACTIVATE" button.
  4. The software performs the operations in order (backup → files → audio → symlinks → commands).
  5. Launch VPX normally — it will start with the activated profile's configuration.

You can also switch between profiles with a right click on app icon in Windows tray bar.

7.2 Identifying the active profile

The currently active profile is visually highlighted in the list (different background color, validation icon).

7.3 What to do if activation fails

In case of error, the software displays an error message and attempts to restore the files from the last backup.

Most common failure causes:

Cause Solution
VPX is open Close VPX and try again
.ini file not found Check that the VPX executable in the profile is correctly configured
Insufficient rights Restart VPX Config Switcher as administrator

8. Import and Export Profiles

Exporting a profile

Profiles can be exported as .vpxprofile files (JSON) to share with the community or for backup purposes.

  1. Select the profile in the main list
  2. Click "Export" (or right-click → Export)
  3. Choose the save location
  4. The .vpxprofile file is created

Importing a profile

  1. Click "Import" in the main interface
  2. Browse to the .vpxprofile file
  3. The profile appears in your list
  4. Edit it if necessary to adapt the paths to your installation

⚠️ An exported profile contains the file paths as they exist on the original machine. If your VPX installation is in a different folder, remember to update the paths in the Symlinks and Custom Commands tabs.


9. Automatic Updates

VPX Config Switcher automatically checks at startup whether a new version is available on GitHub Releases.

  1. A notification appears with the new version number and release notes
  2. Click "Download and install" to update automatically
  3. The application closes and installs the update

📝 Your profiles and settings are never deleted during an update. They are stored in AppData, independently of the exe.


10. Frequently Asked Questions (FAQ)

Will my profiles be lost if I reinstall the software?
No. Profiles are stored in %APPDATA%\VPXConfigSwitcher\profiles.json, independently of the exe. You can delete and reinstall the software without losing your profiles.


Can I have multiple profiles active at the same time?
No. Only one profile can be active at a time.


Does the software modify my VPX tables?
No. VPX Config Switcher only touches configuration files (.ini, ScreenRes.txt). Your tables (.vpx files) are never modified.


How do I back up all my profiles?
Copy the file %APPDATA%\VPXConfigSwitcher\profiles.json to a safe location. To restore, place this file back in the same location.


Audio switching is not working
Check that:

  • The audio device is plugged in and recognized by Windows
  • It appears in Settings → System → Sound
  • You have selected it in the profile's Audio tab (and not "No change")

Symlinks are not being applied
Check that:

  • The target folders actually exist on disk
  • The "link" folder is not an existing real folder (it must be absent for the Junction to be created)
  • VPX Config Switcher has sufficient rights (try running as administrator if needed)

VPX won't start after a profile switch
Use ↺ Backups to restore the last working configuration.


11. Report a Bug / Contribute

VPX Config Switcher is a project currently in testing phase. Use at your own risk :)


— End of tutorial —

Clone this wiki locally