> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/opentrack/opentrack/llms.txt
> Use this file to discover all available pages before exploring further.

# Output Protocols Overview

> Connect OpenTrack to games and simulators using various output protocols

OpenTrack supports multiple output protocols to send head tracking data to games, simulators, and applications. Choose the protocol that best matches your target application.

## Available Protocols

<CardGroup cols={2}>
  <Card title="FreeTrack 2.0" icon="gamepad" href="/protocols/freetrack">
    Industry-standard protocol compatible with hundreds of games
  </Card>

  <Card title="SimConnect" icon="plane" href="/protocols/simconnect">
    Native support for Microsoft Flight Simulator X, FSX Steam, and Prepar3D
  </Card>

  <Card title="FlightGear" icon="paper-plane" href="/protocols/flightgear">
    Direct UDP integration for FlightGear flight simulator
  </Card>

  <Card title="FSUIPC" icon="jet-fighter" href="/protocols/fsuipc">
    Legacy protocol for Microsoft Flight Simulator 2002/2004
  </Card>

  <Card title="Virtual Joystick" icon="joystick" href="/protocols/virtual-joystick">
    Emulate joystick input using vJoy driver
  </Card>

  <Card title="UDP Network" icon="network-wired" href="/protocols/udp">
    Send raw tracking data over network via UDP
  </Card>

  <Card title="Wine" icon="wine-glass" href="/protocols/wine">
    Run Windows games with head tracking on Linux via Wine/Proton
  </Card>
</CardGroup>

## Platform-Specific Protocols

<CardGroup cols={2}>
  <Card title="Mouse (Windows)" icon="computer-mouse">
    Emulate mouse movement for games that don't support head tracking
  </Card>

  <Card title="libevdev (Linux)" icon="gamepad">
    Virtual joystick output for Linux using libevdev
  </Card>

  <Card title="IOKit FooHID (macOS)" icon="apple">
    Virtual HID device support for macOS
  </Card>
</CardGroup>

## Advanced Protocols

<Card title="OSC (Open Sound Control)" icon="sliders">
  Send tracking data via OSC protocol for integration with audio/video software and VJ tools
</Card>

## Protocol Comparison

| Protocol             | Platform       | Use Case               | Game Support         |
| -------------------- | -------------- | ---------------------- | -------------------- |
| **FreeTrack**        | Windows        | General gaming         | 800+ games           |
| **SimConnect**       | Windows        | Flight simulators      | FSX, P3D             |
| **FlightGear**       | Cross-platform | FlightGear only        | FlightGear           |
| **FSUIPC**           | Windows        | Legacy flight sims     | FS2002, FS2004       |
| **Virtual Joystick** | Windows        | Any game with joystick | Universal            |
| **UDP**              | Cross-platform | Custom applications    | Developer tool       |
| **Wine**             | Linux          | Windows games on Linux | FreeTrack-compatible |
| **Mouse**            | Windows        | Tablet emulation       | Legacy games         |
| **OSC**              | Cross-platform | Audio/video software   | Creative tools       |
| **libevdev**         | Linux          | Virtual input          | Linux games          |
| **IOKit FooHID**     | macOS          | Virtual HID            | macOS apps           |

## Choosing a Protocol

<Steps>
  <Step title="Check game compatibility">
    Most modern games support **FreeTrack 2.0**. Check the [supported games list](https://github.com/opentrack/opentrack/wiki/Supported-Games) for your specific title.
  </Step>

  <Step title="Use native protocols when available">
    If playing FSX/Prepar3D, use **SimConnect** for best performance. For FlightGear, use the **FlightGear** protocol.
  </Step>

  <Step title="Try virtual joystick as fallback">
    If your game doesn't support head tracking but has joystick support, use **Virtual Joystick** to map head movements to joystick axes.
  </Step>

  <Step title="Linux gaming">
    Use the **Wine** protocol when running Windows games through Wine, Proton, or Steam Play on Linux.
  </Step>
</Steps>

## Popular Game Examples

### Flight Simulators

* **Microsoft Flight Simulator X** - SimConnect
* **Microsoft Flight Simulator 2020** - FreeTrack
* **Prepar3D** - SimConnect
* **FlightGear** - FlightGear protocol
* **X-Plane** - FreeTrack or Wine (Linux)
* **DCS World** - FreeTrack
* **IL-2 Sturmovik** - FreeTrack

### Racing Games

* **Assetto Corsa** - FreeTrack
* **Project CARS 2** - FreeTrack
* **rFactor 2** - FreeTrack
* **iRacing** - FreeTrack
* **DiRT Rally** - FreeTrack

### Space Simulators

* **Elite: Dangerous** - FreeTrack
* **Star Citizen** - FreeTrack
* **Everspace 2** - FreeTrack
* **X4: Foundations** - FreeTrack

### Military Simulators

* **ArmA 3** - FreeTrack
* **Squad** - FreeTrack
* **Escape from Tarkov** - FreeTrack
* **DayZ** - FreeTrack

<Note>
  Some games may require additional configuration or registry entries. Refer to the specific protocol documentation for detailed setup instructions.
</Note>

## Configuration Location

Protocol settings are stored in:

* **Windows**: `%LOCALAPPDATA%\opentrack-2.3\ini\opentrack-2.3.ini`
* **Linux**: `~/.config/opentrack-2.3/opentrack-2.3.ini`

Each protocol maintains its own configuration section within this file.
