DCS on linux
DCS can be made to run on linux. You will need to use either wine or proton. Please note that there are some long standing issues with DCS when used on linux. See the FAQ for more info.
Contents
Setting Up DCS
Using Wine
You can check out https://github.com/TheZoq2/dcs_on_linux for tips and tricks for running DCS Standalone on linux.
You can also try to use Lutris to make installation easier. https://lutris.net/games/dcs-world/ although scripts tend to get out of date over time.
Using Proton
This requires that you have your games on Steam.
As of February 2024 the following steps are confirmed to be working on OpenSUSE Tumbleweed / KDE and Kubuntu 22.04. You might notice here that the descriptopn is basically about linux with KDE. The reason is that this is what you'll want to use anyway, as there are a lot of keystrokes in DCS which intefere with Gnome's hotkeys.
Prerequisites:
You need to install Protontricks so you can install extra libraries into the Proton prefix for DCS. This is available for most linux distributions, but is not always part of the distribution's own packages. It's best to first check the package manager to see if it is available. If it is not, then look for alternative ways to install it for your specific distribution using your favorite search engine.
Install steps:
1. Enable compatibility mode for DCS in the properties by going into the compatibility tab and enabling the tickbox in the settings. Setting Proton Experimental as the version usually works.[^1]
2. If you get an error with compiling the shaders during startup, you'll need to install the proper d3d compiler into the Proton prefix for the game. The version required changes from time to time. At the time of writing, the version to use is "d3dcompiler_47". You can use following protontricks command to fix the compiler problem:protontricks 223750 d3dcompiler_47
At present there is a very tiny proportion of people whom have reported not to need this.
3. Optionally you might need to go to the General tab, and set up the following launch options:WINEDLLOVERRIDES='wbemprox=n' %command%
DCS should now start up normally.
FAQ / troubleshooting
Q: I have my Proton version set to 'Experimental', as was recommended. Now my DCS install refuses to work after installing a Proton update. What should I do?
A: Sometimes a never version of Proton, which gets installed automatically if you have the version selection set to experimental, causes things to break. If you find all of a sudden that you can't get DCS running, and you have recently installed an update for Proton while having Experimental selected as the version to use, then consider running one of the fixed versions of Proton available in the drop-down list under the compatibility options.
Q: I get the error "Authorization error. Error code is: 500" while starting up DCS and I don´t have access to my modules now?
A: This is a general issue with DCS, but it is more prevalent on linux. DCS checks if your clock matches the reported time zone for your IP address. On linux the clock might be skewed because it handles time settings a little differently than windows does. Make sure you have your clock set up correctly before starting DCS. [1] for a more elaborate explanation. If you dual boot, then make sure that your bios uses UTC and that windows is set up to use an offset to UTC instead of setting the time in the bios clock. (search for "How to Fix Windows and Linux Showing Different Times" if you don't know how to)
Q: There are textures which are not shown properly while in the game.
A: Yes, this happens in some places. For instance, the Skval in the Ka-50 III is not usable because of this, unless you want to fix it yourself. unfortunately this breaks the integrity check. Similarly, the RWR in the F-16C also suffer from similar problems. A re-export of the image file might fix this [2]
Q: The contrails are puffy?
A: This is a known and persistent problem. Unfortunately there is no fix available. Hopefully this will be fixed with the introduction of Vulkan to DCS.
Q: One of my input devices is not showing up in DCS, even though I can see it in the game controller application in KDE?
A: This is a problem with how the udev subsystem in linux scans for devices and categorises them and how wine/proton scans for devices. You will need to add a rule which tells udev to recogise the device as a joystick, so that wine/proton knows it is a joystick device. Add a file to "/etc/udev/rules.d/". The file needs to have a name starting with a number, and this number actually means something, as it denotes the priority of the file in the udev loading sequence. This can be different from system to system, but somewhere in the 30 to 50 range seems to work well.
As an example for the Saitek Pro Flight Rudder Pedals, you can use the following: Create a file called "51-rudder-pedals.rules", and inside the file, use the following contents:
SUBSYSTEMS=="input", ATTRS{name}=="Saitek Saitek Pro Flight Rudder Pedals", ENV{ID_INPUT_JOYSTICK}="1"
Of course the "name" attribute will be different for each device. You'll have to add a new line for every device you want to rename. Don't forget to reload udev rules after creating this one. If you don't know how to, you can also restart the computer to get it to work.
OpenTrack
Getting opentrack to run is a bit tricky. The best way to get it working is to use a double installation. One inside the wine or proton prefix, and one outside the prefix. You then use the local loop network connection for data transfer. At present the option to use opentrack with the steam prefix directly seems to be broken.
Apparently, opentrack can de made to run under Proton using a tool called SteamTinkerLink to run multiple programs inside the same prefix.
SRS
Some have reported that SRS can work if installed via wine or proton, but there are no good guides on this which are current. Ask around to find out more.
Useful resources:
https://github.com/TheZoq2/dcs_on_linux : Git documentation for running DCS using Wine.
https://www.protondb.com/app/223750 : ProtonDB page for DCS.
https://matrix.to/#/#dcs-on-linux:matrix.org : A matrix space to discuss running DCS on linux. Matrix is kind of a counterpart to Discord that does respect your privacy. You can get help/support for running DCS on linux on a best effort basis. (in the end you still have to fix it yourself, but they might come up with suggestions you had not thought of yet)
Feedback can be provided through Matrix. I'm no longer active on Reddit.