Play on Linux – Arma 3

From Bohemia Interactive Community
Revision as of 17:33, 22 February 2022 by Lou Montana (talk | contribs) (Change Proton version 6.3-8 → 7.0-1)
Jump to navigation Jump to search

This article covers the basic setup and troubleshooting of Arma 3 on Proton. Using Proton, it is possible to run the latest version of Arma 3 on a Linux client. To run the Linux port of Arma 3 see Arma 3: Experimental Ports. To setup Arma 3 on a Linux server see Arma Dedicated Server.

Proton is a tool that enables compatibility with Windows-exclusive games on Linux. On the ProtonDB page, Arma 3 is ranked "Gold" in compatibility. This means the game requires tweaking on Linux to run smoothly.


Proton Setup

To use Proton, it has to be enabled for all Steam library titles. Open Steam client, click on "Steam" on the top-left, click on "Settings" then click on "Steam Play" at the bottom of the list. Check the box for "Enable Steam Play for all other titles" and select a version of Proton. Avoid Proton Experimental as that can change overtime. A recommended version of Proton is Proton 7.0-1.

arma3 proton-steamplay.png

To enable Proton for Arma 3, go to Steam, right-click on Arma 3, and click on "Properties" to see the game's properties. Go to "Compatibility", check the box for "Force the use of a specific Steam Play compatibility tool" and select Proton again.

arma3 proton-compatibility.png


Launch Options

At the time of writing, the default Arma 3 game launcher is incompatible with Linux. To run the game smoothly, add -noLauncher to the Launch Options under "Properties" then "General".

arma3 proton-launch-options.png

It is now possible to run Arma 3 under Proton.


BattlEye

Arma 3 uses BattlEye to secure its servers. By default, Arma 3 on Proton will not work on servers that use BattlEye. To enable BattlEye compatibility, download and install the "Proton BattlEye Runtime" tool under the "Tools" section in your steam library. Once installed, Arma 3 on Proton will be compatible with BattlEye-secured servers.


Mods

Most mods will work out of the box for Arma 3 on Proton. TFAR/ACRE2 need extra setup to work. See Ninelore's guide on setting up Teamspeak and TFAR/ACRE2 for Arma 3 on Proton. Alternative launchers can be used to manage one's mods and launch options. See Muttley's Arma 3 Unix Launcher for one such launcher. It can be installed from the project's "Releases" page or in one's respective package repository.


Troubleshooting

Note that for every fix using %command%, the -noLauncher option should be used after it in order to be considered.

Mouse Escapes Fullscreen Window

In some cases, the mouse may leave the fullscreen application. This often happens with multi-monitor setups. The solution is to enable "Automatically capture the mouse in full screen windows" in winecfg.
To open winecfg, run protontricks 107410 winecfg in the terminal.

Crackling Audio

When certain loud sounds play in-game, the audio may crackle. There are several solutions.

  • Add WINEDLLOVERRIDES="xaudio2_7=n" %command% to the Steam launch options (e.g WINEDLLOVERRIDES="xaudio2_7=n" %command% -noLauncher).
  • Run protontricks 107410 winecfg in the terminal to configure the game and install xaudio2_7.

Switch to the performance branch. See Arma 3: Steam Branches.

Mission Start Issues

In some cases, the game may freeze, hang, crash or otherwise fail to progress past the loading screen after mission launch. The possible cause of the issue has to do with how wine handles threads. There are a couple of solutions:

  • Disable Proton Esync by adding PROTON_NO_ESYNC=1 %command% (e.g PROTON_NO_ESYNC=1 %command% -noLauncher). Proton Esync can also be disabled in the Arma 3 Unix Launcher under Parameters >> Basic >> Proton: Disable esync.
  • Setting CPU count to 1 may fix the issue. Add %command% -cpuCount=1 to the launch options (e.g %command% -cpuCount=1 -noLauncher). This can also be done in the Arma 3 Unix Launcher under Parameters >> Advanced >> CPU Count set to 1.

Both of these solutions may hinder your performance as they are limiting CPU usage.


See Also