MacOpentrack
Opentrack is an open-source project originally created by Wim Vriend and now maintained and developed by Stanisław Halik and many others.
Quote:
opentrack is an application dedicated to tracking user's head movements and relaying the information to games and flight simulation software. opentrack allows for output shaping, filtering, and operating with many input and output devices and protocols; It allows for output shaping, filtering, and operating with many input and output devices and protocols; the codebase runs Microsoft Windows, Apple OSX (currently unmaintained), and GNU/Linux.
I've highlighted the part saying that the macOS version is currently unmaintained. Here's where I and MacOpentrack now come into play. During the last year or so I've been digging deep into the source code in order to get opentrack back to the Mac. When I was looking for current macOS binaries I did not find anything useful so I tried to compile it myself. Building a basic version wasn't too hard, but getting the interesting modules (neuralnet-tracker, point-tracker and Wine-support) to work as well was a lot of work - at least for me. Also there were some specific bugs or shortcomings in the macOS codebase that needed to be fixed before opentrack really became useful to me. Furthermore the included X-Plane plugin needed some tweaks and is now compatible with X-Camera.
Let me highlight the use cases and features:
- Use your Mac's built-in camera or other cameras supported by macOS and let the neuralnet-tracker track your face movement without additional hardware or costs.
- Use smartphone apps like smoothtrack and receive headpose data via UDP
- For the very best experience use the point-tracker module for IR-Tracking (highly recommended) with an IR-camera and a Head-Clip. For instance DelanEngineering's "Delan Cam 1" IR-camera and their head-clips aka DelanClips are known to work perfectly with the help of my DelanCamUtil.
- Use the included X-Plane 11/12 plugin to start head-tracking in X-Plane on macOS right away.
- Use the Wine-integration feature to feed head motion data to Windows-games you run via wine-based products*. (limited, see notes below)
- Use other apps on your smartphone such as SmoothTrack that can track your head's movement and let them pass it to MacOpentrack via network (UDP).
As it should be all my code-changes and fixes are made available in my fork on GitHub. Some of them had already been merged into the original codebase. You're welcome to review the code and build the software yourself. However since it is not a trivial task I kindly ask you to support me by purchasing pre-built MacOpentrack binaries from me directly here at gumroad. They are digitally signed by me and notarised (checked by apple for malicious content). They're optimised for Apple-Silicon but work on intel-Macs as well. You can pay what you want!
For more information please also check my How-To Guide on Head-Tracking I published on DelanCam's blog. Even if you don't use DelcanClip's products.
I'd like to close with a quote of cavu360 on the X-Plane-Forums commenting on being now able to use IR-Tracking using DelanClip and my pre-built Opentrack binaries:
[...], we are at that point of extremely usable and really a lot of fun! The smoothness and solid connection to my movement is stunning! It looks and feels entire natural (for the very first time). I have to say it again ... not ever before has any face tracking come anywhere near close to how good this latest build of point tracking that you've created performs! And Tomasz's Delan Clip Fusion Pro is an amazing and extremely well built device. Together with your accomplishments with OpenTrack and his hardware solution I am eager to say this is GAME CHANGING for us Mac users.
Happy flying/tracking and thank you for your support.
IMPORTANT System-Requirements: Intel or Apple-Silicon Mac with macOS Sonoma or Sequoia. The reason is that the QT libraries require Sonoma. I plan trying to make a build for older macOS versions.
Known Issue: The sliders in the filter-settings behave weirdly. Just ignore them moving around in unexpected ways and monitor the values displayed next to them. This is a bug in the QT5 libraries. QT6 allegedly solves this, but opentrack has not moved to QT6 yet. It does not stop you from making and saving adjustments.
You can get a 5% discount for DelanClip products using this link.
* Important notes about the Wine-integration
August 2025: When I released MacOpentrack about a year ago the wine integration worked with 9.0, but it was always considered a bit experimental and advanced. On Apple-Silicon you probably need to specify the wine executable path to /opt/homebrew/bin/wine manually. However in the meantime wine 10.x was released which apparently broke the interoperability or at least made it unreliable and unpredictable. Remember to install it via "brew install --no-quarantine wine-stable".
I've been investigating all this in the past weeks and I'm currently working on a solution. I'm focussing on supporting the wine-based CrossOver-Product as it works best with most games out of the box and with much more performance I could ever get from stock wine. Infact I already have a working solution that does work with CrossOver 25.0.1 (tested with Falcon BMS and Euro Trock Simulator 2), but it needs a bit of polishing. It should also work with most other wine-based products, but I'm still testing. There's also a technical transition in wine internally which makes things even more complicated. So my even current working approach might break in future, but I already have planned to switch to an different approach, which was recommended to me by the wine developers.
Until then one viable option at this moment is to get an older wine-build such as https://github.com/Gcenx/macOS_Wine_builds/releases/tag/9.0_3Copy the "Wine Stable.app" to /Applications/. Rename it to Wine9.0.app. You'll then have to unquarantine it via Terminal:
sudo xattr -cr /Applications/Wine9.0.app
Once this is done you'll have to work with this wine installation via Terminal by always prepending it to your PATH:
export PATH=/Applications/Wine9.0.app/Contents/Resources/wine/bin:$PATH
# Then interact with your default wineprefix (~/.wine) or set WINEPREFIX accordingly. You should know all this when you use stock wine.
export WINEPREFIX=~/My9.0Prefix
# install and run games ...
wine ~/Downloads/setup_cool_3d_game.exe
Then in opentrack configure a Custom path to Wine executable and set it to
/Applications/Wine9.0.app/Contents/Resources/wine/bin/wine
and chose your WINEPREFIX. Then once you started tracking your Windows game (if it runs) should pick up the headpose. Also verify by checking the path HKEY_CURRENT_USER\Software\NaturalPoint\NATURALPOINT\NPClient Location and HKEY_CURRENT_USER\Software\Freetrack\FreeTrackClient in your registry via "wine regedit"
But remember your game's performance will be very bad unless you install DXVK manually. Yet it won't be as fast as D3Metal which I don't know how to install manually. Therefore I recommend CrossOver which does it for you. Another option is Kegworks now called Sikagurgir https://github.com/Sikarugir-App/Sikarugir, but here I don't yet know if it will work with MacOpentrack... I think it will, but it's a bit too early to say.
The latest version and future updates