Jump to content



Photo

Problems getting Visual Pinball and VPinMAME running on Linux with Wine

linux visual pinball vpinmame

  • Please log in to reply
13 replies to this topic

#1 jirish82

jirish82

    Neophyte

  • Members
  • Pip
  • 4 posts

  • Flag: Canada

  • Favorite Pinball: indiana jones

Posted 13 February 2020 - 05:32 AM

Hi All,

 

Trying to get a table working via Wine on Ubuntu. I've got Visual Pinball and VPinMAME installed in the drive_c in wine, and have downloaded a few tables and roms (alhough some of the tables didn't seem to have a link to a rom?). Also have installed DirectX and .NET

 

I'm able to open one of the VPinball99 exe's, it lets me open a table, which loads it into the designer (I assume?) but when I click play I just an error: "Line: 1 Unknown runtime error"

 

Any ideas what I'm doing wrong?

 

Thanks!



#2 xbugs

xbugs

    Neophyte

  • Silver Supporter
  • 5 posts

  • Flag: Germany

  • Favorite Pinball: Adams Familie

Posted 14 February 2020 - 08:38 AM

I am currently testing vpinball with linux under wine. You have to create a new wine prefix .
Then install with winetricks  dotnet40 , wsh57 and oleaut32 .
Dotnet4.0 is essential for the B2S server , to register the B2S.Server .
wsh57 install windows scripting host , required file is vbscript.dll . (DLLOverride vbscript.dll = native)

Only then run the VPX installer (VPX6Setup.exe).
Cancel DirectX Setup, do not have it installed.

Runs with me with WINE 5.0.

The VPX9.X tables work well, with VPinmame + DirectB2S.
The VPX tables still have problems with script errors.
I'll keep testing if I know more, I'll let you know.

M.f.G XBugs

Edited by xbugs, 15 February 2020 - 02:15 PM.


#3 jirish82

jirish82

    Neophyte

  • Members
  • Pip
  • 4 posts

  • Flag: Canada

  • Favorite Pinball: indiana jones

Posted 14 February 2020 - 05:17 PM

Thanks! I will try this out over the weekend and let you know how it goes :)



#4 jirish82

jirish82

    Neophyte

  • Members
  • Pip
  • 4 posts

  • Flag: Canada

  • Favorite Pinball: indiana jones

Posted 22 February 2020 - 10:07 PM

That worked perfectly, thanks again!

 

Now I'm trying to figure out how to run a table from the command line so I can start them from a MAME frontend I'm using (Attract Mode). This is going to a sort of convertible arcade/pinball cabinet with a screen I can flip to portrait.

 

I've got this to run a table:

 

wine "c:\Visual Pinball\VPinballX.exe" -play "c:\Visual Pinball\tables\ghostbusters-slimer.vpx"

 

But it goes through the editor still so it's difficult to exit back to Attract Mode. I could write a bash script to kill the process I suppose, trigger it with a button, but seems like there ought to be a better option. Any advice?



#5 xbugs

xbugs

    Neophyte

  • Silver Supporter
  • 5 posts

  • Flag: Germany

  • Favorite Pinball: Adams Familie

Posted 23 February 2020 - 01:22 PM

OK. I also continued testing, the solution is
Create a new WINE prefix (5.0) , set Windows version to "WIN-XP" . Install with wintricks dotnet40, wsh57, oleaut32 and *gdiplus_winxp* . * important .
Install VisualPinball without directx and vcrun2017, is not required . gdiplus (win-xp version) and oleaut32 becomes for DirecttB2S.Server needed.
Then in the console "wine B2SBackglassServerRegisterApp.exe" and wine Setup.exe in the VPinMAME directory.


I noticed that the VPinball-Editor at exit crashes , when the "OPTIONS WINDOW / TAB" is open. You have to "CLOSE" the "OPTION-WINDOW" so that the VPinball-Editor is closed properly .
If not , then I have to cancel the WINE-SERVER manually with "winserver -k" in the console.
 

Thats works for me!

!!! Have fun


Edited by xbugs, 23 February 2020 - 02:31 PM.


#6 jirish82

jirish82

    Neophyte

  • Members
  • Pip
  • 4 posts

  • Flag: Canada

  • Favorite Pinball: indiana jones

Posted 26 February 2020 - 06:57 AM

I included the extra steps here, I've ended up turning off the b2s server though, I don't think I'll bother with a second screen which is required for it, yeah? Kept giving me an error about directb2s files ebing missing when it was running so I just removed the b2s server exe.

 

I solved my exit to Attract Mode problem with the following bash script for anyone interested:

#!/bin/bash
while [ 5 -eq 5 ]#continue forever, set as startup application
do
        #wait's here until js1 (second joystick) button 10 is pressed
	jstest --event /dev/input/js1 | grep -m 1 "Event: type 1, time .*, number 10, value 1"
	if pgrep -x "wineserver" > /dev/null #check if wine (and therefore VPX) process is running
	then
            #hold down escape for 2.5 seconds to quit out of VPX entirely
	    xdotool keydown Escape
	    sleep 2.5
	    xdotool keyup Escape
	    #killall wineserver
            #alternative option for instant exit, needs debugging though
	else
	    echo "Not VPX"
            #for some reason takes several presses of escape to get out of regular MAME games
            xdotool key Escape
            xdotool key Escape
            xdotool key Escape
            xdotool key Escape
            
	fi
	sleep 2
done

 



#7 xbugs

xbugs

    Neophyte

  • Silver Supporter
  • 5 posts

  • Flag: Germany

  • Favorite Pinball: Adams Familie

Posted 09 March 2020 - 10:53 AM

I guess you forgot to copy a "ScreenRes.txt" into the "Table Directory". The "B2S.Server" needs the file.

You have to have a "SreenRes.txt" in every directory in which table files are.

 

Please look here

https://www.vpforums...s&showfile=6268

 

M.f.g XBugs



#8 strikekat

strikekat

    Hobbyist

  • Members
  • PipPip
  • 24 posts

  • Flag: United States of America

  • Favorite Pinball: BSD, GNR

Posted 10 March 2020 - 08:14 PM

Hi, I didn't notice this thread before. I've been running VPX on Fedora with Proton for a few months now.

I posted some of my experiences here.

 

I don't use DirectB2S, so I did not install dotnet40, but makes sense why it'd be a prerequisite.

Also, thanks for the heads up on the options window causing the crash on exit! Had no clue that was the correlation, I just kept killing from terminal.

 

Anyways, I set up a new machine this last weekend and recorded everything I did to get it running for Fedora 31, so perhaps we can get a more definitive guide put together from everyone's experiences.

 

No, Proton obviously isn't required.. vanilla Wine 5.0 with DXVK has excellent performance still, but the Proton fork of wine offers an extremely useful (in my case) fake-exclusive fullscreen mode.

 

1. Install Steam (Flatpak version also works, but rpm version is easier to work with in terms of directories/sandboxing)
2. Install Proton 5.0 and verify it works - Run a Steam Play proton game, or enable Steam Play for all titles in settings, and run a Windows game/executable with Proton selected in the game's properties.
3. Install libSDL2 i686 version if you don't have it already, otherwise dinput.dll.so will fail to load later on.
4. Create a folder for VPX, and inside of it a "prefix" folder, as well as the installer executable.
5. Create a start script (adjust paths as needed):

#!/bin/sh
export W="/home/USER/.local/share/Steam/steamapps/common/Proton 5.0/dist"
export WINEVERPATH=$W
export PATH=$W/bin:$PATH
export WINESERVER=$W/bin/wineserver
export WINELOADER=$W/bin/wine
export WINEDLLPATH=$W/lib/wine/fakedlls
export LD_LIBRARY_PATH="$W/lib:$LD_LIBRARY_PATH"
export WINEPREFIX=/home/USER/games/visualpinball/prefix

winetricks wsh57 ole32 oleaut32
wine /home/USER/games/visualpinball/VPX6setup.exe
#wine /home/USER/games/visualpinball/VPinballX.exe

6. Run each of the lines under the exports, uncommenting as necessary.
The overrides that you will want in winecfg: ole32, oleaut32, vbscript (Perhaps ole32 isn't necessary anymore, need to confirm this)
7. In the VPX setup, select the folder you created for VPX above (it may be in Z drive). The installer is necessary to register VPinMame correctly. You can just cancel the DX Web setup.
8. VPX should now run correctly, provided you have tables and ROMs.

Some notes/issues:
• You may need to disable "Reflect Dynamic Elements on Playfield" in video options. This causes weird rendering issues that can obscure parts of the playfield and ball.
• When the player starts in exclusive fullscreen, the window may not come up automatically. If you alt-tab to another app, then back to the VPX Player window, it should come up correctly. If you can't click the VPinMame legal dialog, use the tab, space, and enter keys to select and close the dialog.
• In the script editor, you can't type more than a character at a time without the cursor deselecting(?). This is because of the autocomplete pop-up, which you can disable. This only happens to the Proton version of Wine, not vanilla Wine. Please let me know if you can get the autocomplete to work!
Closing the VPX window might throw an error or hang. It's faster to just open the terminal running the script and Ctrl-C. I haven't seen any problems just loading new tables from the editor.  - caused by an options window being open.
• Rarely, the 3D performance might just be much worse than usual. I haven't fully figured this one out, but it's usually resolved by a reboot. This seems to affect any Proton games.



#9 ludovids

ludovids

    Enthusiast

  • Validating
  • PipPipPip
  • 181 posts
  • Location:Owego, NY

  • Flag: United States of America

  • Favorite Pinball: LOTR IJ MM TAF Tommy TOTAN TZ

Posted 10 March 2020 - 10:28 PM

@strikecat:

 

Sounds like good progress towards ridding the world of Window 10!


ASRock Z270M Extreme4, i5-7600K, 16GB G.SKILL TridentZ DDR4 3200, EVGA GeForce GTX 1070 SC

Samsung 850 EVO M.2, Samsung UN40JU7100 4K playfield, Samsung SynchMaster 2232 backglass, Pinscape on VirtuaPin Plunger Kit v3


#10 christopherius

christopherius

    Neophyte

  • Members
  • Pip
  • 1 posts

  • Flag: Canada

  • Favorite Pinball: Star Trek TNG

Posted 03 April 2020 - 03:41 AM

I have b2sbackglass running on my system finally but the backglass appears under the playfield. I tried changing the screen number in the resolution.txt file but it still shows up on the wrong display. Not sure what else to try



#11 RoundSparrow

RoundSparrow

    Neophyte

  • Members
  • Pip
  • 2 posts

  • Flag: ---------

  • Favorite Pinball: Lord of the Rings

Posted 25 July 2020 - 06:13 PM

I adapted the script above to Ubuntu 20.04 x64 install. I also used Steam's Proton 5.0, which I installed just yesterday on a new install of Ubuntu.

#!/bin/sh

#
# notes
#    on Ubuntu 20.04 x64 needed:
#       sudo apt install gdebi-core
#

export W="~/.steam/debian-installation/steamapps/common/Proton 5.0/dist"
export WINEVERPATH="$W"
export PATH="$W/bin:$PATH"
export WINESERVER="$W/bin/wineserver"
export WINELOADER="$W/bin/wine"
export WINEDLLPATH="$W/lib/wine/fakedlls"
export LD_LIBRARY_PATH="$W/lib:$LD_LIBRARY_PATH"
export WINEARCH=win32
export WINEPREFIX=/home/USER/games/visualpinball/prefix
 
# ***** Setup and Install steps
# winetricks wsh57 ole32 oleaut32
# wine ~/games/visualpinball/VPX6setup.exe

# ****** run app
#
wine ~/games/visualpinball/prefix/drive_c/Visual\ Pinball/VPinballX.exe
# wine ~/games/visualpinball/prefix/drive_c/Visual\ Pinball/VPinballX.exe -play "c:\Visual Pinball\Tables\JP's Ghostbusters Slimer 2.1.0.vpx"

So far, only a few tables seem to load and work perfect: 

_123(Talleres de Llobregat 1973).vpx
JP's Ghostbusters Slimer 2.1.0.vpx
Apache! (Taito do Brasil 1978) 2.0.0.vpx

Star Trek - The Next Generation (Williams 1993)_Bigus(MOD)1.0.vpx (no music? but plays. Had to add MAME ROM files)

Ironman (Stern 2010) Siggis MOD 1.0.vpx (Works with required MAME ROM files)

Most of the other tables I try fail, not sure if I'm not putting ROM files and such into other folders or my Wine install is missing some libraries. I thought I would share progress, still tinkering. I may fire up Windows 10 and do an install and make sure I understand what I'm installing better.
 


Edited by RoundSparrow, 25 July 2020 - 07:26 PM.


#12 RoundSparrow

RoundSparrow

    Neophyte

  • Members
  • Pip
  • 2 posts

  • Flag: ---------

  • Favorite Pinball: Lord of the Rings

Posted 25 July 2020 - 06:31 PM

6. Run each of the lines under the exports, uncommenting as necessary.

The overrides that you will want in winecfg: ole32, oleaut32, vbscript (Perhaps ole32 isn't necessary anymore, need to confirm this)

 

Can you be more specific on the DLL (Libraries) overrides? Are you editing the "Existing overrides:", and setting to what?



#13 xerxist

xerxist

    Neophyte

  • Members
  • Pip
  • 1 posts

  • Flag: ---------

  • Favorite Pinball: Dr Who

Posted 20 January 2021 - 06:05 PM

I've followed some of the things here from the posts but I got a strange screen when starting the tables but i resolved that now.

 

 

What I did now is :

 

Plain wine created a new prefix pinball

 

Set the OS to Windows XP

 

installed dotnet40, wsh57, oleaut32 and gdiplus_winxp ,dxvk

 

Install Visual Pinball without installing directx and .net

 

Install VPinSPA

 

Now Ghostbusters Stern works without errors from BS2 and scripts.

 

Be sure to have the bios files installed as well.

 

Tested allot of tables and works just like it did on windows.


Edited by xerxist, 20 January 2021 - 10:02 PM.


#14 strikekat

strikekat

    Hobbyist

  • Members
  • PipPip
  • 24 posts

  • Flag: United States of America

  • Favorite Pinball: BSD, GNR

Posted 28 April 2021 - 10:17 PM

I'm sorry I didn't respond earlier - I was really only semi-active on VPinball up until now for obvious reasons.

I'm glad some other people are having success with this.

 

Perhaps better for a new thread, but unfortunately, I've been having quite the bad experience running VPX 10.7 under Wine/Proton 6.3.

Mainly, VPX 10.7 is locking up at least half the time I try to launch a table, requiring me to kill it and try again.

It also has a very high chance of locking up when I close a table.

 

With 10.7 being a prerequisite with more and more tables (sigh), I think this will continue to be a bigger problem for Wine-users.

I haven't dug into it too much so far (I've already brain-dumped most of my debug Wine env variables already :'( ), but I do always get this output when it happens:

0024:err:ntdll:RtlpWaitForCriticalSection section 7D946140 "../src-wine/dlls/winex11.drv/fs.c: fs_section" wait timed out in thread 0024, blocked by 01d4, retrying (60 sec)
0218:err:ntdll:RtlpWaitForCriticalSection section 7D946140 "../src-wine/dlls/winex11.drv/fs.c: fs_section" wait timed out in thread 0218, blocked by 01d4, retrying (60 sec)
01d4:err:ntdll:RtlpWaitForCriticalSection section 6EDBB360 "../src-wine/dlls/user32/user_main.c: user_section" wait timed out in thread 01d4, blocked by 0218, retrying (60 sec)

Some other issues I have (possibly present in 10.6, but I would need to check):

 

- Can't edit the script once a table's been launched/closed. Specifically, I can't type/edit anything in the script window until I close and re-open VPX completely.

- Cannot click/change the tabs in the Backglass/Table properties pane on righthand side. I can't tab over to the different tabs or anything either, so I just can't change most of those settings at all.

- Material editor seems to be just unusable, properties on right side seem to randomly and inconsistently update when I navigate the list of materials

 

Anyone else have experience with these issues? I'd be happy to update my site's walkthrough or make a new one completely (Hell, let's script it out or something).

I think the variances between required dependencies people say are needed are from people using different Proton versions or not using Proton at all, as it probably provides several commonly needed ones out of the box.

I'll try to dig into these issues more as I have time, but I don't have too much free time and it's so tedious trying to debug this stuff :throw:







Also tagged with one or more of these keywords: linux, visual pinball, vpinmame