Special Aircraft Service

Battlefield - Airborne - Tactical (BAT) => BAT Tech Help => Topic started by: .-083 on June 22, 2017, 10:51:41 PM

Title: Anyone running B.A.T. on Linux? [solved]
Post by: .-083 on June 22, 2017, 10:51:41 PM
I was wondering if someone here played B.A.T. on Linux

IL-2 Sturmovik 1946 updated to 4.12.2m runs perfect under Wine, but if I install B.A.T. I get a ton of errors and Dawn of Flight crashes at 30%

That same B.A.T. install (fresh and fully updated) runs great under Windows 7, it's only under Wine that it crashes

This is the wine log: http://pastebin.com/LHMbwZrD


Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on June 22, 2017, 11:41:34 PM
The only thing that could play tricks on you is that the linux filesystem is case sensitive.
Your log shows a lot of errors like this:
Code: [Select]
Problem in spawn: com.maddox.il2.objects.vehicles.planes.Plane$<some aircraft classname here>
Plane: Parameter [<some aircraft classname here>]:<Class> not found
And that's odd to say the least, because also stock aircraft are listed there.

Are you sure that the very same BAT instance runs fine on windows?
I mean... could you try a BAT game on Windows and then mount that windows drive in Linux and try the wine start on that one?

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: .-083 on June 23, 2017, 12:02:26 AM
Hello Mike, thank you very much for your reply

Yes, the very same B.A.T. instance runs fine under windows... In fact, I did the whole install process on Windows 7 to avoid problems with files failing to be replaced due to Linux being case sensitive... I tried to play from that same installation under Wine and well, it just crashes

I've had some very minor problems in windows (related to single missions and pilot careers, made another thread about that, in this same subforum), but the game starts fine and I have been playing with QMB for hours

In fact, after the Wine testing, I restarted my notebook and booted again into Windows 7 to be able to play the game and, as expected, it worked fine

Plus, before installing B.A.T., when the game was stock updated to 4.12.2m, I rebooted into my Linux system to test the game under wine and it was working then, QMB worked fine, so the compatibility problems was introduced by B.A.T...

If someone can think of some kind of workaround to get it running under Wine, I'm all ears

P.S.: I made another install of IL-2 1946 and put D.B.W. 1.71 on it. This one works fine under Wine, so at least we linux users can play that (D.B.W. will give a lot of errors similar to the ones found in the B.A.T. log, but for some reason it loads up to 100% anyways and QMB also works fine, tested flying a GO-229 and shooting down a B-29 loaded with Fat Man). Here is the D.B.W. log if anyone is interested in comparisons (log of loading the game under wine, seeing menu and then exiting using the "Quit" button): http://pastebin.com/BufkAtx9
Title: Re: Anyone running B.A.T. on Linux?
Post by: whistler on June 23, 2017, 01:56:56 AM
when the game was stock updated to 4.12.2m, I rebooted into my Linux system to test the game under wine and it was working then, QMB worked fine, so the compatibility problems was introduced by B.A.T...
...
I made another install of IL-2 1946 and put D.B.W. 1.71 on it. This one works fine under Wine

Hi .-083

have you tried with both BATDLLS-01 and BATDLLS-02 ?

https://www.sas1946.com/main/index.php/topic,53691.0.html

Give it also a try with the SAS ModAct 5.30 DLLs posted here:

https://www.sas1946.com/main/index.php/topic,54865.0.html

If that doesn't work, and if you have the time (and the will), I would:

Try running a clean B.A.T. 1.0 without any expansion. If the problem persists, then we have narrowed down the issue to a 'simpler' install.

Try installing C.U.P.! this will confirm whether the issue you are experiencing was introduced in B.A.T or was already there before...
Title: Re: Anyone running B.A.T. on Linux?
Post by: .-083 on June 23, 2017, 02:14:35 PM
Hi whistler

Thank you for your suggestions

I just tried to run stock B.A.T. with no E.Ps and it crashed at 30% just like the fully updated B.A.T.

 Here is the log: https://pastebin.com/mAbmaYRP

Then I tried the different sets of DLLs, Nro. 2 and also stock ModAct 5.30 ones... (I was already using Nro. 01), but it jut keeps crashing at the same point

I'll download latest C.U.P. later and see if it works... Although, stock B.A.T. isn't just latest C.U.P. but repacked? It even says C.U.P. in the loading screens


Title: Re: Anyone running B.A.T. on Linux?
Post by: whistler on June 27, 2017, 02:04:51 AM
Then I tried the different sets of DLLs, Nro. 2 and also stock ModAct 5.30 ones... (I was already using Nro. 01), but it jut keeps crashing at the same point
Sorry to hear that pal, I do not know how to troubleshoot this further... 4.12.2 works and a modded install such as UP3 works but B.A.T. doesnt... not a clue.
Title: Re: Anyone running B.A.T. on Linux?
Post by: saab ja26 on July 01, 2017, 08:19:29 AM
I tested an install on Linux Mint 18 before I switched back to Windows 10. What I found is that on Linux IL2 will run fine up to VPMod with no issues using either 'Play on Linux' or 'Wine'.
However, Il2 Modded versions such as CUP or BAT where you need to use the Selector to load different periods such as DOF or WAW ect will not work. I was able to get BAT loaded but
the Selector would only load DOF. When I would select WAW, TGA, Jet War the game would crash @ 30%. None files were corrupted.  I tested the same exact install  by copying it to to an external drive and running it under Windows 10 and it ran just fine. The IL2 Selector will not work properly in Linux/Wine to load the other periods in BAT.
Title: Re: Anyone running B.A.T. on Linux?
Post by: .-083 on July 01, 2017, 02:48:30 PM
Then I tried the different sets of DLLs, Nro. 2 and also stock ModAct 5.30 ones... (I was already using Nro. 01), but it jut keeps crashing at the same point
Sorry to hear that pal, I do not know how to troubleshoot this further... 4.12.2 works and a modded install such as UP3 works but B.A.T. doesnt... not a clue.

Don't worry, and thank you very much for your help :) Just hope eventually other linux users (with more knowledge) will work on a patch for wine or something to get B.A.T. up and running

I tested an install on Linux Mint 18 before I switched back to Windows 10. What I found is that on Linux IL2 will run fine up to VPMod with no issues using either 'Play on Linux' or 'Wine'.
However, Il2 Modded versions such as CUP or BAT where you need to use the Selector to load different periods such as DOF or WAW ect will not work. I was able to get BAT loaded but
the Selector would only load DOF. When I would select WAW, TGA, Jet War the game would crash @ 30%. None files were corrupted.  I tested the same exact install  by copying it to to an external drive and running it under Windows 10 and it ran just fine. The IL2 Selector will not work properly in Linux/Wine to load the other periods in BAT.

The strange thing is DBW 1.71 also has a selector and it works perfectly...

How did you manage to get DoF loaded? It always crashes for me. DoF and TGA are my favourite ages, so I'd be great if I could at least play one of them in Linux (I'm using MX-Linux 16.1, a Debian derivate)

What wine version do you use?

Title: Re: Anyone running B.A.T. on Linux?
Post by: .-083 on July 01, 2017, 04:23:12 PM
I found the problem: it is related to the INI files in /#DOF2/STD/com/maddox/il2/objects/, /#TGA2/STD/com/maddox/il2/objects/, /#WAW2/STD/com/maddox/il2/objects/ and /#JTW2/STD/com/maddox/il2/objects/ folders.

If you move/delete all these INI files, all ages will now load without problems... But obviously you won't have any of the B.A.T. planes, statics, etc. because you moved/deleted the INI files

I'm comparing the contents of (B.A.T. E.P. #12) /#DOF2/STD/com/maddox/il2/objects/air.ini with the ones of (D.B.W. 1.71) #DBW/STD/com/maddox/il2/objects/air.ini, trying to figure out why the INI file from D.B.W. loads fine but the INI from B.A.T. doesn't... But I don't think I'll be able to

D.B.W. air.ini = https://pastebin.com/DY30K7Sr
B.A.T #DOF air.ini = https://pastebin.com/NNRSfNHc
Title: Re: Anyone running B.A.T. on Linux?
Post by: saab ja26 on July 01, 2017, 04:33:46 PM
@ .-083 ~ I was using Linux Mint 18 (latest version) and the latest stable wine release (2.01).
All I did was install BAT normally per the instructions. I was able to download the torrent file. Downloading the files individually runs the risk of getting corrupted downloads. I happened to choose on the selector DOF and it worked. But when I used
the selector to run WAW, TGA, or Jet Age my game would crash usually with a 30%CTD. I thought it was an issue
with the program I used to unzip the files so I tried several but to no avail. I usually have everything loaded on my
2TB external drive. I ran the same game under Windows 10 and everything ran just fine no CTD's what so ever. My Hunch is that when trying to use Wine and the IL2 selector to select the other ages (TGA WAW ect) the files aren't getting loaded completely. I haven't figured out exactly what is happening. I tried different configurations with Wine but I still had the same issue.

Title: Re: Anyone running B.A.T. on Linux?
Post by: .-083 on July 01, 2017, 07:24:16 PM
Well, you 're lucky, I never could get any of the ages to load, not even DoF...

All the selector does is modifying values in il2fb.ini so when you click il2b.exe it launches the desired module... (in my case) It only works if you select Stock Game or SAS MODACT 5.3
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 02, 2017, 12:48:22 AM
All the selector does is modifying values in il2fb.ini so when you click il2b.exe it launches the desired module... (in my case) It only works if you select Stock Game or SAS MODACT 5.3
Nearly right ;)
The "IL2 Selector.exe" is just a tool to set values in il2fb.ini.
The il2fb.exe which ships with the Selector, together with dinput.dll, loads these values, selects the corresponding module (i.e. mod folder) and applies memory settings to the Java Virtual Machine.
At the time when you see the IL-2 Splashscreen or main window, the Selector's job is done and all errors "behind" that point are not related to the selector anymore.
A 30% CTD is a stationary thing, it's the stationary.ini and rockets.ini being parsed between 30% and 35%.

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: .-083 on July 05, 2017, 09:22:53 PM
Thank you for the clarifications!

I think Wine is problematic at processing possibly all of the B.A.T. ini files, because I have tested leaving only one ini file (a differente one each time), and it would CTD but at a later stage. For example, air.ini caused CTD at 60% if I remember well... I just can't see why, if 4.12.2m works fine, and also 4.10.1m with D.B.W., B.A.T. should also work fine... Maybe the problem is an incompatibility with one of the bundled-in JGSME mods that are not optional any more? If these do modify the ini files
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 06, 2017, 03:04:55 AM
Just wild guessing, all over the place.
What you need is someone with deep knowledge of IL-2 plus deep knowledge of Wine plus time and will to perform a couple of tests on the Bat+Wine combo.
I know one person who fulfills the first two criteria, but I know for sure that he doesn't match criteria number 3.

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 19, 2017, 06:50:12 AM
For what it's worth, I've installed Ubuntu 16.04 LTS on a laptop today and tried to run IL-2 with Wine on it.
Epic fail.
Whatever Wine version I've used (distro version, Winehq stable or staging version), whatever I did, the most I get is that IL-2 gets up to 70% and is stuck there.
And it completely ignores my conf.ini and doesn't give any log output.
Mind you, that's stock IL-2. I didn't even get to try any modpack.
I have used IL-2 Servers and Clients on Ubuntu 10.x before, but this one is different, just don't ask me why and how.

The question is: How to get IL-2 to run on a reasonably up-to-date linux at all?

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: GEORGES44 on July 19, 2017, 01:53:06 PM
For what it's worth, I've installed Ubuntu 16.04 LTS on a laptop today and tried to run IL-2 with Wine on it.
Epic fail.
Whatever Wine version I've used (distro version, Winehq stable or staging version), whatever I did, the most I get is that IL-2 gets up to 70% and is stuck there.
And it completely ignores my conf.ini and doesn't give any log output.
Mind you, that's stock IL-2. I didn't even get to try any modpack.
I have used IL-2 Servers and Clients on Ubuntu 10.x before, but this one is different, just don't ask me why and how.

The question is: How to get IL-2 to run on a reasonably up-to-date linux at all?

Best regards - Mike

I had IL2 working on a Ubuntu 14.04 install.
Switched to 16.04 and .... nohing at all! :( :( :(
Even tried with the PlayOnLinux script: fail!
Still scratching my head: since I stick to LTS, I put my hopes on the 18.04 version (fingers crossed)
Title: Re: Anyone running B.A.T. on Linux?
Post by: saab ja26 on July 19, 2017, 07:08:33 PM
I had been running Il2 on Linux for some time Il2 1946 SAS Mod Act 5.03 and installing mods one by one. I tried Ubuntu but switched to Mint because I didn't care for Ubuntu's GUI/task bar set up. I used the latest stable Version of Wine. Worked just fine. JSGME worked fine installing mods. Where I ran into a road block was installing Bat and using the IL2 Selector to choose other time periods as in TFM or BAT. Every single time I switched to WAW or Jet Age or it would crash to desk top usually 30% CTD. I could take that same install and run it under Windows 10 and everything would load just fine. I've tried everything but to no avail. There is a hiccup when using the selector to load other packs but for the life of me I can't figure out what it is. I used to use Cross Over Linux and liked that pretty well. Play on Linux I always had issues with. When wine seemed to be more improved I ditched Cross-over altogether. There is a way to configure Wine to run based on operating system ie using windows XP settings to run Il2. VP Mod pack worked with no problems for me. TFM/Bat nope.
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 19, 2017, 10:49:45 PM
I had IL2 working on a Ubuntu 14.04 install.
Switched to 16.04 and .... nohing at all! :( :( :(
Even tried with the PlayOnLinux script: fail!
Thanks for the confirmation.
I won't install an outdated 14.04 just to follow this issue, sorry.
Funny thing is that according to the Wine DB the game should run fine on 16.04 + Wine 2.2: https://appdb.winehq.org/objectManager.php?sClass=version&iId=7102
Doesn't work for me though.

Where I ran into a road block was installing Bat and using the IL2 Selector to choose other time periods as in TFM or BAT. Every single time I switched to WAW or Jet Age or it would crash to desk top usually 30% CTD. (...) There is a hiccup when using the selector to load other packs
All the Selector does when switching time periods is to change one single value in il2fb.ini, you can do this manually if you think the Selector was the culprit.
The time periods are listed in the beginning, when you scroll down you will find a setting "ModType=<Number>" where the number corresponds to the index given in the sections description above.
The description in BAT's il2fb.ini is outdated, but these are the valid settings for current BAT EP:
ModType=0 --> Stock Game
ModType=1 --> SAS Modact
ModType=2 --> BAT DOF
ModType=3 --> BAT TGA
ModType=4 --> BAT WAW
ModType=5 --> BAT JTW

You can open il2fb.ini in a text editor (nano, gedit or whatever you prefer) and just change that "ModType" value to switch periods.
I tell you though that the result will be the same because the Selector isn't the issue here.

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 20, 2017, 05:51:46 AM
Okay, don't ask me why exactly, but at least Ultrapack 3 works on Ubuntu 16.04 + Wine 2.0.1 for me now.
Things I've changed from the previous (unsuccessful) attempt:

This survived 3 reboots now so I consider it stable.

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: GEORGES44 on July 20, 2017, 01:56:39 PM
I had in fact given up IL2 on Linux a few months ago due to RL.

This topic made try again: I met with some succes (to my great surprise!) See report below.

Specs:
OS: Ubuntu 16.04 variant CUBUNTU (Adds-on + Cinnamon) kernel 4.4.0-83-generic fully updated
i7-4790 4GHz 16GB RAM Nvidia GTX 750
Saitek X52 + Rudder pedals

SSD with Ubuntu
SSD with W10
HD with all my IL2 installs (2 GB), NTFS format

Procedure:
- via Synaptic select and install playonlinux
   note: I proceed this way because it install all necessary depedencies (wine and all): I am otherwise bound to forget 
            some essentials parts

   Wine version installed this way: 1:1.6.2-Oubuntu14.2 (meta package)
- go straight to my Il2 directory, right-click on Il2 selector and "open with wine"
    In fact, exactly the same way as I do on on windows; I use the same files as I do when I play on W10

Results:

Perfectly OK:
- 4.12.2
- 4.13.3
- 4.13.1 SASModact6.1
- DBW
- BAT SAS ModAct5.3
- UP 2.01

CTD:
- BAT DOF and TGA: 30%
- TFM 4.12: 20%
- TFM 4.10: DBW 20%
- TFM 4.10: UP3 get stuck at 95%
- VP Modpack: 70%

Absolutely no joy:
- BAT WAW and TJA
- CUP
- UI 1.2
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 21, 2017, 03:19:43 AM
Couldn't test too many different versions yet, but Modact 5.3, Modact 6.4 and UP3 + Patch Pack 210 are running fine for me.

Ubuntu 16.04 plain vanilla with all latest patches.
Wine 2.0.2 installed and up to date, straight from winehq.org repo (I've removed the previously installed xenial distro version 1.6.2 of Wine as it gave me nothing but errors).

Most important point for me to convince Wine to run IL-2 was to add the three DLLs:
Under "Libraries", I have configured "dinput" as "Native, Builtin"; msvcp71 as "Native" and msvcr71 as "Native".

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 21, 2017, 03:44:23 AM
*bump*

Just got my IL-2 BAT EP12 installation carried over to a USB stick, running WAW on my Wine equipment perfectly fine.
I've had graphical issues with OpenGL due to the lappy's builtin Intel HD graphics, but in DirectX mode everything's fine.

So the combo "Ubuntu 16.04, Wine 2.0.2" and the special setting for the three DLLs mentioned before seems to work with BAT, at least for me it does.

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: GEORGES44 on July 21, 2017, 05:59:54 AM
Couldn't test too many different versions yet, but Modact 5.3, Modact 6.4 and UP3 + Patch Pack 210 are running fine for me.

Ubuntu 16.04 plain vanilla with all latest patches.
Wine 2.0.2 installed and up to date, straight from winehq.org repo (I've removed the previously installed xenial distro version 1.6.2 of Wine as it gave me nothing but errors).

Most important point for me to convince Wine to run IL-2 was to add the three DLLs:
Under "Libraries", I have configured "dinput" as "Native, Builtin"; msvcp71 as "Native" and msvcr71 as "Native".

Best regards - Mike

You are the one, Mike :) :) :)
Modified wine settings according to your instructions and I got all BAT EP12 modules workings.
I kept the wine version from my previous post.
Still no joy with VP modpack though: not yet tried the other versions (lack of time)

Thanks again 
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 22, 2017, 01:12:43 AM
Great to know that it's working for you too.
I've marked this topic solved now.

Cheers!
Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: GEORGES44 on July 22, 2017, 02:34:43 AM
Latest results with Mike settings:

Running perfectly:
- BAT EP12 (all modules)
- CUP
- UP 2.01
- 4.13.1 SASModAct6.1

Others versions (see previous post): no joy
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 22, 2017, 10:09:40 AM
TFM, CUP, UI 1.2 frankly I don't care.
All of them are outdated, superseded, not developed further on.

VP Modpack I will try when I get the chance to, maybe next week.

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: GEORGES44 on July 22, 2017, 10:26:34 AM
Take your time Mike, there is no hurry.

And have a beer on my account ;D
Title: Re: Anyone running B.A.T. on Linux?
Post by: GEORGES44 on July 23, 2017, 06:33:14 AM
Since I had some time, I made some experiments and I managed to get VPModpack working...and I am still laughing about the way it works ;D ;D ;D

Experiment 1:
- took my IL2 1946 DVD and installed it via wine on /home/user/.wine/drive_c/IL-2 Sturmovik 1946=> it worked OK
- copied my VPModpack install on top of it => NOTHING (even with right click on selector and "open with wine")

Experiment 2:
- tried installing IL2 1946 with Playonlinux => error: install failed
    BUT a virtual disk "VPmodpack" was created in /home/user/.PlayOnLinux/wineprefix/VPmodpack

Experiment3: wild try crossover between Playon linux and wine:
- opened Playonlinux, choose "Configure" and select the virtual drive "VPmodpack" of experiment 2
- select "Divers" and "launch an .exe in this virtual drive"
- choose the Il2 selector.exe of experiment 1 (the one that gave no results)
   ====> AND IT WORKED: :o :o :o
  I could fly a few missions: only bugs so far gunsight on F4, and Blitzkrieg add-on causing a 70% CTD (although it works fine on W10)

Still laughing my ass out: How the same version of wine (only one installed, checked playonlinux uses the system version) can achieve such different outcomes only due to the location?   

Going for a walk to calm myself down; in the meantime, if a guru can find the answer, I'll be quite grateful for the enlightement :)
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 25, 2017, 06:13:29 AM
I finally found time to check this myself and couldn't find any issues in running VP Modpack, installed with "all in one" Patch 1-14 and "New Patch 1" + "New Patch 2" on the same environment like I tested BAT with: Ubuntu 16.04 LTS + Wine 2.0.2.

See video of the test run here:

https://www.youtube.com/watch?v=osMGHLggn1c

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 26, 2017, 07:36:36 AM
Further information for users who are facing OpenGL issues when trying to run IL-2 1946 on wine (like I just did when I tried to get it to run on latest and greatest Ubuntu 17.04):
If you get an error message like
Code: [Select]
err:wgl:init_opengl Failed to load libGL: libGL.so.1: cannot open shared object file: No such file or directory
err:wgl:init_opengl OpenGL support is disabled.
Main begin: wglCreateContext failed
com.maddox.opengl.GLContextException: wglCreateContext failed
you are probably running on a 64 Bit OS and therefore need to add 32 Bit support and furthermore need to add OpenGL support to it.
In order to get there, open up a command prompt and enter the following commands:
Code: [Select]
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install --reinstall libgl1-mesa-glx:i386 libgl1-mesa-dri:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so.1

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 27, 2017, 01:59:47 AM
*bump*
Tests finished on Ubuntu 17.04 "Zesty" with latest Wine "staging" 2.13 version.

How to uninstall old Wine versions (prerequisite before updating, otherwise you might have conflicting dependency issues):
Open up a terminal Window and enter the following commands:
Code: [Select]
sudo apt-get --purge remove winetricks
sudo apt-get --purge remove wine-stable
sudo apt-get --purge remove wine-devel
sudo apt-get --purge remove wine-staging
sudo apt-get --purge remove wine
sudo apt-get autoremove
Note: Depending on which wine parts and versions you have installed, one or the other command might reply that the regarding package isn't installed. That's normal.
When being asked to remove packages (even if it's lots of them), confirm with "y".

How to install Wine 2.13 "staging":
Open up a terminal Window and enter the following commands:
Code: [Select]
sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key
sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/
sudo apt-get update
sudo apt-get install --install-recommends winehq-staging
Note: I recommend installing the "staging" branch of wine for running IL-2 1946.

How to install additionally required OpenGL components:
Open up a terminal Window and enter the following commands:
Code: [Select]
sudo apt-get install --reinstall libgl1-mesa-glx:i386 libgl1-mesa-dri:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so.1

How to add required DLL overrides:
Open up a terminal Window and enter the following command:
Code: [Select]
winecfgSwitch to the "Libraries" tab and add the following library overrides:
"dinput" as "Native, Builtin"; "msvcp71" as "Native" and "msvcr71" as "Native".

I'd furthermore recommend to add your (several) IL-2 installation(s) as separate drive(s) in winecfg so you can find them easily later on the wine command prompt.

How to run IL-2:
Open up a terminal Window and enter the following command:
Code: [Select]
wine cmdThis opens up a windows command prompt.
Change to the drive/path pointing to your IL-2 installation, e.g. in my case VP Modpack was reachable like this:
Code: [Select]
d:
cd IL2
cd CLIENT
cd IL-2 VP Modpack
Finally, run IL-2 with the following command:
Code: [Select]
il2fb
Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux?
Post by: .-083 on July 28, 2017, 07:56:57 PM
Couldn't test too many different versions yet, but Modact 5.3, Modact 6.4 and UP3 + Patch Pack 210 are running fine for me.

Ubuntu 16.04 plain vanilla with all latest patches.
Wine 2.0.2 installed and up to date, straight from winehq.org repo (I've removed the previously installed xenial distro version 1.6.2 of Wine as it gave me nothing but errors).

Most important point for me to convince Wine to run IL-2 was to add the three DLLs:
Under "Libraries", I have configured "dinput" as "Native, Builtin"; msvcp71 as "Native" and msvcr71 as "Native".

Best regards - Mike

Thank you very much! Got it working with these settings
Title: Re: Anyone running B.A.T. on Linux?
Post by: SAS~Storebror on July 29, 2017, 12:07:09 AM
Thanks for confirmation .-083.
I've added my test results including these settings and the OpenGL stuff for newer Linux/Wine versions to WineHQ's AppDB (https://appdb.winehq.org/objectManager.php?sClass=version&iId=7102) on 27th but they're still pending admin checks.

Best regards - Mike
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Heretic on October 28, 2019, 12:48:04 AM
(Note: This is a massive cleanup from my initial post and subsequent edits!)


Got BAT 3.7.2 and VP Mod (16 parts, 2 patches) up and running on Arch Linux (kernel 5.3.x, WINE 4.18-1, native NVidia drivers version 435.21) after a bit of a struggle.
In case anbody needs some tips to get going:


1. Make sure you've got all WINE-related 32 bit packages installed.


2. All the installers, i.e. GOG's 4.10m installer and those from the later BAT updates worked flawlessly for me.


3. Create a 32bit wineprefix (replace "user" here and in all following commands with your usename; credit to Phoenix (https://www.sas1946.com/main/index.php/topic,56541.msg626295.html#msg626295))
Code: [Select]
WINEPREFIX="/home/user/.wine_32" WINEARCH=win32 wine wineboot

4. Start winecfg in the new prefix
Code: [Select]
WINEPREFIX="/home/user/.wine_32" WINEARCH=win32 winecfgand add your local drives or at least the one you've installed IL-2 BAT/VP on, then select a virtual desktop with your screen resolution for the "default settings"(!!) entry ("Graphics" tab), then add an il2fb.exe to the list of applications and set its Windows version to "WindowsXP".
Select "Automatically capture mouse" in the "Graphics" tab and add these library overrides:
Code: [Select]
dinput (native, builtin)
dinput8 (native, builtin)
msvcp71 (native)
msvcr71 (native)


5. In a terminal, enter (reminder to change "user" to your username; also change the path to your il2fb.exe)
Code: [Select]
env WINEPREFIX="/home/user/.wine_32" wine start "e:/IL-2 1946 BAT/il2fb.exe"

6. IL-2 with BAT (or VP) should now start and load correctly. You're on the right track if you see the Selector's splash screen before the regular one.



Additional tips:

In case somebody uses a Linux native Opentrack, it has to be launched with
Code: [Select]
env WINEPREFIX="/home/user/.wine_32" /opt/opentrack/bin/opentrackin order to make it recognize the 32bit Wineprefix. (Username and path will of course differ.)
(Build instructions for Arch are here (https://forums.x-plane.org/index.php?/forums/topic/173300-headtracking-with-opentrack-aruco-on-arch-linux/&do=findComment&comment=1728976).)

Reshade also works!
https://www.sas1946.com/main/index.php/topic,46936.msg689339.html#msg689339 (https://www.sas1946.com/main/index.php/topic,46936.msg689339.html#msg689339)

DCG 3.49 also works.


So far, I'm really happy how this turned out. Thanks for the hard work, SAS Team and VPmedia!
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: SAS~Storebror on October 29, 2019, 02:02:52 AM
So to summarize your issues:
Your Wine / Arch Linux combo insisted on being 64 Bit and you had to convince it to run IL-2 in 32 Bit mode.

]cheers[
Mike
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Heretic on October 29, 2019, 05:00:06 PM
Basically yes.

To clarify, and what my previous post initially talked about: My 64 bit WINE prefix starts IL-2 with any BAT module just fine (when launched via "WINE start "[path to IL2FB.exe]""), but using the native dinput.dll basically breaks input (for me), making the mouse uncontrollable and only detecting two of four joystick axis (and, to add insult to injury, inverting them).
Switching to the built-in dinput.dll makes IL-2 crash on loading when using any mod/module that is more complex than Dawn Of Flight. However, stock IL-2 and Modact with a few mods do work and input works as advertised.

Luckily, the 32 bit prefix was the golden ticket out of that unsatisfying situation (thanks again to Phoenix for that post in the UP thread!).


I've only spent five hours flying in the sim, but so far, it's stable. Even the two DCG BoB camapaign missions that I've accidentially flown with full squadron density didn't produce any hiccups at 50+ aircraft. Framerates are also what you'd expect (40 - 60 FPS on a Ryzen 3700X with a 1060GTX).

Two drawbacks I've encountered so far is:
1) ...loss of the Umlaut keys in the keyboard assignments and in-session (they do work otherwise) and
2) ...lack of anti-aliasing from the NVidia control panel (doesn't work with WINE), which has to be injected with ReShade, at the cost of a blurry image or an extra sharpening filter on top.

But still, IL-2 seems to be better and more fun than ever thanks to the tremendous amount of work you guys are pouring in day after day!  ]cheers[

Now if you'll excuse me, there's an aircraft with my name on it. Can't decide which one yet and where to fly it, but there's one.
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: buzz_beurling on October 29, 2019, 10:27:44 PM
Wow this is interesting...
IL-2 (BAT and BoS) are a couple of the few reasons I feel tied to Windows..
Ditching Windows for Linux is a dream of mine :)

What are you using for flight controllers and how is that going?
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: GEORGES44 on October 30, 2019, 02:06:03 AM
Wow this is interesting...
IL-2 (BAT and BoS) are a couple of the few reasons I feel tied to Windows..
Ditching Windows for Linux is a dream of mine :)

What are you using for flight controllers and how is that going?

X52 and Saitek rudders : works fine
a most useful tool to manage flight contollers: jstest-gtk
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Phoenix on October 30, 2019, 07:43:46 AM
I will show here my way of launching IL-2 BAT.
The operating system is Archlinux x86_64.
All libraries necessary for compiling Opentrack with the wine-component are installed ( lib32-* ).

wine-libraries:
Code: [Select]
dinput (native, builtin)
dinput8 (native, builtin)
msvcp71 (native)
msvcr71 (native)

System environments ( in bashrc ):
Code: [Select]
export WINEPREFIX=/home/user/.wine_32

## FSAA: Full Scene Anti Aliasing: can be set from 1 to 5:
## off [0], 2x (2xMS) [1], 4x (4xMS) [5], 8x (4xSS, 2xMS) [9], 8x (8xMS) [10], 16x (4xSS, 4xMS) [11]
export __GL_FSAA_MODE=5
## if set, FSAA comes 2 others variables that have to be set as follow respectively :
## To get FSAA full control: [0] [0]
## To get FSAA if application use multisample : [0] [1]
## To get FSAA controlled by nvidia-setting ignored : [1] [1]
export __GL_FSAAAppControlled=0
export __GL_FSAAAppEnhanced=1
## FXAA, Fast approximate antialiasing: take avantage over traditional multisampling and
## supersampling methods: (0) (1)
#export __GL_ALLOW_FXAA_USAGE=1
## anisotropic texture filtering set : off (0), x2 (1), x4 (2), x8 (3), x16 (4)
export __GL_LOG_MAX_ANISO=4
## synchronize vertical refresh (0), (1)
export __GL_SYNC_TO_VBLANK=1
## if libpthread is not enabled by default (ex: wine),
## it can be force to be set with LD_PRELOAD env variable.
#export LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1
## Perfomance from Nvidia Settings tool can be set to gain graphic performance instead of quality
## Quality (1), Mixed (2), Perfomance (3), otherwise comment it to unset.
export __GL_OpenGLImageSettings=3


## VBLANK can't bet set for multi screen, set here one of them only (if needed):
#export __GL_SYNC_DISPLAY_DEVICE="CRT-0"
## to set or unset X server FBConfig behaviour : unset [0], set [1]
#export __GL_SORT_FBCONFIGS=1
## updating window moves yield, can be useful when some window app have refresh issues,
## value are : normal yield (''), no yield ["NOTHING"], background ["USLEEP"]
#export __GL_YIELD="USLEEP"
## allow unofficial GLX implmentation. Mostly for debug mode or test, but can be useful
## in some case like Wine : off [0], on [1]
#export __GL_ALLOW_UNOFFICIAL_PROTOCOL=1
## if monitor can manage G-SYNC behaviour, this couldimprove display performance: off [0], on [1].
## Disable __GL_SYNC_TO_VBLANK to get faster perfrormance and xorg conf options "stereo", "overlays"
export __GL_GSYNC_ALLOWED=1
## ignore GLGS extension check. Could be useful in case of some missing extension in appli GL sets.
# This will permit the shaders to be successfuly recompile: to off [0], on [1]
export __GL_IGNORE_GLSL_EXT_REQS=0
## config set from winestarter configurator

IL-2 desktop file:
Code: [Select]
[Desktop Entry]
Name=Ил-2 BAT
Exec=wine C:\\\\IL2BAT\\\\il2fb.exe
Type=Application
Path=/home/user/.wine_32/drive_c/IL2BAT
Icon=/home/user/.wine_32/drive_c/IL2BAT/IL2.png
Categories=Game;

https://www.youtube.com/watch?v=CuYSIqC5n60
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Heretic on October 30, 2019, 06:51:14 PM
What are you using for flight controllers and how is that going?

T.16000M and zero issues.


I will show here my way of launching IL-2 BAT.
...

Your bashrc made me try those __GL_ environment variables. Passing them in front of the command to launch IL-2, i.e.

Code: [Select]
env __GL_FSAA_MODE=5 env __GL_LOG_MAX_ANISO=4 env __GL_SYNC_TO_VBLANK=1 env WINEPREFIX="/home/bjoern/.wine_32" wine start "e:/IL-2 1946 BAT/il2fb.exe"
yields driver-based, application specific anti-aliasing!

Thanks for yet another extremely useful hint!
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Phoenix on November 07, 2019, 05:07:28 PM
In case somebody uses a Linux native Opentrack, it has to be launched with
Code: [Select]
env WINEPREFIX="/home/user/.wine_32" /opt/opentrack/bin/opentrackin order to make it recognize the 32bit Wineprefix. (Username and path will of course differ.)
do not do that
you need to use the setting inside the Opentrack ( wine-interface )
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Phoenix on December 23, 2019, 09:29:03 AM
can anyone run IL-2 BAT with wine-v.5 ?
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Heretic on February 08, 2020, 06:06:07 PM
do not do that
you need to use the setting inside the Opentrack ( wine-interface )

My previously built version did not have the updated Wine interface, so I had to set the wineprefix in the startup command.

After recompiling a current build, I can now set the (32 bit) prefix from Opentrack's Wine interface dialog.


can anyone run IL-2 BAT with wine-v.5 ?

Just tested a few missions with it, 5.0-1 seems to run just fine with a 32 bit wineprefix on Arch.

Don't know if this is new, but I had to remove dinput from the default libraries and reset IL-2's dinput to "native, builtin" to get all of my joystick axes and buttons back.
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: GEORGES44 on February 09, 2020, 01:14:04 AM
Don't know if this is new, but I had to remove dinput from the default libraries and reset IL-2's dinput to "native, builtin" to get all of my joystick axes and buttons back.

Not new: see Storebor advice on post #18
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Phoenix on April 08, 2020, 11:35:27 AM
comrades
there was a little problem
I installed 4.14.1 under wine-4.0.3
when connected to the ALEX server ( with CRT=2 ), I get the «TIMEOUT 0»
maybe someone has an idea how to resolve this ?
Code: [Select]
[someone@longstreet IL2]$ wine ./il2fb.exe
0026:fixme:plugplay:build_report_descriptor Clamping joystick to 6 axis
DT Version 1.1.1.0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
RTS Version 2.2
Core Version 2.0
Sound: Native library (build 1.1, target - P IV) loaded.
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
OpenGL provider: Opengl32.dll
OpenGL library:
  Vendor: NVIDIA Corporation
  Render: GeForce GTX 960/PCIe/SSE2
  Version: 4.6.0 NVIDIA 440.82
  Extensions: GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_AMD_vertex_shader_viewport_index GL_AMD_vertex_shader_layer GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_locations GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_sparse_texture2 GL_ARB_sparse_texture_clamp GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_filter_minmax GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_post_depth_coverage GL_EXT_provoking_vertex GL_EXT_raster_multisample GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_sparse_texture2 GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_minmax GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_x11_sync_object GL_EXT_import_sync_object GL_NV_robustness_video_memory_purge GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_EXT_memory_object GL_EXT_memory_object_fd GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_EXT_semaphore GL_EXT_semaphore_fd GL_KHR_shader_subgroup GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NV_blend_minmax_factor GL_NV_blend_square GL_NV_command_list GL_NV_compute_program5 GL_NV_conditional_render GL_NV_conservative_raster GL_NV_conservative_raster_dilate GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_feature_query GL_NV_fence GL_NV_fill_rectangle GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_coverage_to_color GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_fragment_shader_interlock GL_NV_framebuffer_mixed_samples GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_geometry_shader_passthrough GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_memory_attachment GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_path_rendering_shared_edge GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_query_resource GL_NV_query_resource_tag GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_atomic_fp16_vector GL_NV_shader_atomic_int64 GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_shader_subgroup_partitioned GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_rectangle_compressed GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_vdpau_interop GL_NV_vdpau_interop2 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NV_viewport_array2 GL_NV_viewport_swizzle GL_NVX_conditional_render GL_NV_gpu_multicast GL_NVX_progress_fence GL_NVX_gpu_memory_info GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OVR_multiview GL_OVR_multiview2 GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum  WGL_EXT_extensions_string WGL_EXT_swap_control
Size: 1920x1080
ColorBits: 32
DepthBits: 24
StencilBits: 8
isDoubleBuffered: true

*** Looking for Advanced CPU Instructions...
[x] PentiumPro
[x] Multimedia (MMX)
[x] 3D (SSE)
[x] 3D (SSE2)
[-] 3D (3DNow)
ColourBits 32, ABits 8, ZBits 24

*** Looking for Render API Extensions ...
[-] 'GL_EXT_paletted_texture' extension - Palettized textures (8 bit RGBA palette).
[-] 'GL_EXT_compiled_vertex_array' extension - Compiled Vertex arrays.
[-] 'GL_EXT_clip_volume_hint' extension - Frustum clipping optimization.
[x] 'GL_EXT_secondary_color' extension - Secondary Color for 3D fog & specular optimization.
[x] 'GL_EXT_separate_specular_color' extension - SeparateSpecular for 3D fog & specular optimization.
[x] 'GL_ARB_multitexture' extension - Multitexturing.
[x] 'GL_EXT_texture_env_combine' extension - Multitextures advanced combining for special effects.
[x] 'GL_NV_texture_env_combine4' extension - Multitextures advanced combining for special effects.
[x] 'GL_EXT_texture_env_dot3' extension - Dot3 Bump advanced combining.
[x] 'GL_NV_depth_clamp' extension - Corrects Shadows rendering
[x] 'GL_NV_texture_shader' extension - NV Pixel Shaders
[x] 'GL_ARB_texture_compression' extension - Saves texture memory by 400%
[x] 'GL_EXT_texture_filter_anisotropic' extension - Anisotropic texture filtering.

Maximum texture size : 16384
Maximum simultaneous textures :4
MaxAnisotropic (1.0 = none) : 16.000000
 DOT RANGE line   =   mp_dotrange FRIENDLY   DOT 14.000001 COLOR 6.0000005 RANGE 6.0000005 TYPE 6.0000005 ID 6.0000005 NAME 6.0000005 ALTICON 0.1 ALTSYMBOL + ALTCOLOR 0
 DOT RANGE line   =   mp_dotrange FOE  DOT 14.000001 COLOR 6.0000005 RANGE 6.0000005 TYPE 6.0000005 ID 6.0000005 NAME 6.0000005 ALTICON 0.1 ALTSYMBOL + ALTCOLOR 0
Initializing DirectSound playback device...
Primary buffer created.
Playback format is set : sampling rate = 44100, num channels = 2.
Not enought hardware buffers (0), hardware disabled
Buffer caps : Transfer rate = 0, CPU overhead = 0.
Default speaker config is : 1310724.
Direct sound audio device initialized successfully :
DX Version : 7
Hardware    - disabled [buffers : 0]
Extensions  - enabled :
  EAX ver. 1 [ ]  - disabled
  EAX ver. 2 [ ]  - disabled
  EAX ver. 3 [ ]  - disabled
  I3D ver. 2 [ ]  - disabled
  ZoomFX     [ ]  - disabled
  MacroFX    [ ]  - disabled
SIMD render [X]
num channels 16

socket start connecting to 217.78.176.50:21000
socket channel '0' start creating: 217.78.176.50:21000
Initializing DirectSound capture device...
Mixer not accessible...Ok.
Creating capture (size = 32768)...
Capture started !

Chat: --- 159-PhOENIX яЁшёюхфшэшыё  ъ шуЁх.
socket channel '0', ip 217.78.176.50:21000, is complete created
Chat: Server:   FB_PF_v_4.14.1m CRT:2
socketConnection with 217.78.176.50:21000 on channel 0 lost.  Reason: Timeout 0
Capture stopped
DSound capture finished.

socket start connecting to 217.78.176.50:21000
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
socket channel '2' start creating: 217.78.176.50:21000
Initializing DirectSound capture device...
Mixer not accessible...Ok.
Creating capture (size = 32768)...
Capture started !

Chat: --- 159-PhOENIX яЁшёюхфшэшыё  ъ шуЁх.
socket channel '2', ip 217.78.176.50:21000, is complete created
Chat: Server:   FB_PF_v_4.14.1m CRT:2
socketConnection with 217.78.176.50:21000 on channel 2 lost.  Reason: Timeout 0
Capture stopped
DSound capture finished.

002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
socket join to 194.44.192.144:21000 breaked
socket start connecting to 72.26.163.111:21000
socket channel '6' start creating: 72.26.163.111:21000
Initializing DirectSound capture device...
Mixer not accessible...Ok.
Creating capture (size = 32768)...
Capture started !

socket channel '6', ip 72.26.163.111:21000, is complete created
Chat: --- 159-PhOENIX яЁшёюхфшэшыё  ъ шуЁх.
Chat: Server:   Welcome 159-PhOENIX from Russian Federation
Chat: Server:   FB_PF_v_4.14.1m CRT:0
socketConnection with 72.26.163.111:21000 on channel 6 lost.  Reason: Timeout 0
Capture stopped
DSound capture finished.

002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Phoenix on April 08, 2020, 03:13:48 PM
exactly the same problem occurs on servers with CRT=1 and CRT=0
 o_O
Code: [Select]
[someone@longstreet IL2]$ wine ./il2fb.exe
0025:fixme:plugplay:build_report_descriptor Clamping joystick to 6 axis
DT Version 1.1.1.0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
RTS Version 2.2
Core Version 2.0
Sound: Native library (build 1.1, target - P IV) loaded.
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0                                                     
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
OpenGL provider: Opengl32.dll
OpenGL library:
  Vendor: NVIDIA Corporation
  Render: GeForce GTX 960/PCIe/SSE2
  Version: 4.6.0 NVIDIA 440.82
  Extensions: GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_AMD_vertex_shader_viewport_index GL_AMD_vertex_shader_layer GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_locations GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_sparse_texture2 GL_ARB_sparse_texture_clamp GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_filter_minmax GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_post_depth_coverage GL_EXT_provoking_vertex GL_EXT_raster_multisample GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_sparse_texture2 GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_minmax GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_x11_sync_object GL_EXT_import_sync_object GL_NV_robustness_video_memory_purge GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_EXT_memory_object GL_EXT_memory_object_fd GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_EXT_semaphore GL_EXT_semaphore_fd GL_KHR_shader_subgroup GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NV_blend_minmax_factor GL_NV_blend_square GL_NV_command_list GL_NV_compute_program5 GL_NV_conditional_render GL_NV_conservative_raster GL_NV_conservative_raster_dilate GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_feature_query GL_NV_fence GL_NV_fill_rectangle GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_coverage_to_color GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_fragment_shader_interlock GL_NV_framebuffer_mixed_samples GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_geometry_shader_passthrough GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_memory_attachment GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_path_rendering_shared_edge GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_query_resource GL_NV_query_resource_tag GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_atomic_fp16_vector GL_NV_shader_atomic_int64 GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_shader_subgroup_partitioned GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_rectangle_compressed GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_vdpau_interop GL_NV_vdpau_interop2 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NV_viewport_array2 GL_NV_viewport_swizzle GL_NVX_conditional_render GL_NV_gpu_multicast GL_NVX_progress_fence GL_NVX_gpu_memory_info GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OVR_multiview GL_OVR_multiview2 GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum  WGL_EXT_extensions_string WGL_EXT_swap_control
Size: 1920x1080
ColorBits: 32
DepthBits: 24
StencilBits: 8
isDoubleBuffered: true

*** Looking for Advanced CPU Instructions...
[x] PentiumPro
[x] Multimedia (MMX)
[x] 3D (SSE)
[x] 3D (SSE2)
[-] 3D (3DNow)
ColourBits 32, ABits 8, ZBits 24

*** Looking for Render API Extensions ...
[-] 'GL_EXT_paletted_texture' extension - Palettized textures (8 bit RGBA palette).
[-] 'GL_EXT_compiled_vertex_array' extension - Compiled Vertex arrays.
[-] 'GL_EXT_clip_volume_hint' extension - Frustum clipping optimization.
[x] 'GL_EXT_secondary_color' extension - Secondary Color for 3D fog & specular optimization.
[x] 'GL_EXT_separate_specular_color' extension - SeparateSpecular for 3D fog & specular optimization.
[x] 'GL_ARB_multitexture' extension - Multitexturing.
[x] 'GL_EXT_texture_env_combine' extension - Multitextures advanced combining for special effects.
[x] 'GL_NV_texture_env_combine4' extension - Multitextures advanced combining for special effects.
[x] 'GL_EXT_texture_env_dot3' extension - Dot3 Bump advanced combining.
[x] 'GL_NV_depth_clamp' extension - Corrects Shadows rendering
[x] 'GL_NV_texture_shader' extension - NV Pixel Shaders
[x] 'GL_ARB_texture_compression' extension - Saves texture memory by 400%
[x] 'GL_EXT_texture_filter_anisotropic' extension - Anisotropic texture filtering.

Maximum texture size : 16384
Maximum simultaneous textures :4
MaxAnisotropic (1.0 = none) : 16.000000
 DOT RANGE line   =   mp_dotrange FRIENDLY   DOT 14.000001 COLOR 6.0000005 RANGE 6.0000005 TYPE 6.0000005 ID 6.0000005 NAME 6.0000005 ALTICON 0.1 ALTSYMBOL + ALTCOLOR 0
 DOT RANGE line   =   mp_dotrange FOE  DOT 14.000001 COLOR 6.0000005 RANGE 6.0000005 TYPE 6.0000005 ID 6.0000005 NAME 6.0000005 ALTICON 0.1 ALTSYMBOL + ALTCOLOR 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
Initializing DirectSound playback device...
Primary buffer created.
Playback format is set : sampling rate = 44100, num channels = 2.
Not enought hardware buffers (0), hardware disabled
Buffer caps : Transfer rate = 0, CPU overhead = 0.
Default speaker config is : 1310724.
Direct sound audio device initialized successfully :
DX Version : 7
Hardware    - disabled [buffers : 0]
Extensions  - enabled :
  EAX ver. 1 [ ]  - disabled
  EAX ver. 2 [ ]  - disabled
  EAX ver. 3 [ ]  - disabled
  I3D ver. 2 [ ]  - disabled
  ZoomFX     [ ]  - disabled
  MacroFX    [ ]  - disabled
SIMD render [X]
num channels 16

socket start connecting to 93.81.252.64:2100
socket channel '0' start creating: 93.81.252.64:2100
Initializing DirectSound capture device...
Mixer not accessible...Ok.
Creating capture (size = 32768)...
Capture started !

Chat: --- 159-PhOENIX яЁшёюхфшэшыё  ъ шуЁх.
socket channel '0', ip 93.81.252.64:2100, is complete created
Chat: Server:   яюфъы■ўшыё  159-PhOENIX шч N/A, N/A. ServStat, forum - il2sc.denw.ru
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
Chat: Server:   FB_PF_v_4.14.1m CRT:1
socketConnection with 93.81.252.64:2100 on channel 0 lost.  Reason: Timeout 0
Capture stopped
DSound capture finished.

002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
[someone@longstreet IL2]$ wine ./il2fb.exe
0025:fixme:plugplay:build_report_descriptor Clamping joystick to 6 axis
DT Version 1.1.1.0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
RTS Version 2.2
Core Version 2.0
Sound: Native library (build 1.1, target - P IV) loaded.
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
OpenGL provider: Opengl32.dll
OpenGL library:
  Vendor: NVIDIA Corporation
  Render: GeForce GTX 960/PCIe/SSE2
  Version: 4.6.0 NVIDIA 440.82
  Extensions: GL_AMD_multi_draw_indirect GL_AMD_seamless_cubemap_per_texture GL_AMD_vertex_shader_viewport_index GL_AMD_vertex_shader_layer GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_conservative_depth GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_ES2_compatibility GL_ARB_ES3_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_locations GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_sparse_buffer GL_ARB_sparse_texture GL_ARB_sparse_texture2 GL_ARB_sparse_texture_clamp GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_filter_minmax GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_texture_float GL_ATI_texture_mirror_once GL_S3_s3tc GL_EXT_texture_env_add GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_Cg_shader GL_EXT_depth_bounds_test GL_EXT_direct_state_access GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXTX_framebuffer_mixed_formats GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_packed_pixels GL_EXT_pixel_buffer_object GL_EXT_point_parameters GL_EXT_polygon_offset_clamp GL_EXT_post_depth_coverage GL_EXT_provoking_vertex GL_EXT_raster_multisample GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_shader_objects GL_EXT_separate_specular_color GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_sparse_texture2 GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_buffer_object GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_latc GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_filter_minmax GL_EXT_texture_integer GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback2 GL_EXT_vertex_array GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_EXT_window_rectangles GL_EXT_x11_sync_object GL_EXT_import_sync_object GL_NV_robustness_video_memory_purge GL_IBM_rasterpos_clip GL_IBM_texture_mirrored_repeat GL_KHR_context_flush_control GL_KHR_debug GL_EXT_memory_object GL_EXT_memory_object_fd GL_KHR_parallel_shader_compile GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_EXT_semaphore GL_EXT_semaphore_fd GL_KHR_shader_subgroup GL_KTX_buffer_region GL_NV_alpha_to_coverage_dither_control GL_NV_bindless_multi_draw_indirect GL_NV_bindless_multi_draw_indirect_count GL_NV_bindless_texture GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent GL_NV_blend_minmax_factor GL_NV_blend_square GL_NV_command_list GL_NV_compute_program5 GL_NV_conditional_render GL_NV_conservative_raster GL_NV_conservative_raster_dilate GL_NV_copy_depth_to_color GL_NV_copy_image GL_NV_depth_buffer_float GL_NV_depth_clamp GL_NV_draw_texture GL_NV_draw_vulkan_image GL_NV_ES1_1_compatibility GL_NV_ES3_1_compatibility GL_NV_explicit_multisample GL_NV_feature_query GL_NV_fence GL_NV_fill_rectangle GL_NV_float_buffer GL_NV_fog_distance GL_NV_fragment_coverage_to_color GL_NV_fragment_program GL_NV_fragment_program_option GL_NV_fragment_program2 GL_NV_fragment_shader_interlock GL_NV_framebuffer_mixed_samples GL_NV_framebuffer_multisample_coverage GL_NV_geometry_shader4 GL_NV_geometry_shader_passthrough GL_NV_gpu_program4 GL_NV_internalformat_sample_query GL_NV_gpu_program4_1 GL_NV_gpu_program5 GL_NV_gpu_program5_mem_extended GL_NV_gpu_program_fp64 GL_NV_gpu_shader5 GL_NV_half_float GL_NV_light_max_exponent GL_NV_memory_attachment GL_NV_multisample_coverage GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_parameter_buffer_object GL_NV_parameter_buffer_object2 GL_NV_path_rendering GL_NV_path_rendering_shared_edge GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_primitive_restart GL_NV_query_resource GL_NV_query_resource_tag GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_sample_locations GL_NV_sample_mask_override_coverage GL_NV_shader_atomic_counters GL_NV_shader_atomic_float GL_NV_shader_atomic_fp16_vector GL_NV_shader_atomic_int64 GL_NV_shader_buffer_load GL_NV_shader_storage_buffer_object GL_NV_shader_subgroup_partitioned GL_NV_texgen_reflection GL_NV_texture_barrier GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_multisample GL_NV_texture_rectangle GL_NV_texture_rectangle_compressed GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_transform_feedback2 GL_NV_uniform_buffer_unified_memory GL_NV_vdpau_interop GL_NV_vdpau_interop2 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_attrib_integer_64bit GL_NV_vertex_buffer_unified_memory GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_NV_viewport_array2 GL_NV_viewport_swizzle GL_NVX_conditional_render GL_NV_gpu_multicast GL_NVX_progress_fence GL_NVX_gpu_memory_info GL_NVX_nvenc_interop GL_NV_shader_thread_group GL_NV_shader_thread_shuffle GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_OVR_multiview GL_OVR_multiview2 GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum  WGL_EXT_extensions_string WGL_EXT_swap_control
Size: 1920x1080
ColorBits: 32
DepthBits: 24
StencilBits: 8
isDoubleBuffered: true

*** Looking for Advanced CPU Instructions...
[x] PentiumPro
[x] Multimedia (MMX)
[x] 3D (SSE)
[x] 3D (SSE2)
[-] 3D (3DNow)
ColourBits 32, ABits 8, ZBits 24

*** Looking for Render API Extensions ...
[-] 'GL_EXT_paletted_texture' extension - Palettized textures (8 bit RGBA palette).
[-] 'GL_EXT_compiled_vertex_array' extension - Compiled Vertex arrays.
[-] 'GL_EXT_clip_volume_hint' extension - Frustum clipping optimization.
[x] 'GL_EXT_secondary_color' extension - Secondary Color for 3D fog & specular optimization.
[x] 'GL_EXT_separate_specular_color' extension - SeparateSpecular for 3D fog & specular optimization.
[x] 'GL_ARB_multitexture' extension - Multitexturing.
[x] 'GL_EXT_texture_env_combine' extension - Multitextures advanced combining for special effects.
[x] 'GL_NV_texture_env_combine4' extension - Multitextures advanced combining for special effects.
[x] 'GL_EXT_texture_env_dot3' extension - Dot3 Bump advanced combining.
[x] 'GL_NV_depth_clamp' extension - Corrects Shadows rendering
[x] 'GL_NV_texture_shader' extension - NV Pixel Shaders
[x] 'GL_ARB_texture_compression' extension - Saves texture memory by 400%
[x] 'GL_EXT_texture_filter_anisotropic' extension - Anisotropic texture filtering.

Maximum texture size : 16384
Maximum simultaneous textures :4
MaxAnisotropic (1.0 = none) : 16.000000
 DOT RANGE line   =   mp_dotrange FRIENDLY   DOT 14.000001 COLOR 6.0000005 RANGE 6.0000005 TYPE 6.0000005 ID 6.0000005 NAME 6.0000005 ALTICON 0.1 ALTSYMBOL + ALTCOLOR 0
 DOT RANGE line   =   mp_dotrange FOE  DOT 14.000001 COLOR 6.0000005 RANGE 6.0000005 TYPE 6.0000005 ID 6.0000005 NAME 6.0000005 ALTICON 0.1 ALTSYMBOL + ALTCOLOR 0
002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
Initializing DirectSound playback device...
Primary buffer created.
Playback format is set : sampling rate = 44100, num channels = 2.
Not enought hardware buffers (0), hardware disabled
Buffer caps : Transfer rate = 0, CPU overhead = 0.
Default speaker config is : 1310724.
Direct sound audio device initialized successfully :
DX Version : 7
Hardware    - disabled [buffers : 0]
Extensions  - enabled :
  EAX ver. 1 [ ]  - disabled
  EAX ver. 2 [ ]  - disabled
  EAX ver. 3 [ ]  - disabled
  I3D ver. 2 [ ]  - disabled
  ZoomFX     [ ]  - disabled
  MacroFX    [ ]  - disabled
SIMD render [X]
num channels 16

socket start connecting to 13.48.85.194:21000
socket channel '0' start creating: 13.48.85.194:21000
Initializing DirectSound capture device...
Mixer not accessible...Ok.
Creating capture (size = 32768)...
Capture started !

Chat: --- 159-PhOENIX яЁшёюхфшэшыё  ъ шуЁх.
socket channel '0', ip 13.48.85.194:21000, is complete created
Chat: Server:   FB_PF_v_4.14.1m CRT:0
socketConnection with 13.48.85.194:21000 on channel 0 lost.  Reason: Timeout 0
Capture stopped
DSound capture finished.

002d:err:msvcrt:MSVCRT__invalid_parameter (null):0 (null): (null) 0
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: SAS~Storebror on April 09, 2020, 01:10:55 AM
there was a little problem
I installed 4.14.1
'nuff being said.
Installing malware gets you misbehaving systems.

]cheers[
Mike
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: MadFox on April 06, 2022, 12:27:11 PM
Now You can run BAT on Linux and it's fantastic! :)

I followed all your suggestions including the 32bit system.
Debian 11, Wine 5.
IL-2 4.12.2 runs perfectly, like a charm.
SAS works just as fine out of IL-2 Selector.exe
BAT didn't start at the beginning.
Really couldn't figure out. I tried different solutions.

Thank you very much for your precious advice. Now Red Core works! I'm so happy!
The crucial bit of information:

Switch to the "Libraries" tab and add the following library overrides:
"dinput" as "Native, Builtin"; "msvcp71" as "Native" and "msvcr71" as "Native".

Thank you very very much!
Title: Re: Anyone running B.A.T. on Linux? [solved]
Post by: Heretic on May 03, 2023, 04:09:10 PM
I found that newer WINE versions (from version 8 on) don't work well with IL-2 and throttle and rudder devices, so I wrote a startup script that runs a local, system-independent WINE binary.
This was only ever tested on my Arch Linux install, so I don't know if other distros play well with this. But I guess as long as there is a working WINE installation on the system with all its dependencies, this should very likely work just fine.

Code: [Select]
#! /bin/bash

wineruntime="$PWD/z_wine-7.20-1/usr/"
export WINEPREFIX="$PWD/z_wine_prefix"

if [ $# -eq 0  ]; then
    "$wineruntime/bin/wine" ./il2fb.exe
else
    if [ $1 == "winecfg" ]; then "$wineruntime/bin/wine" winecfg; fi
    if [ $1 == "regedit" ]; then "$wineruntime/bin/wine" regedit; fi
    if [ $1 == "control" ]; then "$wineruntime/bin/wine" control; fi
    if [ $1 == "winetricks" ]; then winetricks; fi
fi

Save the code above in a text file named "z_IL-2_BAT.sh" (or whatever else you wish to call it) to produce a bash script. Don't forget to make the script file executable and move it into your IL-2 1946 folder.

The last "good" WINE binary for me is 7.20-1 (wine-7.20-1-x86_64.pkg.tar.zst ), which I've obtained from the Arch Linux package archive (https://archive.archlinux.org/packages/w/wine/).
Unzip the package, then create a folder named "z_wine-7.20-1" in your main IL-2 folder (can be named anything you like if you adapt the script accordingly). Move the "usr" folder from the unzipped package into "z_wine-7.20-1".

Run the script from a terminal inside your IL-2 folder, i.e. _z_IL-2_BAT.sh_. A wineprefix should now be created in a "z_wine_prefix" folder inside your IL-2 folder. IL-2 won't launch properly yet, so step two is running Winecfg for the prefix, which is part of this launch parameter overview:

z_IL-2_BAT.sh winecfg launches Winecfg, in which I've set the following:


* I think these are required for Reshade.

z_IL-2_BAT.sh regedit will launch the WINE prefix' registry editor. I can't really remember if there were some changes required here, but since "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\winebus" was the last key I had open I think I've checked that the "Enable SDL" DWORD value was at "1".

z_IL-2_BAT.sh control launches the control panel. My Thrustmaster T16000M FCS shows up here (stick and throttle and rudder), although not all axes are displayed due to some WINE limitation. IL-2 can use them just fine though.

z_IL-2_BAT.sh winetricks launches Winetricks (if you have this installed) with the prefix for IL-2. I did not need to install any extra Windows components though, so this was more of a precautionary addition.

I've been running this setup for a while now. The localized WINE binary and WINE prefix essentially creates a time capsule for IL-2 so that there won't be any compatibility headaches with current and future WINE releases.
Another advantage is that, if you screw something up, you can just start over without having to mess with your system's WINE prefix.
Just make sure to exclusively run IL-2 from the script.

Things I have working:


Hope this is of use to somebody.