Difference between revisions of "DCS on linux"

From DCS World Wiki - Hoggitworld.com
Line 89: Line 89:
 
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.
 
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.
  
Please note: this article is updated from time to time, but not very frequently. Feedback can be provided through Matrix. I'm no longer active on Reddit.
+
Final remarks:
 
+
1. This article is updated from time to time, but not very frequently. See revision history for authors.
Call to action: This article describes steps to install DCS on linux mainly for Proton/steam users and refers to external sources for installation via a Wine prefix. Please consider adding to this article if you have experience installing DCS standalone with Wine.
+
2. This article describes steps to install DCS on linux mainly for Proton/steam users and refers to external sources for installation via a Wine prefix. Please consider adding to this article if you have experience installing DCS standalone with Wine.

Revision as of 18:05, 17 February 2024

DCS can be made to run on linux. You will need to use either wine or proton to make it work, as there is no native client. Overall it does work reasonably well. Compared to running DCS on Windows, the performance is slightly reduced, but decent. It doesn't matter if you use Gnome or KDE, but please be aware that there are many hotkeys in Gnome which use modifiers that collide with DCS default key assignments. DCS is known to run well on Ubuntu, OpenSUSE and Fedora and is likely to run well on many other distributions also.

Please note that there are some long standing issues with DCS when used on linux and that some distributions and/or installations have their own issues. See the FAQ for more info.


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. See: https://lutris.net/games/dcs-world/ Please note that scripts tend to get out of date over time.

Using Proton

This requires that you have your games on Steam.

At the time of writing 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.

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] 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 with certain modules. For instance, in the Ka-50 III the Skval is not usable because of this problem. Similarly, the RWR in the F-16C also suffer from a similar problem. You can fix it. A re-export of the image file might fix this [2] Unfortunately this fix breaks the integrity check for multiplayer.

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.

Q: Where can I get help with installing DCS on linux?

A: You can get help/support for running DCS on linux on https://old.reddit.com/r/hoggit and on the matrix channel linked below. Please note that this is on a best effort basis. In the end you still have to fix it yourself, but others might come up with suggestions you had not thought of yet)

VR

This can be made to work, but it depends on the HMD support for linux. The requirement is that your HMD can run with OpenXR. The Valve Index and some standalone HMDs with linux support are your best bet. Certain WMR HMDs can be made to run trough Monado[3], but often support for controllers is lacking. Ask around if you need help.

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.

Final remarks: 1. This article is updated from time to time, but not very frequently. See revision history for authors. 2. This article describes steps to install DCS on linux mainly for Proton/steam users and refers to external sources for installation via a Wine prefix. Please consider adding to this article if you have experience installing DCS standalone with Wine.