[UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO
-
@gundam From the other side, some days and i will become a Linux expert
-
@gundam
What gpu is set in your VM? From the dummy dlls thread it seems virtio is the way to go, otherwise BMS wonāt start. -
@Xeno ciao Xeno. Good point. I am looking to understand how to set this parameter.
I will update the thread.
Thanks!
Gundam
-
@gundam i am not sure i can do it. I have the control of the VM not on the host. If i understood virtual GPU need anyway a physical gpu installed on the host. But i am not sure.
Gundam
-
@gundam said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
he VM not
Hi. The need of the GPU maybe is not true. From the DLL no3D post:
āA Direct3D11 wrapper to run Falcon BMS 4.35 without a video card.āSo you dont need a video card. Thanks to this DLL.
-
Iām having zero luck with 4.37.1 on WINE.
Arch Linux, kernel 6.1.9, 6900XT with Mesa 22.3.4.
Thrustmaster T16000M, TCWS and Rudder pedals.
Native Linux sims like X-Plane, Steam sims like DCS, Tiny Combat Arena, Elite, etc. and even legacy sims like IL-2 1946 work perfectly with the HOTAS. Headtracking using my Opentrack fork with better WINE/Proton handling, fed from AITrack also works if set to the proper WINE runner and prefix.BMS, howeverā¦
Using system WINE (8.1.1) with a system prefix or one created with Bottles:
- BMS downloads, installs and updates just fine.
- The regular launcher works, the Alternate Launcher always freezes when assigning HOTAS axes. Not even using NET Framework 4.6+ (installed via Winetricks) instead of Mono helps.
- Manual axis assignments via User/Config/DeviceDefaults.txt works.
- All axes and controls work in the main menu.
- As soon as I enter 3D, only the TWCS works. The T16000M is dead despite being the first device and despite correct and working axis assignments in the UI.
If I switch the device order in User/Config/DeviceSorting.txt, the T16000M will work in 3D, but the TWCS will not. As soon as I ALT-TAB out and back in, BMS stops accepting any keyboard inputs except from the TWCS. Mouse look still works.
(Found @hooverās old post about this and IIRC pressing ALT to reenable keyboard input does indeed work.)
Using a legacy WINE version like soda-7.0-9 (included in Bottles):
- Same as items 1 and 2 above
BMS does not even start, crashing with an error message.
Works after installing BMS with the DirectX option enabled!
(Can be installed separately after BMS from the redistributable as well.)
Ā
At this point, getting Opentrack to work is the smallest hurdle.
Sighā¦
-
Hi!
I hope I can help with this.As for using the launcher, I think you need .net 4.8
Iām using wine 5.21. I made many tests and itās the one that works best for me while also recognizing my devices. If I recall correctly, since wine version 6.something, installing .net versions is bugged so you might need to use it for installing libraries and then back to a higher version. I use Lutris, where changing wine version is very easy. Never used Bottles, so it might be easy there too.
About controllers, if you open windows control panel on that wineprefix check if all your devices are activated. You might also have the same device twice, as (js) and (event). event is more modern, so you should probably aim for them to work, but I found (js) ones work better for me, so I disabled the (event) ones.
As for the Alt-tabbing, as I just see you found about, ALT+ENTER and you will have the controls back.
-
@Ferde said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
As for using the launcher, I think you need .net 4.8
The alternate launcher actually only requires 4.6.2 if the terminal output is to be believed.
But installing NET 4.6.2 or 4.8 does not help at all as the UI will just freeze when trying to assign any axis.
Iām using wine 5.21. I made many tests and itās the one that works best for me while also recognizing my devices. If I recall correctly, since wine version 6.something, installing .net versions is bugged so you might need to use it for installing libraries and then back to a higher version. I use Lutris, where changing wine version is very easy. Never used Bottles, so it might be easy there too.
I just tried launching BMS with WINE 5.21 from the Bottles prefix, but all I get is a crash.
About controllers, if you open windows control panel on that wineprefix check if all your devices are activated. You might also have the same device twice, as (js) and (event). event is more modern, so you should probably aim for them to work, but I found (js) ones work better for me, so I disabled the (event) ones.
As Iāve said, all devices and axis are working in WINEās control panel and BMSā 2D UI. Just not after entering 3D.
Maybe I should start from scratch with 5.21.
-
@ph34rb0t Just for completion, as Iām going to sleep now and I canāt help you until tomorrow, what I have installed in my prefix is:
d3dcompiler_43
dotnet40
dotnet45
dotnet46
dotnet48
msxml3corefonts
Wine is set to windows10 and emulate virtual desktop equal to my screenās resolution.
As for the Lutris configuration I use Vulkan.
I have to add that I started this wineprefix on BMS4.34 so I donāt remember exactly why I have all this installed and/or if some are useful anymore. Some I believe are for Weapon Delivery Planner (maybe .Net48?).
-
@ph34rb0t said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
But installing NET 4.6.2 or 4.8 does not help at all as the UI will just freeze when trying to assign any axis.
I think 4.6.1 sufficientā¦ but itās built with a dogs-breakfast of 12+ year old dependencies, like Microsoft.DirectX.Input.dll.
For that reason (I assume) it runs in 32-bit runtime processā¦ even on x64 system. (I havenāt tested, Iām just guessing, there are some interop problems with the DirectInput wrappers on x64.)
Is .NET framework on WINE 64-bit only? I donāt know, but if so, that might explain why itās crashing/hanging, especially at the moment it tries to begin collecting dx input.
Iād recommend to set aside the New Launcherā¦ focus on getting BMS proper running and stable. Then maybe later, turn attention back to AL.
-
@airtex2019 wowā¦ just, wowā¦ almost 18 years.
so hard to believe that still works at allā¦ MS at their best? or worst. I donāt know anymoreā¦
-
@Ferde said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
@ph34rb0t Just for completion, as Iām going to sleep now and I canāt help you until tomorrow, what I have installed in my prefix is:
d3dcompiler_43
dotnet40
dotnet45
dotnet46
dotnet48
msxml3corefonts
Wine is set to windows10 and emulate virtual desktop equal to my screenās resolution.
As for the Lutris configuration I use Vulkan.
I have to add that I started this wineprefix on BMS4.34 so I donāt remember exactly why I have all this installed and/or if some are useful anymore. Some I believe are for Weapon Delivery Planner (maybe .Net48?).
Iāve installed all DirectX related things and whatever else I imagined could be needed, but 4.37.1 simply refuses to start with WINE 5.21.
@airtex2019 said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
I think 4.6.1 sufficientā¦ but itās built with a dogs-breakfast of 12+ year old dependencies, like Microsoft.DirectX.Input.dll.
That explains a lot. Is this needed for backward compatibility?
For that reason (I assume) it runs in 32-bit runtime processā¦ even on x64 system. (I havenāt tested, Iām just guessing, there are some interop problems with the DirectInput wrappers on x64.)
Is .NET framework on WINE 64-bit only? I donāt know, but if so, that might explain why itās crashing/hanging, especially at the moment it tries to begin collecting dx input.
I assume that Dotnet is 64bit, but WINE throws lots of warnings during the installation recommending a 32bit install.
But mixing and matching 32bit and 64bit prefixes is not possible, so itās either Dotnet or any 64bit app.
The entire situation is a trainwreck, but fortunately most, simpler, apps work fine with Mono (the AL not being one of them).The funny thing is that I remember the AL working at version 1.4 or 1.6. But this was long ago.
Iād recommend to set aside the New Launcherā¦ focus on getting BMS proper running and stable. Then maybe later, turn attention back to AL.
The AL is the least of my worries. Not having a usable HOTAS in 3D is my biggest one.
@airtex2019 said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
@airtex2019 wowā¦ just, wowā¦ almost 18 years.
so hard to believe that still works at allā¦ MS at their best? or worst. I donāt know anymoreā¦
Hm. WINE offers very old native overrides for dinput. If BMS uses the same ancient DLL, then maybe this could improve matters.
-
BMS starts working from WINE 7.20 onward and does not require any DotnetFX to launch and operate. It could be that 5.xx is unable to interface with some newer system libraries like Pipewire.
I also found out that only the device selected in the controller options in the 2D UI is being used. If I set the dropdown menu to the T16000M, I can use the stick, but not the TWCS. If I select the TWCS, I get input from that one, but not the T16000M. If I set it to ākeyboardā, neither the T16000M nor the TWCS works.
Oh man. -
@ph34rb0t is that a regression from 4.36 or earlier?
Iām not a BMS dev so I donāt know what I donāt know. But I havenāt heard of any recent changes in the dx input stack.
-
Iām out of ideas.
Only to be fully sure. As mentioned on the first post, you need wine64 to run BMS but you can install 32bit apps inside it if you prepare the system for that.sudo dpkg --add-architecture i386
Maybe you need to install .net 32bit version? Iām just wild guessing here.
Other than that, Iāve reached my knowledge limit. Letās hope people with more knowledge can help you.
-
Sorry if this is a dumb question, but youāre saying that you can assign all the axes (even of the TWCS) in BMS 2d setup after selecting the ājoystickā as your main input device in 2d?
Thatās the way it should be, only ever use the ājoystickā as your main BMS 2d setup input device.
Then, once you have assigned all the TWCS and TM axes, you enter 3d and only the joystick works in 3d?
Cheers, Uwe
-
@airtex2019 said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
@ph34rb0t is that a regression from 4.36 or earlier?
Iām not a BMS dev so I donāt know what I donāt know. But I havenāt heard of any recent changes in the dx input stack.
I donāt know. My last attempt with BMS in WINE was 4.35 and I gave up. Before that I think I managed to run 4.33 for some actual flying.
All I know for searching the forums is that the axis issue also seems to happen on Windows and the advertised solution appears to be using the AL and not touch BMSā 2D controller setup menu or vjoy or TARGET to combine two devices into a single virtual one.
@Ferde said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
Iām out of ideas.
Only to be fully sure. As mentioned on the first post, you need wine64 to run BMS but you can install 32bit apps inside it if you prepare the system for that.sudo dpkg --add-architecture i386
Maybe you need to install .net 32bit version? Iām just wild guessing here.
Other than that, Iāve reached my knowledge limit. Letās hope people with more knowledge can help you.
32bit libraries are required to run Steam, so these are already installed.
Thanks anyway for the effort.
@hoover said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
Sorry if this is a dumb question, but youāre saying that you can assign all the axes (even of the TWCS) in BMS 2d setup after selecting the ājoystickā as your main input device in 2d?
Yes, all axes on each device work in 2D.
Thatās the way it should be, only ever use the ājoystickā as your main BMS 2d setup input device.
Thatās what I read in the forums as well. Select the joystick as primary device in the 2D UI and all other connected devices should work in 3D as well.
Then, once you have assigned all the TWCS and TM axes, you enter 3d and only the joystick works in 3d?
Yes.
Iāve already tried native overrides for dinput.dll and dinput8.dll (as required to make IL-2 1946 work, btw.), but this does not do the trick for BMS.
-
@ph34rb0t Did you go to āadvanced -> flight controlā inside the controller options? Itās there where you can specify the other axes and devices.
-
@ph34rb0t said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
searching the forums is that the axis issue also seems to happen on Windows and the advertised solution appears to be using the AL
Iām quite sure many hundreds of people have multiple devices (stick and throttle, at least) and donāt use AL.
You might see a lot of over-simplified advice, in recent posts, in the context of helping newbs who are confused why their changes being overwritten by ALā¦ but you are on Linux debugging Wine, so you are not one of those people.
-
@Ferde said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
@ph34rb0t Did you go to āadvanced -> flight controlā inside the controller options? Itās there where you can specify the other axes and devices.
Yes, of course I did. I even pre-mapped all axes in DeviceDefaults.txt.
@airtex2019 said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
Iām quite sure many hundreds of people have multiple devices (stick and throttle, at least) and donāt use AL.
Iād be happy without AL if it wasnāt for the issue with the devices.
You might see a lot of over-simplified advice, in recent posts, in the context of helping newbs who are confused why their changes being overwritten by ALā¦ but you are on Linux debugging Wine, so you are not one of those people.
The explanations about issues with multiple controllers were actually quite helpful to provide a clue about what goes wrong.
However, after unsuccessfully trying to run TARGET through WINE to combine controllers into a virtual one and not finding any suitable Linux tool to do the same, Iām giving up. After all, what good is a HOTAS if it doesnāt work?