Play on Linux – Arma 3
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.
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.
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" → "General".
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 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
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.