Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
systems:vpinball [2025/02/01 20:53] – Elaborated on Standalone vs the Windows version dekaysystems:vpinball [2025/07/11 14:26] (current) – Fix VPinballX_GL path lbrpdx
Line 39: Line 39:
 The current version of Visual Pinball supports version 10 (''.vpx'' extension) tables. The current version of Visual Pinball supports version 10 (''.vpx'' extension) tables.
  
-Community based tables for can be downloaded from [[https://www.vpforums.org|https://www.vpforums.org]] or [[https://vpuniverse.com|https://vpuniverse.com]]+The [[https://virtualpinballspreadsheet.github.io/|Virtual Pinball Spreadsheet]] is an excellent online resource for tracking down your old favorite tables or helping you find new ones, all created by the community and freely available. Tables and other content can then be found at [[https://www.vpforums.org|The Virtual Pinball Forums]] or [[https://vpuniverse.com|Virtual Pinball Universe]].
  
 Place your VPX tables in the ''.vpx'' format in ''/userdata/roms/vpinball/<table_name>/'' (eg. ''/userdata/roms/vpinball/Haunted House (Gottlieb 1982)/Haunted House (Gottlieb 1982) VPW 2.1.vpx'') Place your VPX tables in the ''.vpx'' format in ''/userdata/roms/vpinball/<table_name>/'' (eg. ''/userdata/roms/vpinball/Haunted House (Gottlieb 1982)/Haunted House (Gottlieb 1982) VPW 2.1.vpx'')
Line 45: Line 45:
 ==== PinMAME ==== ==== PinMAME ====
  
-Many historical tables require the original ROM file extracted from the pinball machine mainboard to run. To play these tables, put the proper ROM in ''.zip'' format in ''/userdata/roms/vpinball/<table_name>/roms'' (eg. ''/userdata/roms/vpinball/Phantom Of The Opera (Data East 1990)/roms/poto_a32.zip''). A few tables also require a nvram ''.nv'' file placed in ''/userdata/roms/vpinball/<table_name>/nvram''.+Many historical tables require the original ROM file extracted from the pinball machine mainboard to run. You have two choices in how to organize your ROM files: either all in one directory or per table.
  
-<WRAP center round important+If you choose to put them all in one directory, they need to be placed in ''/userdata/system/configs/vpinball/pinmame/roms/'' in zip format. A few tables that also require an nvram ''.nv'' file require them to be placed in ''/userdata/system/configs/vpinball/pinmame/nvram/''. You will also need to set **MAIN MENU** -**GAME SETINGS** -> **PER SYSTEM ADVANCED CONFIGURATION** -> **VISUAL PINBALL X** -> **PER TABLE FOLDER** to "Off" for Visual Pinball to find your ROMs when organized this way. 
-In Batocera **v38** and lowerthese paths were instead ''/userdata/system/configs/vpinball/pinmame/roms'' and ''/userdata/system/configs/vpinball/pinmame/nvram''+ 
 +If you choose to have the ROMs organized per table (the default in **v39+**)then the proper ROM(s) in ''.zip'' format are placed in ''/userdata/roms/vpinball/<table_name>/roms'' (eg. ''/userdata/roms/vpinball/Phantom Of The Opera (Data East 1990)/roms/poto_a32.zip''). A few tables also require an nvram ''.nv'' file placed in ''/userdata/roms/vpinball/<table_name>/nvram''. You should have the **PER TABLE FOLDER** setting for **VISUAL PINBALL X** mentioned above to "Auto" or "On" if you organize your ROMs in this fashion. 
 + 
 +<WRAP center round info> 
 +Regardless of how you choose to organize your ROM files for Visual Pinball, you'll still want to otherwise follow the organization recommended in [[#per_table_folder_organisation_v39|Per Table folder organisation]] for the rest of the files related to each table. 
 + 
 +If the table isn't loading properly, check ''/userdata/system/configs/vpinball/vpinball.log'' for any error messages in the loading of the ROMs. This file is rewritten every time a new table is started from the EmulationStation GUI. 
 + 
 +In Batocera **v38** and lower, the ROM and nvram files were always placed within their respective folders inside ''/userdata/system/configs/vpinball/pinmame''.
 </WRAP> </WRAP>
  
Line 63: Line 71:
 ==== Per Table folder organisation (V39+) ==== ==== Per Table folder organisation (V39+) ====
  
-<WRAP center round todo> +Virtual Pinball is very flexible and provides support for alternative, optional features (alternate sound effects, colorized Dot Matrix Displays, etc) that may be separate from the main table download. These features are contained in files that are separate downloads and best organized in separate folders within that for the table. The recommended folder organization for use within Batocera **v39+** is shown below. 
-Is this table necessary? Does the user have to organize these files themselves or do they come with the table+
-</WRAP>+
  
-^ Folder                                          ^ Description                                                                                                                                                                                        +^ Folder                                          ^ Description                                                                                                                                                                                                                                                                                                                                                                        
-| /userdata/roms/vpinball/<table_name>            | The VPX and any associated ''.directb2s'' or ''.vbs'' files. Any associated ''.UltraDMD'' folders should also be in this folder. Note: All file names (''.directb2s'', ''.vbs'') should match the ''.vpx'' file name exactly.  +| /userdata/roms/vpinball/<table_name>            | The VPX and any associated ''.directb2s'' or ''.vbs'' files. Any associated ''.UltraDMD'' folders should also be in this folder. Note: All file names (''.directb2s'', ''.vbs'') should match the ''.vpx'' file name exactly.                                                                                                                                                      
-| /userdata/roms/vpinball/<table_name>/roms       | The PinMAME ROM of the table (in ''.zip'' format). (eg: ''userdata/roms/vpinball/AC-DC LUCI Premium (Stern 2013)/roms/acd_170h.zip''                                                                    +| /userdata/roms/vpinball/<table_name>/roms       | The PinMAME ROM of the table (in ''.zip'' format). (eg: ''userdata/roms/vpinball/AC-DC LUCI Premium (Stern 2013)/roms/acd_170h.zip''). You will need to create this directory for those tables that require ROMs as they are a separate download from the table itself. Alternatively, you can put all your PinMAME ROMs in the PinMAME directory [[#pinmame|as described here]].  
-| /userdata/roms/vpinball/<table_name>/altcolor   | Serum colorizations directory <rom_name>/<rom.cRZ> (eg: ''userdata/roms/vpinball/AC-DC LUCI Premium (Stern 2013)/altcolor/acd_170h/acd_170h.cRZ''                                                        +| /userdata/roms/vpinball/<table_name>/altcolor   Optional Serum colorizations directory <rom_name>/<rom.cRZ> (eg: ''userdata/roms/vpinball/AC-DC LUCI Premium (Stern 2013)/altcolor/acd_170h/acd_170h.cRZ''). Create this directory as needed. Note that VP Standalone only supports the Serum (.crz) colorization format. Other colorization formats (.pac, .vni, etc) are closed source and not supported.                        
-| /userdata/roms/vpinball/<table_name>/altsound   Alternative sound packages directory <rom_name>/<sound files> (eg: ''userdata/roms/vpinball/Batman (Data East 1991)/altsound/btmn_106''                                                                  +| /userdata/roms/vpinball/<table_name>/altsound   Optional alternative sound packages directory <rom_name>/<sound files> (eg: ''userdata/roms/vpinball/Batman (Data East 1991)/altsound/btmn_106''). Create this directory as needed.                                                                                                                                                                                                
-| /userdata/roms/vpinball/<table_name>/music      | The table's music files, if any.                                                                                                                       +| /userdata/roms/vpinball/<table_name>/music      | The table's music files, if any. Create this directory for those tables where a separate download for the music files is required (e.g. ''Halloween 1978-1981 (Original 2022) 1.03.vpx''                                                                                                                                                                                         
-| /userdata/roms/vpinball/<table_name>/nvram      | PinMAME NVRAM (FIXME description                                                                                                                                                                                            +| /userdata/roms/vpinball/<table_name>/nvram      | PinMAME NVRAM (Non Volatile Memory with Pinball settings                                                                                                                                                                                                                                                                                                                         
-| /userdata/roms/vpinball/<table_name>/pupvideos  | Pup Pack directory <rom_name> (eg: ''userdata/roms/vpinball/Tron Legacy (Stern 2011)/pupvideos/trn_174h''                                                                                                +| /userdata/roms/vpinball/<table_name>/pupvideos  | Pup Pack directory <rom_name> (eg: ''userdata/roms/vpinball/Tron Legacy (Stern 2011)/pupvideos/trn_174h''). You will need to create this directory if the Pup Pack is a separate download and not included with the table itself.                                                                                                                                                  
-| /userdata/system/configs/vpinball               | ''VPinballX.ini'' configuration file and log files                                                                                                                                                               |+| /userdata/system/configs/vpinball               This directory is created automatically by Batocera for the ''VPinballX.ini'' configuration file and associated log files. If you have a problem getting a table to run, check the ''vpinball.log'' file in this directory.                                                                                                                                                        |
  
 ==== V38 ==== ==== V38 ====
Line 112: Line 118:
 [[https://www.vpforums.org/index.php?showtopic=38669#entry388038|https://www.vpforums.org/index.php?showtopic=38669#entry388038]] [[https://www.vpforums.org/index.php?showtopic=38669#entry388038|https://www.vpforums.org/index.php?showtopic=38669#entry388038]]
  
-For non DMD tables, the options are configured through Dip switches. Vpinball standalone version doesn't support pressing ''[F6]'' to display a window with the options. The DIP switche values must be changed by editing the ''.vbs'' file. eg. In the Fathom table, you can have 5 balls per play instead of 3 by changing this part:+For non DMD tables, the options are configured through Dip switches. Vpinball standalone version doesn't support pressing ''[F6]'' to display a window with the options. A way to access dip switches settings (and many more...) is to use the very powerful [[https://github.com/francisdb/vpxtool/|vpxtool]]. Most of the time, a description with what each dip switch does is also included directly in the ''.vbs'' file, where they can be edited. eg. In the Fathom table, you can have 5 balls per play instead of 3 by changing this part:
  
 <code> <code>
Line 121: Line 127:
  
 More information on what each Dip switch does is found in the table's user manual. More information on what each Dip switch does is found in the table's user manual.
- 
 ===== Customizing the Table ===== ===== Customizing the Table =====
  
Line 250: Line 255:
   * DOFlink to control toys (addressable LEDs, shakers...)   * DOFlink to control toys (addressable LEDs, shakers...)
   * SFF and multi-output sound systems   * SFF and multi-output sound systems
 +
 +Even if SFF is not fully supported yet, you can still use multiple sound cards. For example, on my pincab, I have two sound cards: one for the backglass music and sound effects, and one for the ball and bumper "physical" sounds. I can list all the sound outputs supported by VPinballX by logging into Batocera and running:
 +<code>
 +# /usr/bin/vpinball/VPinballX_GL -listsn
 +2025-06-14 15:18:37.153 INFO  [10019] [VPApp::InitInstance@926] Starting VPX - v10.8.0 Final (Rev. 9999 (unknown), linux OpenGL 64bits)
 +2025-06-14 15:18:37.154 INFO  [10019] [VPApp::InitInstance@929] Settings file was loaded from /userdata/system/.vpinball/VPinballX.ini
 +2025-06-14 15:18:37.154 INFO  [10019] [VPApp::InitInstance@930] m_logicalNumberOfProcessors=4
 +2025-06-14 15:18:37.154 INFO  [10019] [VPApp::InitInstance@931] m_szMyPath=/usr/bin/vpinball/
 +2025-06-14 15:18:37.154 INFO  [10019] [VPApp::InitInstance@932] m_szMyPrefPath=/userdata/system/.vpinball/
 +2025-06-14 15:18:37.154 INFO  [10019] [VPApp::InitInstance@980] Available sound devices:
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 1: name=Default, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 2: name= USB Audio: USB Audio, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 3: name=HDA Intel PCH: ALC221 Analog, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 4: name=HDA NVidia: LG TV, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 5: name=HDA NVidia: HDMI 1, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 6: name=HDA NVidia: HDMI 2, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 7: name=HDA NVidia: HDMI 3, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 8: name=HDA Intel HDMI: HDMI 0 *, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 9: name=HDA Intel HDMI: HDMI 1, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 10: name=HDA Intel HDMI: HDMI 2, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 11: name=Default Audio Device, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 12: name=Rate Converter Plugin Using Samplerate Library, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 13: name=Rate Converter Plugin Using Speex Resampler, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 14: name=Open Sound System, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 15: name=PipeWire Sound Server, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 16: name=PulseAudio Sound Server, enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 17: name=Plugin using Speex DSP (resample, agc, denoise, echo, dereverb), enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 18: name=Plugin for channel upmix (4,6,8), enabled=1
 +2025-06-14 15:18:37.171 INFO  [10019] [VPApp::InitInstance@985] id 19: name=Plugin for channel downmix (stereo) with a simple spacialization, enabled=1
 +</code>
 +
 +In my case, I want to use my default speakers for the backglass music and effects, which is managed by PipeWire Sound Server (''id 15'' above) and my other USB sound card for the ball and bumper physical effects with ''id 2'' above. I can edit the ''batocera.conf'' file and add:
 +
 +<code>
 +vpinball.vpinball_sounddevice=2
 +vpinball.vpinball_sounddevicebg=15
 +</code>
 +
  
 For earlier Batocera **v39** and lower, this is not supported. A pinball and Batocera fan shared information about how to tweak Batocera **v39** for pincabs [[https://gist.github.com/jsm174/19e9841174dada68d01026b2763f0f06|at this location]]. For earlier Batocera **v39** and lower, this is not supported. A pinball and Batocera fan shared information about how to tweak Batocera **v39** for pincabs [[https://gist.github.com/jsm174/19e9841174dada68d01026b2763f0f06|at this location]].
Line 336: Line 379:
 </WRAP> </WRAP>
  
-If your controller supports an accelerometer, it may be being used unintentionally. Edit the ''/userdata/system/configs/vpinball/VPinballX.ini'' file to turn off the accelerometer:+Batocera may be unintentionally interpreting readings from your controller as that from an accelerometer, whether your controller has one (PS4 Dualshock) or not (XBox 360). Edit the file ''/userdata/system/configs/vpinball/VPinballX.ini'' to turn this off:
  
 <code> <code>
Line 344: Line 387:
 </code> </code>
  
 +Note that you will still be able to nudge the table with the DPad even after this change.
 ==== Performance Tips ==== ==== Performance Tips ====
 Press ''F11'' to display the FPS. Press ''F11'' to display the FPS.
  • systems/vpinball.1738443239.txt.gz
  • Last modified: 16 months ago
  • by dekay