Play on Linux – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
(Page creation - thanks to, ahem, 'Dildo Sagbag' on Discord for the entirety of it!)
 
m (Fix link)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{TOC|side||2}}
{{TOC|side||2}}
This article covers the basic setup and troubleshooting of {{arma3}} on Proton. Using Proton, it is possible to run the latest version of {{arma3}} on a Linux client.
This article covers the basic setup and troubleshooting of {{arma3}} on Proton. Using Proton, it is possible to run the latest version of {{arma3}} on a Linux client. To setup {{arma3}} on a Linux server see [[Arma 3: Dedicated Server]].
To run the Linux port of {{arma3}} see [[Arma 3: Experimental Ports]].
 
To setup {{arma3}} on a Linux server see [[Arma Dedicated Server]].
Note that Mikero's tools '''also''' run on Mac and Linux and Arm OS.


Proton is a tool that enables compatibility with Windows-exclusive games on Linux.
Proton is a tool that enables compatibility with Windows-exclusive games on Linux.
On the [https://www.protondb.com/app/107410 ProtonDB page], {{arma3}} is ranked "Gold" in compatibility. This means the game requires tweaking on Linux to run smoothly.
On the {{Link|link= https://www.protondb.com/app/107410 |text= ProtonDB page}}, {{arma3}} is ranked "Gold" in compatibility. This means the game requires tweaking on Linux to run smoothly.{{Feature|informative|See also:
* [[Arma 3: Play on Mac]]
* [[Arma 3: Experimental Ports]]
}}




Line 13: Line 16:
Open Steam client, click on "Steam" on the top-left, click on "Settings" then click on "Steam Play" at the bottom of the list.
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.
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 6.3-8.
A recommended version of Proton is Proton 7.0-1.


[[File:arma3_proton-steamplay.png|center]]
[[File:arma3_proton-steamplay.png|center]]
Line 25: Line 28:
== Launch Options ==
== Launch Options ==


At the time of writing, the default {{arma3}} game launcher is incompatible with Linux.
At the time of writing, the default {{arma3}} game launcher works with Proton, but some glitches may occur.
To run the game smoothly, add {{hl|-noLauncher}} to the Launch Options under "Properties" then "General".
To run the game smoothly, add {{hl|-noLauncher}} to the Launch Options under "Properties" "General".


[[File:arma3_proton-launch-options.png|center]]
[[File:arma3_proton-launch-options.png|center]]
Line 42: Line 45:
== Mods ==
== Mods ==


Most mods will work out of the box for {{arma3}} on Proton. TFAR/ACRE2 need extra setup to work. See [https://ninelore.github.io/projects/#arma-on-linux Ninelore's guide] on setting up Teamspeak and TFAR/ACRE2 for {{arma3}} on Proton.
Most mods will work out of the box for {{arma3}} on Proton. TFAR / ACRE2 need extra setup to work. See {{Link|link= https://ninelore.org/project/armaonlinux/ |text= ninelore's guide}} on setting up Teamspeak and TFAR / ACRE2 for {{arma3}} on Proton.<br>
Alternative launchers can be used to manage one's mods and launch options. See [https://github.com/muttleyxd/arma3-unix-launcher Muttley's Arma 3 Unix Launcher] for one such launcher.
Alternative launchers can be used to manage mods and launch options. See {{Link|link= https://github.com/muttleyxd/arma3-unix-launcher |text= 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.
It can be installed from the project's "Releases" page or in one's respective package repository.




== Troubleshooting ==
== Troubleshooting ==
{{Feature|important|Note that for every fix using {{hl|%command%}}, the {{hl|-noLauncher}} option should be used ''after'' it in order to be considered.}}


=== Mouse Escapes Fullscreen Window ===
=== 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 {{hl|protontricks 107410 winecfg}} in the terminal.
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.<br>
To open winecfg, run {{hl|protontricks 107410 winecfg}} in the terminal.


=== Crackling Audio ===
=== Crackling Audio ===


When certain loud sounds play in-game, the audio may crackle. There are several solutions.
When certain loud sounds play in-game, the audio may crackle. There are several solutions.
Add {{hl|1=WINEDLLOVERRIDES="xaudio2_7=n" %command%}} to the Steam launch options.
* Add {{hl|1=WINEDLLOVERRIDES="xaudio2_7=n" %command%}} to the Steam launch options (e.g {{hl|1=WINEDLLOVERRIDES="xaudio2_7=n" %command% -noLauncher}}).
Run {{hl|protontricks 107410 winecfg}} in the terminal to configure the game and install xaudio2_7.
* Run {{hl|protontricks 107410 winecfg}} in the terminal to configure the game and install xaudio2_7.
Switch to the performance branch. See [[Arma 3: Steam Branches]].
Switch to the performance branch. See [[Arma 3: Steam Branches]].


Line 64: Line 69:
In some cases, the game may freeze, hang, crash or otherwise fail to progress past the loading screen after mission launch.
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:
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 {{hl|1=PROTON_NO_ESYNC=1 %command%}}. Proton Esync can also be disabled in the {{arma3}} Unix Launcher under {{hl|Parameters >> Basic >> Proton: Disable esync}}.
* Disable Proton Esync by adding {{hl|1=PROTON_NO_ESYNC=1 %command%}} (e.g {{hl|1=PROTON_NO_ESYNC=1 %command% -noLauncher}}). Proton Esync can also be disabled in the {{arma3}} Unix Launcher under {{hl|Parameters >> Basic >> Proton: Disable esync}}.
* Setting CPU count to 1 may fix the issue. Add {{hl|%command% -cpuCount=1}} to the launch options. This can also be done in the {{arma3}} Unix Launcher under {{hl|Parameters >> Advanced >> CPU Count}} set to 1.
* Setting CPU count to 1 may fix the issue. Add {{hl|1=%command% -cpuCount=1}} to the launch options (e.g {{hl|1=%command% -cpuCount=1 -noLauncher}}). This can also be done in the {{arma3}} Unix Launcher under {{hl|Parameters >> Advanced >> CPU Count}} set to 1.
Both of these solutions may hinder your performance as they are limiting CPU usage.
Both of these solutions may hinder your performance as they are limiting CPU usage.
== Dedicated Servers ==
=== Method 1 ===
# Launch {{arma3}} via Steam normally (if you want to run server and client on the same PC).
# Find your {{arma3}} 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 {{arma3}} 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.
=== Method 2 ===
{{Link|Arma 3: Dedicated Server#Instructions (Linux o/s)}}




== See Also ==
== See Also ==


* [https://ninelore.github.io/projects/#arma-on-linux Setting up Arma 3 with TFAR/ACRE2]
* {{Link|https://ninelore.github.io/project/armaonlinux/|Setting up Arma 3 with TFAR / ACRE2}}
* [https://armaworld.de/forum/thread/4992-ger-eng-arma-on-linux-ninelore-s-guide-acre-tfar-working/?postID=39909#post39909 German Translation]
* {{Link|https://armaworld.de/forum/thread/4992-ger-eng-arma-on-linux-ninelore-s-guide-acre-tfar-working/?postID{{=}}39909#post39909|German Translation}}
* [https://github.com/muttleyxd/arma3-unix-launcher Arma 3 Unix Launcher]
* {{Link|https://github.com/muttleyxd/arma3-unix-launcher|Arma 3 Unix Launcher}}




[[Category:Arma 3: Tutorials]]
[[Category:Arma 3: Tutorials]]

Latest revision as of 17:31, 26 July 2024

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 3: Dedicated Server.

Note that Mikero's tools also run on Mac and Linux and Arm OS.

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 works with Proton, but some glitches may occur. To run the game smoothly, add -noLauncher to the Launch Options under "Properties" → "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 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.


Dedicated Servers

Method 1

  1. Launch Arma 3 via Steam normally (if you want to run server and client on the same PC).
  2. 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".
  3. Open Terminal and type in: "cd 'your Arma 3 path'" and then press Enter. It should change to your game folder.
  4. Type in and execute: "export LD_LIBRARY_PATH="/home/user/.steam/ubuntu12_32""
  5. 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.

Method 2

Arma 3: Dedicated Server - Instructions (Linux o/s)


See Also