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.
#! /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.
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:
- Applications: Windows Version: Windows 7
- Libraries: d3dcompiler_47 (native)*, dinput (native, builtin), msvcp71 (native), msvcr71 (native), opengl32 (native, builtin)*
- Desktop integration: Unchecked "Manage file associations"
* 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:
- BAT 4.2.2H4 (Installers can be run from system WINE, you just need to point the to the IL-2 installation folder)
- Reshade 5.8.0 (The installer can be run fromm system WINE. Point it to your IL-2 folder and that just may be it. Maybe you'll need to install the shaders separately. Can't remember, it's been a while.)
- My opentrack fork with extended WINE/Proton capabilities. You will need to compile this yourself first. Once up and running, point it to the WINE output to "[Path to IL-2 folder]/z_wine_prefix" and "[Path to IL-2 folder]/z_wine-7.20-1/usr/" inside your IL-2 folder and select "Both" and "opentrack-wrapper-wine.exe.so. I use AITrack for Linux with a regular webcam as input for Opentrack (via "UDP over network"; make sure to pick the same port) and it works beautifully in IL-2.
- JSGME (Can be run from system WINE.)
- DCG, some static campaigns, some extra mods. All work.
Hope this is of use to somebody.