RFI: Does native Linux build expose TrackIR support?

The Windows client supports TrackIR very nicely in my experience, whether you have a TrackIR or are using the FreeTrack output protocol of some software like opentrack/LinuxTrack.

This is implemented via DLLs and memory mapping to the best of my knowledge, and these DLLs are whitelisted by EAC. As such, a Windows version of opentrack using FreeTrack as the output protocol in the same WINE prefix/Proton instance under Linux behaves identically (with the caveat that you cannot enter EAC-restricted game modes outside of natively running game builds anyway AFAIK).

However, running a Linux build of opentrack it turns out does not support FreeTrack as an output protocol (keep this in mind for later). You can instead use libevdev as output, creating a virtual joystick which you can then map to the camera view axes in each vehicle category in War Thunder’s Controls menu.

Not only is this laborious compared to the convenience of zero configuration plug ‘n’ play support, duplicating settings in many menus, but it has some subtle differences compared to TrackIR input handling/game behaviour which make it undesireable.

The developer of opentrack historically (2018) stated that there wasn’t a FreeTrack implementation supported on Linux natively because ‘there aren’t any UNIX consumers’, and the solution left for many games is to either:

  • bridge Linux native opentrack to WINE
  • run a Windows binary of opentrack inside game’s WINE prefix
  • bridge Linux native opentrack to WINE prefix opentrack via UDP
  • send data straight from Linux native opentrack to the target application over UDP, depending on application support

So the question is…

Does the Linux native client expose TrackIR support in some way? If not, could it be accomplished with DLL/.so (shared object) approach or native War Thunder support for TrackIR data over UDP?

The UDP implementation in particular is platform agnostic, relatively simple and would enable all sorts of cool simulator and accesibility options.

If it exposes support in a similar way to Windows I’ll create an issue on opentrack’s Github, if support is not exposed I’d love to petition for it.

edit: After further research it’s unlikely the Linux binary even has any references to TrackIR or the Windows specific way of checking for it/loading the necessary DLL.