Arma 3: Play on Linux
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 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.
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.
At the time of writing, the default Arma 3 game launcher works with Proton, but some glitches may occur. To run the game smoothly, add -noLauncher to the Launch Options under "Properties" → "General".
It is now possible to run Arma 3 under Proton.
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.
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.
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.
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.
- Launch Arma 3 via Steam normally (if you want to run server and client on the same PC).
- Find your Arma 3 installation folder by using your right mouse button to click on the game name in Steam's library and go to the Properties click on Local files tab, then click on Browse local files button to open the file browser at that location. You should also put the server.cfg file there. Default installation folder is: "~/.steam/steam/steamapps/common/Arma 3".
- Open Terminal and type in: "cd 'your Arma 3 path'" and then press Enter. It should change to your game folder.
- Type in and execute: "export LD_LIBRARY_PATH="/home/user/.steam/ubuntu12_32""
- Type in and execute: "./arma3 -server -config=server.cfg"
Your Dedicated Server should run alongside the normal game now. Note - you can skip #4 by entering "export LD_LIBRARY_PATH="/home/user/.steam/ubuntu12_32" directly into the ~/.bashrc file.