Head tracking software for MS Windows, Linux, and Apple OSX
C++ C CMake Makefile HTML Inno Setup Other
Switch branches/tags
trackmouse-prototype-pre0 trackhat-1.2 trackhat-1.2p4 trackhat-1.2p3 trackhat-1.2p2 trackhat-1.2p1 trackhat-1.1 trackhat-1.1p4 trackhat-1.1p3 trackhat-1.1p2 trackhat-1.1p1 opentrack.2.3-rc49p0 opentrack-2.3.9 opentrack-2.3.8 opentrack-2.3.7 opentrack-2.3.1.6 opentrack-2.3.1.5 opentrack-2.3.1.4 opentrack-2.3.1 opentrack-2.3.1_fix3 opentrack-2.3.1_fix2 opentrack-2.3.1+fix1 opentrack-2.3.0 opentrack-2.3-rc99p15 opentrack-2.3-rc99p14 opentrack-2.3-rc99p13 opentrack-2.3-rc99p12 opentrack-2.3-rc99p11 opentrack-2.3-rc49p10 opentrack-2.3-rc49p9 opentrack-2.3-rc49p8 opentrack-2.3-rc49p7 opentrack-2.3-rc49p6 opentrack-2.3-rc49p5 opentrack-2.3-rc49p4 opentrack-2.3-rc49p3 opentrack-2.3-rc49p2 opentrack-2.3-rc49p1 opentrack-2.3-rc49p0 opentrack-2.3-rc21 opentrack-2.3-rc21p11 opentrack-2.3-rc21p10 opentrack-2.3-rc21p9 opentrack-2.3-rc21p8 opentrack-2.3-rc21p7 opentrack-2.3-rc21p6 opentrack-2.3-rc21p5 opentrack-2.3-rc21p4 opentrack-2.3-rc21p3 opentrack-2.3-rc21p2 opentrack-2.3-rc21p1 opentrack-2.3-rc20 opentrack-2.3-rc20p1 opentrack-2.3-rc19 opentrack-2.3-rc19p3 opentrack-2.3-rc19p2 opentrack-2.3-rc19p1 opentrack-2.3-rc18 opentrack-2.3-rc17 opentrack-2.3-rc17p2 opentrack-2.3-rc17p1 opentrack-2.3-rc16 opentrack-2.3-rc15 opentrack-2.3-rc15p1 opentrack-2.3-rc14 opentrack-2.3-rc13 opentrack-2.3-rc13p2 opentrack-2.3-rc13p1 opentrack-2.3-rc12 opentrack-2.3-rc12p1 opentrack-2.3-rc11 opentrack-2.3-rc10 opentrack-2.3-rc9 opentrack-2.3-rc8 opentrack-2.3-rc7 opentrack-2.3-rc6 opentrack-2.3-rc5 opentrack-2.3-rc4 opentrack-2.3-rc3 opentrack-2.3-rc2 opentrack-2.3-prealpha-20141022_1 opentrack-2.3-prealpha-20141021_1 opentrack-2.3-prealpha-20141018_1 opentrack-2.3-20141105 opentrack-2.3-20141102 opentrack-2.2a2 opentrack-2.2a1 opentrack-2.2-stable-20150728 opentrack-2.2-stable-20141113 opentrack-2.2-stable-20141112 opentrack-2.2-end-of-alpha opentrack-2.0rc1 opentrack-2.0b3 opentrack-2.0b2 opentrack-2.0b1 opentrack-2.0a8 opentrack-2.0a7 opentrack-2.0a7-p1 opentrack-2.0a6 opentrack-2.0a5
Nothing to show
Latest commit b093104 Aug 1, 2017 @sthalik sthalik gui: don't hook QEvent::Show
It's pointless actually. It's not emitted before
WindowActivate at all.
Permalink
Failed to load latest commit information.
3rdparty-notices remove intel-ipp notice Jun 22, 2017
api api/plugins: cleanup Jun 7, 2017
bin main: fix accessing build box's hardcoded drive Jun 13, 2017
cmake cmake: fix Linux build Jul 29, 2017
compat compat: fix Linux build Jul 29, 2017
contrib add logo Feb 18, 2017
coverity misc irrelevant Jun 22, 2017
csv csv: show only existing id Jul 24, 2017
cv gui: don't update the main window if it's hidden Jul 28, 2017
dinput dinput: less boilerplate Jul 24, 2017
filter-accela filter/accela: make gain more conservative Jul 29, 2017
filter-ewma2 filter/ewma: fix labels May 10, 2017
filter-kalman many: use std::f{max,min} for floating-point values Apr 18, 2017
freetrackclient misc irrelevant Jun 22, 2017
gui gui: don't hook QEvent::Show Aug 1, 2017
installer installer: try make smaller archive Jun 5, 2017
logic logic/shortcuts: fix signed vs unsigned comparison Jul 24, 2017
macosx cmake: rename project's function prefix Mar 27, 2017
migration filter/accela: make gain less sluggish overall Jun 10, 2017
options options/metatype: pass exact same name for sliders Jul 31, 2017
pose-widget gui: don't update the main window if it's hidden Jul 28, 2017
proto-flightgear rename several protocols from abbreviated names Apr 7, 2017
proto-fsuipc add otr_prop for appending property strings May 16, 2017
proto-ft proto/freetrack: fix build with mingw-w64 with llvm Jul 28, 2017
proto-libevdev proto/{libevdev,wine}: add stub i18n Jul 29, 2017
proto-mouse cmake: rename project's function prefix Mar 27, 2017
proto-simconnect proto/simconnect: fix WinSxS library versions Jul 7, 2017
proto-udp proto/udp: rename one more occurence Apr 20, 2017
proto-vjoystick cmake: rename project's function prefix Mar 27, 2017
proto-wine proto/{libevdev,wine}: add stub i18n Jul 29, 2017
qxt-mini qxt-mini: fix scary typo Jun 5, 2017
settings proto/freetrack: update game list Nov 18, 2016
spline spline: repaint() is cheaper Jul 25, 2017
tracker-aruco tracker/aruco: fix lto warning Jul 24, 2017
tracker-freepie-udp tracker/freepie: cleanup Jul 21, 2017
tracker-fusion tracker/fusion: add untranslated stubs Jun 19, 2017
tracker-hatire tracker/hatire: fix truncation warning only Jul 24, 2017
tracker-ht cmake: rename project's function prefix Mar 27, 2017
tracker-hydra get rid of "volatile" abuse Jun 18, 2017
tracker-joystick cmake: rename project's function prefix Mar 27, 2017
tracker-pt tracker/pt: revert most 2.3.8 changes Jul 29, 2017
tracker-qt-gamepad cmake: rename project's function prefix Mar 27, 2017
tracker-rift-025 cmake: rename project's function prefix Mar 27, 2017
tracker-rift-042 matrix -> euler: prevent gimbal lock multiple solutions harder Apr 11, 2017
tracker-rift-080 matrix -> euler: prevent gimbal lock multiple solutions harder Apr 11, 2017
tracker-rift-140 tracker/rift-140: rename unit Apr 10, 2017
tracker-rs tracker/realsense: make GNU build less noisy May 12, 2017
tracker-s2bot tracker/s2bot: fix few bugs Jul 21, 2017
tracker-steamvr tracker/steamvr: fix friend decl for GNU Jul 24, 2017
tracker-test compat/math-imports: use it Jul 16, 2017
tracker-tobii-eyex get rid of "volatile" abuse Jun 18, 2017
tracker-udp tracker/udp: use std::distance Jun 18, 2017
x-plane-plugin misc irrelevant Jun 22, 2017
.gitattributes update gitattributes Jun 14, 2016
.gitignore gitignore: add intellij May 16, 2017
.gitmodules nix submodule Feb 1, 2015
AUTHORS.md documentation and attribution Jul 11, 2017
CMakeLists.txt cmake: don't cache initial translation list Jul 16, 2017
CONTRIBUTING.md Update CONTRIBUTING.md May 9, 2017
OPENTRACK-LICENSING.txt documentation and attribution Jul 11, 2017
README.md documentation and attribution Jul 11, 2017
WARRANTY.txt add warranty terms into readme Sep 18, 2016

README.md

opentrack project home at <http://github.com/opentrack/opentrack>.

Downloads are at <https://github.com/opentrack/opentrack/releases>.

Please first refer to <https://github.com/opentrack/opentrack/wiki> for new user guide, frequent questions, specific tracker/filter documentation.


opentrack is an application dedicated to tracking user's head movements and relaying the information to games and flight simulation software.

Not to be confused with railway planning software <http://opentrack.ch>


Downloads

For the latest releases visit: <https://github.com/opentrack/opentrack/releases>. Currently installers and portable versions for Windows are available for each release.

Tracking sources

  • PointTracker by Patrick Ruoff, freetrack-like light sources
  • Oculus Rift DK1, DK2, CV, and legacy/knockoff versions (Windows only)
  • Paper marker support via the ArUco library <https://github.com/rmsalinas/aruco>
  • Razer Hydra
  • Relaying via UDP from a different computer
  • Relaying UDP via FreePIE-specific Android app
  • Joystick analog axes (Windows, Linux)
  • Windows Phone tracker over opentrack UDP protocol
  • Arduino with custom firmware
  • Intel RealSense 3D cameras (Windows)
  • BBC micro:bit, LEGO, sensortag support via S2Bot

Output

  • SimConnect for newer Microsoft Flight Simulator (Windows)
  • freetrack implementation (Windows)
  • Relaying UDP to another computer
  • Virtual joystick output (Linux, Windows)
  • Wine freetrack glue protocol (Linux, OSX)
  • X-Plane plugin (Linux)
  • Tablet-like mouse output (Windows)
  • FlightGear
  • FSUIPC for Microsoft Flight Simulator 2002/2004 (Windows)

Configuration

opentrack allows for output shaping, filtering, the codebase builds on on Microsoft Windows, Apple OSX, and GNU/Linux.

Don't be afraid to submit an issue/feature request if need arises.


Credits

  • Stanisław Halik (maintainer)
  • Chris Thompson (aka mm0zct, Rift and Razer Hydra author and maintainer)
  • Patrick Ruoff (PT tracker author)
  • Xavier Hallade (Intel RealSense tracker author and maintainer)
  • furax49 (hatire tracker author)
  • Michael Welter (contributor)
  • Attila Csipa (Micro:Bit author)

Thanks

  • uglyDwarf (high CON)
  • Andrzej Czarnowski (FreePIE tracker and Google Cardboard assistance, testing)
  • Wim Vriend (original codebase author and maintainer)
  • Ryan Spicer (OSX tester, contributor)
  • Donovan Baarda (filtering/control theory expert)
  • Mathijs Groothuis (@MathijsG, dozens of bugs and other issues reported)

Licensing information

Almost all code is licensed under the ISC license. There are very few proprietary dependencies. There is no copyleft code. See individual files for licensing and authorship information.

Warranty terms

See WARRANTY.TXT for applying warranty terms (that is, disclaiming possible pre-existing warranty) that are in force unless the software author specifies their own warranty terms.

Building opentrack from source

On Windows, use either mingw-w64 or MS Visual Studio 2015 Update 3/newer. On other platforms use GNU or LLVM. Refer to Visual C++ 2015 build instructions.