Jump to content



Photo
- - - - -

Cannot get VPX to run in Wine, Lutris or Windows in Virtualbox


  • Please log in to reply
13 replies to this topic

#1 RaoulDuke

RaoulDuke

    Neophyte

  • Members
  • Pip
  • 1 posts

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

  • Favorite Pinball: Terminator 2

Posted 01 February 2023 - 03:29 PM

Hi,

I am a complete newbie regarding Visual Pinball. However, I am an experienced Linux user familiar with Wine, Proton, Lutris and all kinds of emulators and virtual machines ranging from MAME to Retroarch to Virtualbox running different versions of Windows and all kinds of older operating systems ranging from CP/M to Macs.

However, I am not able to get VPX to run at all, which really puzzles me.

I tried different paths to get VP to work:

a) Run it in Win 10 in Virtualbox

After a fresh install of Win10 in Virtualbox, I used the VP X installer 10.7.2 (I got it here: https://www.vpforums...&showfile=11573). I was able to start Visual Pinball X, but as soon as I loaded a table, the program crashed with the error message "Fatal error D3DERR_INVALIDCALL (0x8876086c invalid call) at D:\a\vpinball\vpinball\RenderTarget.cpp:145". I tried to load "Nudge Test and Calibration.vpx", but also the other tables included in the installer. They all crashed, too. The version of Visual Pinball X I used is 10.7.2 (Revision 366 (f94da1e), 32 bit).

I tried to find out what the error message means and how to fix it via google and searching the forum, but so far to no avail. Maybe I missed something obvious, but I have to admit I am no expert on Windows 10 and what might be missing to set it up for this game.

b) Run it in Wine via Lutris and Proton

Using this guide:

https://www.reddit.c..._on_steam_deck/

... I set up Proton for Lutris with ProtonUp-QT. I used lutris-GE-Proton7-36-x86_64 as the runner and installed wsh57 (MS Windows Script Host 5.7) as described in the post. I did a bit of setting up for Wine, such as checking that DXVK is activated, VKD3D is running and so on, and started the .EXE

Again, the program loaded just fine - but as soon as I loaded a table, it crashed without a visible error message.

c) Set up Wine manually

I tried to install VP X in Wine manually to avoid any Lutris bugs or presets I do not know about. Long story short, with or without proton, 32 or 64 bit, using all kinds of additions that normally bring any game or application to life, I was able to load the program only to experience another crash after loading a table.

Could there be a bug in the program file? Could there be something extremely simple that I just miss? I have to admit, I am not the most experienced Windows user - do I need to install some additional program, DLL or other component?

I would really appreciate help as I am stuck on Pinball FX3 for know, which works smoothly with all of the above-mentioned methods... (which also make stuff ranging from GTA to The Witcher run just fine)


Edited by RaoulDuke, 01 February 2023 - 03:31 PM.


#2 tgx

tgx

    Enthusiast

  • Platinum Supporter
  • 309 posts

  • Flag: United States of America

  • Favorite Pinball: You mean today?

Posted 01 February 2023 - 07:46 PM

I messed around trying to get VP to work as well but never having any luck. FP works without much effort.

Not sure what state of broken you have gotten to. For me I could launch the editor and load a table but could

not play it. Ultimately there are too many pieces today that need to work together Pinup system etc that you

are going to play hell with trying to get working reliably. As much as I hate to say it, you are better playing it on

Windows at this point. Maybe someday there will be a Linux native/compatible app. Maybe when VPE releases

it will be suitable..

 

https://github.com/f...lPinball.Engine



#3 earbiter

earbiter

    Enthusiast

  • Members
  • PipPipPip
  • 50 posts
  • Favorite Pinball: many

Posted 01 February 2023 - 11:24 PM

RaoulDuke,  search the forums for linux wine  and you will find other threads about this. 

 

In Linux,  under wine 32bit you can use the vpx all in one installer.  I forget but if it asks but DONT install DirectX.  Then grab winetricks and install the DLL for wsh57.  That should be about it for regular tables (not pinmame). For that you need to run the pinmame setup.

 

I recently switched from AVFS to ziprofs.py so I can mount my zipped tables folder so I can run any table without needing to unzip it!  Much easier than AVFS was.

 

Here is my mount script:

 

echo Use ziprofs python fuse script to mount tables directory to zipmnt
echo to allow read only zip file access!
echo
./ziprofs.py /home/ron/Pinball/tables /home/ron/Pinball/zipmnt

 

 

https://wiki.winehq.org/Winetricks

https://github.com/o...project/ZipROFS

 

Hope this helps..

 

 

 

 



#4 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 02 February 2023 - 04:37 PM

@sugarbear did a lot of fiddling with this kind of stuff, he should be able to help



#5 Thalamus

Thalamus

    Pinball Wizard

  • Platinum Supporter
  • 4,991 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 03 February 2023 - 12:32 PM

The standalone branch has info on how to compile and fire up VP on linux natively w/pinmame. Roms goes into ~/.pinmame and you fire up the table(s) from the cmd line.

Still, very much under development, but many tables work now without any issues.

 

I have Walking Dead and VPW's Blood Machines running even ... on my Samsung S9 phone.


Edited by Thalamus, 03 February 2023 - 12:41 PM.

From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#6 tgx

tgx

    Enthusiast

  • Platinum Supporter
  • 309 posts

  • Flag: United States of America

  • Favorite Pinball: You mean today?

Posted 03 February 2023 - 04:31 PM

If it worked reliably I would be all over it. I prefer to do development in Linux as it breaks much less often from

updates. I won't even hook my Windows machine to the internet, just not worth the headache. Maybe I'll revisit

it, but it seems like every time I give it a shot, it's still rather broken. It relies so heavily on MS based products it

will likely never be stable enough.

 

I tried installing VPE but ran into issues with Unity Hub and libXtst, ultimately gave up on that one also. Not a lot

of real choices with Linux. Haven't tried Codeweavers to see if it achieves decent results with VPX, I suspect

about the same as upstream WINE. When you do table development you can't really settle with 90%, crashes

and hangs are killers. Since they occur on Windows as well, I can imagine what a WINE bodge would be like.

 

If I recall I also tried loading VPX via Steam (local apps). I think it ran, but framerates were really bad.

Might be something to revisit.



#7 xbugs

xbugs

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: Germany

  • Favorite Pinball: Adams Familie

Posted 16 February 2023 - 05:33 PM

Hi
I'm also currently testing VPX7.X to run on Linux Wine!
And yes it works .
VPX6.2 runs almost perfectly, in the desktop and in the 3 monitor setup.
VPX7.3 gameplay great, unfortunately the editor can't be used because the "TABS" don't react.
In the next few days I will write a short HowTo how I did it.
My goal is to replace Windows 7 on my PinballCabinet.
So much in advance, it's actually quite simple.



#8 charley

charley

    Enthusiast

  • Banned
  • PipPipPip
  • 260 posts

  • Flag: United States of America

  • Favorite Pinball: all

Posted 16 February 2023 - 08:20 PM

did you try youtube?

https://duckduckgo.c... pinball&ia=web

and 

https://www.youtube.... to install VPX



#9 xbugs

xbugs

    Neophyte

  • Members
  • Pip
  • 5 posts

  • Flag: Germany

  • Favorite Pinball: Adams Familie

Posted 12 March 2023 - 11:34 AM

Hi

Here finally a "small" HowTo how you can hopefully get VPX to run properly under LINUX + WINE.

I have tried to describe it in great detail so that LINUX NEWBIES can understand it .

Attached Files



#10 Slydog43

Slydog43

    Pinball Wizard

  • Platinum Supporter
  • 3,008 posts
  • Location:Hackettstown, NJ

  • Flag: United States of America

  • Favorite Pinball: Addams Family, All Williams 90's Games

Posted 12 March 2023 - 12:06 PM

Great writeup, I was going to try the new aarch build of the player and test it out on a steamdeck.  Has anyone tried that yet?



#11 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 12 March 2023 - 05:43 PM

Yes, thanks to xbugs! He went through this for quite some time, and by now it seems like we only have one major Wine bug left that still requires an 'original' windows dll.  :)

(and only if using the UI)



#12 Manel

Manel

    Hobbyist

  • Members
  • PipPip
  • 15 posts
  • Location:Barcelona

  • Flag: Spain

  • Favorite Pinball: Underwater

Posted 02 September 2023 - 03:49 PM

Hello everybody.
 
Many thanks to all the software developers and table artists that make possible to play the pinballs that I enjoyed when I was a kid. I specially like the Spanish tables of the 70s , recreated by JP Salas, loserman and WED21.
 
I've been trying for years to make all the .vpx tables playable in Linux with all the modules: VPX8, VpinMAME, B2S and FlexDMD/DMDext.
 
I finally found the way and everything works well. The post of XBUGS gave me a good part of the solutions that I needed and recently I found the rest.
 
I have the pleasure to share it with you, gentlemen:
 
Software needed:

  • Ubuntu 22.04.3 LTS
  • Wine 8 / winehq-stable (configured to emulate Windows 10 32 bits)
  • .Net 4.8 (needed for B2S and FlexDMD/DMDext)
  • Windows Script Host 5.7 (needed to execute the scripts with the logic of each table): vbscript.dll
  • Native versions of oleaut32.dll and gdiplus.dll (gdiplus_winxp), needed by B2S
  • d3dcompiler_47.dll needed by FlexDMD

 

  • Visual Pinball X GL 10.8.0 1347 32 bits (to play and edit tables)
  • VPinMAME 3.5 (to play CPU/ROMs of modern tables)
  • B2SBackglassServer 1.4.1 (to show a backglass on a second monitor)
  • FlexDMD 1.8.0 (to show scores or graphics on a virtual dot matrix display for programs that do not use the virtual DMD provided by VpinMAME). Do not use other versions <> 1.8.0, they dont work.
  • DMDext 1.8.0 (used by FlexDMD). Do not use other versions <> 1.8.0, they dont work.

 
Installation tricks:

  • WINE: No need to install Lutris, Proton or Playonlinux. Just wine 8 stable 32 bits following the instructions in winehq.org
  • I think winetricks needs to update to the very latest version to be able to install .NET 4.8:
    • sudo apt install winetricks
    • sudo winetricks --self-update
  • .NET 4.8 (mscoree.dll):
    • winetricks dotnet48
    • Accept the messages for installing first .NET 4.0 and then .NET 4.8
  • Other .dll:
    • winetricks wsh57 oleaut32 gdiplus_winxp d3dcompiler_47
  • VPX8GL:
    • Download it from github
    • Just copy the files ( for example to $HOME/.wine/drive_c/VP/VPX8GL). No need to install VPX8GL over VPX72.
  • VPinMAME:
    • Download it from vpforums or github
    • Copy the files of VPInMAME 3.5 (for example to $HOME/.wine/drive_c/VP/VpinMAME)
    • To install it, execute from there: wine Setup.exe
    • Copy roms and nvram files needed.
  • B2S:
    • Download it from github
    • cd "$HOME/.wine/drive_c/VP/B2S"
    • wine "B2SBackglassServerRegisterApp.exe" (gives an error message but installs the program correctly at the current folder)
  • DMDext: Copy the files downloaded from github  (for example to $HOME/.wine/drive_c/VP/FlexDMD).
  • FlexDMD:
    • Copy the files downloaded from github to the same folder as DMDext.
    • I havent been able to install it with the installer ( wine FlexDMDUI.exe ). I installed it manually using:
      • cd "$HOME/.wine/drive_c/VP/FlexDMD"
      • wine "$HOME/.wine/drive_c/windows/Microsoft.NET/Framework/v4.0.30319/RegAsm.exe" FlexDMD.dll /codebase 

 
Problems and workarounds:
 

  • The tables that contain images in .bmp format make VPX8 to crash. The workarounds are:
    • Use VPX6 for tables made with VPX versions < VPX7 and/or
    • Use VPX7 with a native version of ole32.dll (avoid B2S to work) and/or
    • Use VPX8 but converting previously the .bmp images in the tables to other formats using previous versions of VPX

 
You can detect if a table contains .bmp images with the commands:
 
File=Table.vpx
for Image in `7z l "$File" | grep "GameStg/Image" | cut -d'/' -f 2 ` ; do 7z e "$File" "GameStg/$Image" -so | strings | grep "\.bmp" | head -1 | awk '{ print "\t" $0}' ; done
 
 

  • When editing a table, to access the tabs of the Properties panel:
    • winetricks comctl32
    • wine reg add "HKEY_CURRENT_USER\Software\Wine\DllOverrides" /v *comctl32 /t REG_SZ /d builtin,native /f

    • env WINEDLLOVERRIDES="comctl32=n" wine "$HOME/.wine/drive_c/VP/VPX8GL/VPinballX_GL.exe"

 
This way is possible to access the tabs, change contents and save the table with the same name, but all the file menus dont work, so not possible to use Save AS, Open ...
 

  • The .pov extraction loses the data about inclination with VPX8GL. Better to use VPX7 to do so.

 
I hope is useful. Best regards.
 


Edited by Manel, 11 September 2023 - 09:12 AM.


#13 JLouLoulou

JLouLoulou

    Enthusiast

  • Silver Supporter
  • 201 posts
  • Location:Center of France

  • Flag: France

  • Favorite Pinball: Simply play pinball

Posted 07 February 2024 - 04:58 PM

Hi,

 

Great Work!

 

I was able to make it work in D3D version on a Virtual Machine Emulation with VMware.

 

As vpx work pretty well with 32bits version,

It should be good to find how to make 64bits version working now



#14 earbiter

earbiter

    Enthusiast

  • Members
  • PipPipPip
  • 50 posts
  • Favorite Pinball: many

Posted 07 February 2024 - 11:58 PM

@JLouLoulou there is a standalone version of VPX that runs well on my linux Mint 21.3.  Just pull it down from https://github.com/v...ws/vpinball.yml and look for the latest: misc: standalone builds for macos, ios, tvos, android, linux, and rpi

Run it in your pinball folder and I had to add the pinmame path to ~.vpinball/VPinballX.ini for it to find the roms and other files.  I wrote a script using Zenity so I have a gui to  select a table inside a zip, decompress and launch it.  NO WINE required!  The vp update that enabled dx9 was a nice improvement allowing it to run well under wine.  But the standalone version rocks!


Edited by earbiter, 08 February 2024 - 03:18 PM.