Webcam head tracking for iRacing. One installer, one launch — head tracking working.
Download OpenFOV-x.y.z-setup.exe from
Releases and run it.
The installer also fetches the Microsoft Visual C++ Runtime if your
machine doesn't already have it.
On first launch Windows may show "Windows protected your PC." Click More info → Run anyway. OpenFOV is currently shipped unsigned while a free SignPath Foundation certificate is being approved; once signed, this prompt goes away for new downloads.
A WinGet manifest will follow shortly after the first release lands —
once merged, winget install epalosh.OpenFOV will work too.
See docs/INSTALL.md for the full install + setup + uninstall walkthrough, including a SmartScreen screenshot.
- Run OpenFOV.
- The first-run wizard walks you through: pick a webcam → calibrate your neutral pose (look straight, press the button) → read the in-game tips → done.
- Launch iRacing. TrackIR should be enabled by default! If not, in Options → Graphics, enable TrackIR.
- Drive.
To recenter your view at any time, press F9.
Webcam → MediaPipe FaceLandmarker → One Euro filter
↓
per-axis Bezier curve + invert
↓
FT_SharedMem (FreeTrack proto)
↓
bundled NPClient64.dll (loaded by iRacing)
↓
iRacing
OpenFOV writes the FreeTrack shared-memory section directly, and a bundled
NPClient64.dll (clean MIT source, originally from
linux-track) exposes the NaturalPoint
TrackIR API to iRacing.
- Python 3.12 with PySide6 (Qt 6) for the UI
- MediaPipe FaceLandmarker for 478-landmark face tracking
- One Euro Filter for low-lag / low-jitter smoothing
- Compiled to a standalone Windows binary with Nuitka
- Wrapped in Inno Setup for installation
MIT. See LICENSE. Third-party attributions are in NOTICE.
TrackIR is a trademark of NaturalPoint, Inc. OpenFOV is not affiliated with, endorsed by, or sponsored by NaturalPoint. Mentions of TrackIR and the NPClient API exist only to describe interoperability with third-party games that implement support for that API.