[UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO
-
@airtex2019
Thanks for all of the responses. First let me retest it with plain wine. Last time I had similar problem was where I tested beta of 4.37 AL you provided with 4.36, it complained a bit about missing F-15 key file, once I copied BMF Full key as one for Eagle AL launched with no errors.
With proton situation sem to be a bit different, in spare moment need to investigate what they broke. Is it some of their library override rules or it’s caused by change in wine Valve did.
For now, my focus is on get VR working.
And as you’ve chimed in, if/once you’ll find spare moment (I agree any issues related to running BMS under Wine are low priority) can you tell me how AL detects SteamVR presence? In proton prefix there are some reg entries and steam binaries (i dno’t know real or fake) in program files dir, yet AL didn’t show VR switch. -
@Xeno not my area unfortunately – all I can say is “it’s complicated” but you can read through the SteamVR detection code and maybe make heads or tails of it.
-
@airtex2019 said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
@Xeno said in [UNOFFICIAL] Running BMS on Linux/WINE with opentrack HOWTO:
short test and copied ./BMS*Full.key files to lowercase and AL still didn’t pick’em up
Can you explain, what are you expecting to happen – when and why?
In normal course of day to day usage, AL doesn’t look for or load BMS-Full.key.
Only upon initial run … if there is no BMS-Auto.key yet, if starts off by making a copy of BMS-Full.key.
I can’t promise a fix for any given linix/wine/proton stack, but if you share the AL log file, I’ll certainly take a look… maybe something trivial.
Maybe non-trivial… the Microsoft.DirextX wrappers that it uses are ancient… 32-bit, from .NET v1 era. They barely work on modern 64-bit Windows.
(Recent bug reports on GH from someone having problems with it on Linux… but it self-resolved after some OS or Wine update. Your problem with ProductID sounds maybe similar)
I’ve retested AL with regular Wine + .Net 4.* (4.0 to 4.8) installed. It works fine. In Proton prefix there’s only .Net 4.8 installed so I’m assuming Proton is trying to use wine-mono as .Net 4.6.2 runtime.
In spare moment I’ll try Proton with .Net 4.6.2 installed and report back. -
@Xeno There’s a program called protontricks that is basically winetricks for proton and detects all your steam installs, including the ones added manually. Maybe that can help you with the proton prefix.
-
Today I was able to get brief moment when I got proper pit view in the headset when flying Training mission #2. I have no idea, why for a moment it worked, how to replicate and why it worked in this mission but not others but still.
SO guys, if any of you has headset working under Linux give it a try and post results. Maybe with more data points we’ll be able to come to any conclusion.[edit]
Reports form somebody using PCVR headset (Reverb G2 or similar) would be super valuable. At this point I’m not sure if it’s matter of streaming part not being able to keep up or just Linux port of SteamVR doing something stupid. ‘tho’ I’m rather leaning for the latter.BTW ALVR on Windows works fine, but Windows AMD encoders sucks in terms of quality.
-
Another update, s it might happen that BMS in VR works under Linux, but it’s just SteamVR for Linux has broken reprojection. JJones invaluable input helped me to being able to see actual picture in VR. The key is to hit framerates close to headset refresh rate.
So guys if able please try it and add your findings in those two reports:
Falcon 4.0 compatibility report:
https://github.com/ValveSoftware/Proton/issues/3991No picture in headset bug report:
https://github.com/ValveSoftware/SteamVR-for-Linux/issues/671Owners of a bit beefier GPUs than RTX 3060 or RX 5700XT might have better experience as it should be easier to hit target fps.
-
Update on BMS in VR under Linux adventure: Proton 9.0 beta 11 solves blank picture issue. VR is almost usable, with exception of very shaky camera. But I consider that quite a progress.
-
Have anyone tried and succeed using some external screen for the MFDs? Hellios, android tablet and the like.
I’ve done a couple of tries with no-joy, but I’ve never used them on Windows before, so I’m not fully sure if it’s my fault or it’s harder/impossible on Linux.
-
@Ferde
TBF I didn’t try, but imho there’s high probability of success, assuming you’re going to use another monitor connected to the gpu or stream to other devices like tablets.
I guess most difficult setup would be MFDs connected via USB, which might be something Linux graphics stack may not handle that well. -
Hey guys.
I’d really like to get BMS running on my
Steamdeck, I know it sounds nuts but I’m away from home a lot at the moment and it would be fun to have a sim I can fly on it.The steamdeck runs SteamOS and has Proton. I’ve installed Protontricks, but I’ll be honest I don’t reaaaallly know what I’m doing with it.
Anybody got any advice?
-
@SOBO-87 Hi Sorry for late reply, I think running BMS on SteamDeck should be doable, but it’d be a bit PITA without physical keyboard and may be a challenge for someone with no previous experience with Wine/Proton.
On the news not really related to VR under Linux, I’ve got some good news. Recent Wine/Wine-mono should be able to run BMS ALternative Launcher without installing .Net. Pro of this solution is, we trade yellow background on checkboxes for visible tickmarks. Still it’s unable to detect SteamVR, but otherwise works fine. It’s quite handy to use it to map axis/buttons. Once mapping is done, I reenable VR in Falcon BMS user.cfg using text editor , launch direclty Falcon BMS binary and set it to use BMS-auto.key generated via AL.
Also With Wine 9.4 work on running FoxVox can be restarted. Now at least it shouldn’t crash on startup. I haven’t tested it personally but I’ve seen it fixed in Wine bugreports.
I’m gonna try it once 9.4 lands in Fedora repos. If it’s true then maybe installing MS TTS engine and language would be enough for FoxVox to run. That would be tremendous step forward as voice commands are last vital piece of BMS experience known to be troublesome on Linux. -
More good news today. I’ve tried ALVR build from latest master with fixes for desync in playerspace fix merged. I can clearly say, VR in BMS under Linux is absolutely playable. Framerate is at least as good as under Windows, head movement tracking feels smooth and I couldn’t notice any floatiness or lags.
One downside is, current master is a bit unstable and it takes few restarts of steamvr to get it connected with alvr without crash. -
@Ferde hey, I know this was asked a long time ago, but maybe it is still useful to someone: I run falcon-bms-control server https://kungfoo.github.io/falcon-bms-control/ with no problems under wine, and get MFDs/ICP+DED on my Android tablet.
-
@wsy Oooh… good to know, thanks!
I tried it and got connection but no images on the MFDs and the buttons didn’t work either. If it works for you then it means it’s something I miss in my install.
What method did you use to install BMS?
-
@Ferde weird, are you saying that the server launched and on your android you saw the bezels but no images inside? Did you set g_bExportRTTTextures 1 in falcon config? Also make sure you launch the server and BMS in the same prefix.
I installed BMS using Proton, don’t remember exactly, but I think I used something along the lines of this guide: https://www.reddit.com/r/falconbms/comments/u4olpm/installing_on_linux_via_steam/ and additionally installed dotnet to get AL to work. So far I don’t have any luck with AL with wine-mono.
For buttons, I had trouble only with ICP. Experimentally I found that if I rebind ICP buttons to something like Ctrl-Alt-letter instead of NumPad they work, so if you get an image but buttons don’t work it may be because of a keybind bms-control-server doesn’t like under Wine.
-
@wsy Thanks. Curiosly I have it running without dotnet I thought it might be that.
Last question (I hope): Do you remember which version/s of dotnet you installed? 4.8?
-
@Ferde yep, 4.8. I don’t think dotnet would have anything to do with falcon-bms-control, though, I was just mentioning it to describe my setup.
-
@wsy Thanks. Will make some tries.
-
OK, I spent too many hours trying a new install and several ways of installing dependencies with no joy. If I have dotnet 4.8 neither the alternative launcher or the bms control server work.
Out of hope I’ve tried again my working install and run bms control in another way and this time it worked!!! It happened the same to me that some buttons work and others don’t. I guess this has to do with conflicting shortcuts with Linux? I will try rebinding those controls as you suggested to be sure.
Edit: yes, that was it. After rebinding the buttons that weren’t working I have fully working MFDs
-
@Ferde
BTW Next release of wine-mono should make AL work OOB. it already work on Proton-experimental.
The only remaining issue is, it’s unable to detect SteamVR and so there’s no option shown to enable VR.
Aside from that, it’s perfectly functional.