[UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO
-
@Xeno said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
@Ferde
Make sure you’ve got installed packages:
libdc1394-22, libdc1394-22-dev, libopenexr24, libopenexr24-dev
for x86_64 architecture, assuming you’re building 64bit opentrack.You are a lifesaver!!! That was it. Somehow I had libdc1394-22-dev installed but no libdc1394-22. Neither I had the option for it in Synaptic.
I also had libopenexr25 and -dev but not the option to install version24. So I downloaded the packages and now opentrack detects the camera!!!Thank you so much.
-
@Ferde
I’m glad, you’ve got sorted it out. I’m not sure about 2.4 vs 2.5 issue. If it’s 1:1 replacement maybe having just ibopenexr25 and ibopenexr25-dev with no ibopenexr24-dev would be enough to build opentrack against openexr v 2.5.
But whatever, it’s important opentrack is doing fine. -
@Xeno said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
@Ferde
I’m glad, you’ve got sorted it out. I’m not sure about 2.4 vs 2.5 issue. If it’s 1:1 replacement maybe having just ibopenexr25 and ibopenexr25-dev with no ibopenexr24-dev would be enough to build opentrack against openexr v 2.5.
But whatever, it’s important opentrack is doing fine.I also thought it would be enough and tried with version 25 installed first and still didn’t detect the camera. So I installed the version24 package.
Anyway, now I was looking at how to compile neuralnet I found… this!
https://gitlab.com/jugandoenlinux/opentrack-script/-/blob/main/README.mdIt has a script and a link to an (optional) opentrack fork with improved Wine and Proton support. It also has options to compile ONNX (Neuralnet), Aruco and XPlane plugin…
It wouldn’t probably have worked for me either before solving this packages problem but now it worked great. I hope it’s useful for someone else even if it’s just taking a look at the install script.
It’s in Spanish but I think it’s probably very self explanatory and google translator shouldn’t have problems with it either.OK. I think I’m finally done with this problem. Thank you again Xeno for your help. Have a great weekend!
-
Quick headsup, new opentrack got released - 2022.3.0
I’ve added steps for extra trackers ( aruco and NeuralNet) and xplane plugin (for sake of completeness, just in case someone is also using xplane on linux)
to Opentrack build instructions.Does anyone have some experience with NeuralNet tracker? While it shows some promise I can’t get Z-Axis right . It seems to be reversed, input show stablevalues between 230-80, but output is going crazy, doing zoom loop if I move my head out past certain point.
Also initial pose is not on logical 0, so I can’t get negative values (move camera furter away than inintail point).On general note on NeuralNet - it is the very cpu-hungry tracker. Maybe once CPUs will get machine learning accelerators it’ll be less taxing? There’s ONN runtime that runs on GPUs but I have no hardware to try it. I’ve got no idea if tracker would work with such runtime and if it gives any benefits for performance. That’s something to be tested by some brave soul with proper GPU.
-
Some more observations on NN tracker. It seems it doesn’t like Accela filter, using Kalman solved my zooming loop issue.
Problem with Z-axis being not center can be solved with recentering position after tracking start.With some tuning it seems to be quite responsive, it needs some smoothing to keep position stable butit’s doable. Some more testing in the sim is needed but so far so good.
-
@Ferde said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
Unfortunately seems there is no up to date app-image, flatpak os snap package.
I put together a simple Flatpak build here including the neuralnet tracker. You’ll need to build it yourself as it isn’t in Flathub (yet hopefully), but it just takes 1
flatpak-builder
command. You can use the libevdev Joystick output to make the tracker show up as a multi-axis joystick under Linux, Wine and Steam. Using the OpenTrack Wine integration looks more difficult if possible at all. -
@jwm That’s so cool!! I finally made it, but this will be very helpful for others… or myself in the future.
-
Got myself to build latest 2022.3.2. It went ok with two small hiccups:
- one include has to be reverted in in neuralnet tracker
see issue: https://github.com/opentrack/opentrack/issues/1559 - onnxruntime has to be in version 1.12.1 or earlier, with 1.13.1 it also fails to compile.
If your desktop is running wayland session instead of X11 it’s advised to run opentrack with switch ‘-platform xcb’, or global shortcuts ain’t gonna work.
NeuralNet tracker now works with accela filter, tho it still start off center along z-axis. Recentering solves the problem, that’s where global shortcuts are crucial.
After brief testing I think it becomes viable option. With some tinkering with options I got it running reasonably well, it was stable and responsive, even using crappy laptop build-in webcam in 22fps.
One of the important things is to have your face well lit by some lightsource. It tremendously help with tracking stability.
I’m curious how it’s gonna work in daylight, but I think it should be okTBH It feels so great to have headtracking without those extra cables, no fancy headwear ‘decorated’ with leds etc … I think that’s gonna be my new default.
- one include has to be reverted in in neuralnet tracker
-
Hi all!
Just to say that I installed 4.37 on the same wine prefix as 4.36 and seems it all works properly. Didn’t try campaign yet.
-
@Ferde
Great to know, I haven’t an opportunity yet to try 4.37.
I wonder when some brave soul will try to run BMS in VR under Linux. 'tho it’s gonna be tough, VR under Linux seem still to be a mess -
As far as I know just a couple of headsets work out of the box or with little configuration. For the rest I think is doable, but tedious.
-
@Ferde Hi Ferde. Great news. I was looking to this because i would like to setup a VM on Cloud and Linux is chipper than windows ) (dedicated server for multiplayer session).
Is it possible to have access to a “setup guide” on Linux?
Thanks Ciao
Gundam
-
@gundam Do you mean how to install BMS on Linux?
The first post of this thread is precisely about that.
And more help and solutions in the following posts. -
@Ferde said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
nd solutions in the following posts.
Ops… OK! i will see in detail. Thanks a lot
Ciao
-
@Xeno said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
I’m curious how it’s gonna work in daylight, but I think it should be ok
Neuraltracker problem is it only works in daylight, or in well lit environment.
I’ve tried it, but… IR led’s still ruleZ. in dark room. - the way I like.Maybe it could work with IR reflector behind webcam, but then typical PS3eye adjustments have to made, filter remove, and all that jazz.
-
Hi All,
I tried to run BMS 4.37 on Ubuntu 22.04. I have some issues and ask for help from a Linux expert.
Consider that i am a window user…so the Ubuntu world is quite unknown for me but i tried and first post help me to understand a lot.
I have a VM (in Cloud) with Ubuntu 20.04. At first i install a desktop interface (ubuntu desktop) no prob for this.
After i udpdate all package with sudo command in order to have a clean and up to date OS.
I jumped the part on prefix dedicated…for me at the moment is more simple to install all on the same context (prefix is a new concept for me and so…)
I install the wine --> Wine build: wine-6.0.3 (Ubuntu 6.0.3~repack-1)
I install the winetricks as suggested. I install some DLL and directx as suggested but i think here i miss something, or done something wrong…there was a lot of options…and i lost myself
After i installed the Falcon 4.0 original (it goes on GOG directory under as i saw from wintricks explorer).
And after this i install the 4.37. When i run the Launcher (no problem for IVC Server and Configuration option) i get an error messages on launch option, in my opinion related to wrong Directx . I copy and paste the error message below.
Thanks in advance for your help.
Gundam
Error message:
0x00000000044ab88b EntryPoint+0xffffffffffffffff in falcon bms: int $3 Modules: Module Address Debug info Name (84 modules) PE 220000- 483000 Deferred d3dx9_43 PE 490000- 8ce000 Deferred d3dcompiler_47 PE 8d0000- b3f000 Deferred d3dcompiler_43 PE b40000- b86000 Deferred d3dx11_43 PE 4470000- f570000 Export falcon bms PE 7b000000- 7b3fd000 Deferred kernelbase PE 7b600000- 7b969000 Deferred kernel32 PE 7bc00000- 7bf3c000 Deferred ntdll PE 180000000- 1800f4000 Deferred ucrtbase PE 1c8b40000- 1c8bb7000 Deferred msacm32 PE 1c8db0000- 1c9097000 Deferred msvcrt PE 1cd360000- 1cd36f000 Deferred api-ms-win-core-file-l1-1-0 PE 1d14b0000- 1d14be000 Deferred api-ms-win-core-util-l1-1-0 PE 1d8e40000- 1d8e4f000 Deferred api-ms-win-core-file-l1-2-0 PE 1d97a0000- 1d97ae000 Deferred api-ms-win-core-fibers-l1-1-1 PE 212bb0000- 212bbf000 Deferred api-ms-win-core-processthreads-l1-1-1 PE 216730000- 21673e000 Deferred api-ms-win-core-handle-l1-1-0 PE 21a7e0000- 21a9ce000 Deferred setupapi PE 21b8f0000- 21b8ff000 Deferred api-ms-win-core-namedpipe-l1-1-0 PE 226310000- 22631e000 Deferred api-ms-win-core-string-l1-1-0 PE 228450000- 2284c4000 Deferred propsys PE 231ae0000- 231d60000 Deferred rpcrt4 PE 236df0000- 236f46000 Deferred dsound PE 23d820000- 23dfc2000 Deferred user32 PE 241b90000- 241bb9000 Deferred zlib1 PE 24dc40000- 24dc4f000 Deferred api-ms-win-appmodel-runtime-l1-1-1 PE 256480000- 25648e000 Deferred api-ms-win-core-datetime-l1-1-0 PE 263a00000- 263a0e000 Deferred api-ms-win-core-sysinfo-l1-1-0 PE 26b4c0000- 26bbb9000 Deferred gdi32 PE 2739c0000- 273ec9000 Deferred oleaut32 PE 280ce0000- 280cee000 Deferred api-ms-win-core-interlocked-l1-1-0 PE 28d6c0000- 28d6ce000 Deferred api-ms-win-core-memory-l1-1-0 PE 28ebe0000- 28ebef000 Deferred api-ms-win-core-sysinfo-l1-2-1 PE 2bb750000- 2bbcd8000 Deferred comctl32 PE 2c8c60000- 2c8d6c000 Deferred d3d10_1 PE 2d4d40000- 2d4d96000 Deferred bcrypt PE 2d5140000- 2d514f000 Deferred api-ms-win-core-file-l2-1-0 PE 2e1360000- 2e136e000 Deferred api-ms-win-core-processenvironment-l1-1-0 PE 2e3540000- 2e364f000 Deferred shlwapi PE 2e8f10000- 2e948f000 Deferred ole32 PE 2edf00000- 2ee107000 Deferred dxgi PE 2f1fa0000- 2f1fbe000 Deferred version PE 2f7230000- 2f72d4000 Deferred uxtheme PE 2fa6b0000- 2fa6be000 Deferred api-ms-win-core-console-l1-1-0 PE 3001a0000- 3001af000 Deferred api-ms-win-core-processthreads-l1-1-0 PE 306e10000- 306e1f000 Deferred api-ms-win-core-timezone-l1-1-0 PE 30c980000- 30c98f000 Deferred api-ms-win-core-synch-l1-2-0 PE 3126f0000- 312744000 Deferred shcore PE 316370000- 316382000 Deferred psapi PE 31f800000- 31fa8e000 Deferred comdlg32 PE 327020000- 3271a4000 Deferred combase PE 32a700000- 32a7bc000 Deferred sechost PE 330260000- 330387000 Deferred advapi32 PE 336850000- 3368dd000 Deferred mmdevapi PE 33a7c0000- 33a7ce000 Deferred api-ms-win-core-profile-l1-1-0 PE 33b2d0000- 33b3c2000 Deferred d3d10core PE 33f0c0000- 33f0cf000 Deferred api-ms-win-core-heap-l1-1-0 PE 351680000- 35168f000 Deferred api-ms-win-core-localization-l1-2-1 PE 353520000- 35352f000 Deferred api-ms-win-core-localization-l1-2-0 PE 359050000- 359360000 Deferred d3d11 PE 361450000- 36145e000 Deferred api-ms-win-core-synch-l1-1-0 PE 361860000- 361c6f000 Deferred windowscodecs PE 376c50000- 376c5e000 Deferred api-ms-win-core-errorhandling-l1-1-0 PE 3785e0000- 3785fc000 Deferred vulkan-1 PE 390d90000- 390d9e000 Deferred api-ms-win-core-libraryloader-l1-1-0 PE 399720000- 399a8d000 Deferred d2d1 PE 39a620000- 39a697000 Deferred msvfw32 PE 39cce0000- 39ccee000 Deferred api-ms-win-core-rtlsupport-l1-1-0 PE 39f580000- 39f58f000 Deferred api-ms-win-core-file-l2-1-1 PE 3a2900000- 3a290e000 Deferred api-ms-win-core-debug-l1-1-0 PE 3afd00000- 3afd62000 Deferred imm32 PE 3b8f00000- 3b909f000 Deferred winmm PE 3be590000- 3be71f000 Deferred dbghelp PE 7fecfeb70000- 7fecfeb73000 Deferred winealsa PE 7fed006c0000- 7fed006c4000 Deferred winex11 PE 7fed00a00000- 7fed00a0b000 Deferred winspool PE 7fed00a50000- 7fed00a53000 Deferred dwrite PE 7fed00af0000- 7fed00af4000 Deferred winevulkan PE 7fed00b60000- 7fed00b64000 Deferred dnsapi PE 7fed00b80000- 7fed00b86000 Deferred ws2_32 PE 7fed00bd0000- 7fed00bd3000 Deferred netapi32 PE 7fed00c00000- 7fed00c04000 Deferred iphlpapi PE 7fed00c40000- 7fed00c4b000 Deferred dinput8 PE 7fed00db0000- 7fed01682000 Deferred shell32
-
@gundam No idea about that error but… does a Virtual Machine have a dedicated GPU?
-
@Ferde Hi Ferde.
No, but i want to use it just as dedicated Server. no for the 3D. So just 2D.
-
@gundam
Hmm, I’ve never tried to run BMS under Wine in VM, iirc even dedicated server has to run in 3D. I’m not sure if BMS will even launch without some sort of DX11 3D gpu (real or virtual). -
I never tried that either so I’m afraid I can’t help with that, I’m sorry