Bohemia Interactive ARMA 3

About
Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war.

The Linux port looks to be a native port (not using Wine), with the binary executable named "arma.i386".

The following features have not been ported.
 * BattlEye - Good luck finding any multi-player servers not mandating BattlEye!
 * Controller Input Detection - There is apparently no auto detection for for your joystick or TrackIR device! Nor does it look like any devices are even operable aside from keyboard input.  (Might try games-util/qjoypad, and report if successful.)
 * No Advanced Flight Model - For those of us whom enjoy breaking tail rotors or main rotors, this is going to make flying boring. Not too mention, requiring a magnifying glass to read the instrument panel!
 * No Launcher - I and most others probably enjoy using command line instead, making debugging easier. This is probably the only item a Linux user can easily do without.

Install Steam
Install steam using "emerge games-util/steam-meta", or following the appropriate Gentoo Wiki for installing the Steam client.

Install ARMA 3
Once you have Steam installed and have either created or logged into your existing account, search for the ARMA 3 game clicking "Games" > "View Games Library" > "SteamOS + Linux" or if you haven't purchased the game, then purchase the game clicking "STORE" just below the top menu bar. The initial download requires 9-12 hours using DSL.

GPU Driver Requirements
ARMA 3 requires OpenGL 4, and doesn't appear to be GPU bound due to the various driver implementations.

NVIDIA: "Mesa 11 + latest llvm (maybe even 3.7) should give you opengl 4.1, IIRC." (Since I have an NVIDIA GeForce GTX 670, I've yet to been able to unmask the =media-libs/mesa-11 dependency due to all of the other unmasked dependencies. As such, my work temporarily ceases at this point.  See below Troubleshooting for possible errors pointing to this Mesa dependency.)

AMD: Reported to supposedly just work?

Common Startup Parameters

 * "-noLogs -nosplash -world=empty -skipIntro"
 * "-window"
 * "-winxp"

Folder Locations
The top root folder for all ARMA 3 folders appears to be "/home/USER/.local/share/bohemiainteractive/arma3/" which appears to contain the AppDataLocal/ AppDataShared/  GameDocuments/. With the exception of GameDocuments being equivalent to the "C:\Users\user\Documents\Arma 3\". (Replace USER with your user name!) This is really nice, as we now have a central location for almost all files, with the exception of the main program files still being located under the Steam root folder.

The following lists the equivalent folder locations for Windows folder locations in comparison to Linux folder locations.

User Configurations and User Editor Created Missions For example, the "C:\Users\user\Documents\Arma 3\" is similar to "/.local/share/bohemiainteractive/arma3/GameDocuments/Arma\ 3\ -\ Other\ Profiles/USER/" folder. (Unknown if this is an error, as it's slightly different on Linux.)

Error RPT logs "C:\Users\USER\AppData\Local\Arma 3" is similar to "/home/USER/.local/share/bohemiainteractive/arma3/AppDataLocal/Arma\ 3/" folder.

ARMA 3 Root Program Folder "C:\Program Files (x86)/Steam/SteamApps/common/Arma 3/" is similar to "/home/USER/.local/share/Steam/SteamApps/common/Arma\ 3/"

Troubleshooting

 * "Game wants to disable DXGI reacting to ...", "Can't use Threading Building Blocks with Static Runtimes ...", ...

The above error may also be corrected by adding "media-libs/libsdl2 abi_x86_32" to /etc/portage/package.use. (See http://feedback.arma3.com/view.php?id=25396) NOTE: Adding the initial media-libs/libsdl (AKA libsdl-1) pulls in a few more dependencies or USE flag augmentations. So easier just to omit a libsdl-1 32 bit build unless it's really needed. There maybe more packages requiring 32 bit builds as I'm still getting the above errors or WINE backtraces. I've used the default list provided elsewhere on Gentoo WIKI or Gentoo documentation.

The above errors seem to also be caused by the NVIDIA driver using the (HDMI) second monitor instead of your primary monitor/display, whether or not you've configured the second monitor/display within your xorg.conf! Use "--eon_force_display=0" within the game's launching options to avoid the resolve the above problem.

$ cat .local/share/bohemiainteractive/arma3/AppDataLocal/Arma\ 3/Arma3Retail_DX11*.rpt will show monitor/display 1 being used instead of monitor/display 0.

Seems the Steam client can automatically detect and warn for OpenGL-4.1 non-compliance.


 * Continuing Non-specific Startup Problems

Try running the game manually instead of using the Steam client. This manual execution method is also the apparent method for debugging Steam wine applications/games and being able to specify the extra Wine execution parameters.

Start and login with the Steam client within one window, without executing the game or application.

Change to the root application/game folder, replacing USER with your login name. $ cd /home/USER/.local/share/Steam/SteamApps/common/Arma\ 3

Manually execute arma3 binary $ ./arma3 --eon_force_display=0 -world=empty -skipIntro -window

NOTE: I finally have successful execution using a Intel i7 and NVIDIA GEFORCE GTX 670 platform. This looks like a Steam or game specific execution problem.

References: Basic

 * Bohemia Interactive ARMA 3 official web page: http://arma3.com/
 * Bohemia Interactive Experimental Ports: http://dev.arma3.com/ports
 * Arma 3 Feedback Tracker: http://feedback.arma3.com/
 * Bohemia Interactive ARMA 3 developer hub: http://dev.arma3.com/
 * ARMA 3 Developer Change Log: http://forums.bistudio.com/topic/140837-development-branch-changelog/

References: Scripting

 * ArmA: Scripting - Getting Started: http://community.bistudio.com/wiki/ArmA:_Scripting_-_Getting_Started
 * Category:Scripting Topics: http://community.bistudio.com/wiki/Category:Scripting_Topics
 * Category:Scripting Commands: http://community.bistudio.com/wiki/Category:Scripting_Commands
 * Category:Arma 3: New Scripting Commands List: http://community.bistudio.com/wiki/Category:Arma_3:_New_Scripting_Commands_List