• Welcome to PiBoSo Official Forum. Please login or sign up.

Opensource headtracker using mems gyros

Started by h106frp, May 25, 2015, 11:04:50 PM

Previous topic - Next topic


We would just need opentrack to work, but I can't make it work.

Even without talking about gpb, opentrack has a small freetracktest.exe that is supposed to check if the fretrack output works fine: well, it never works for me, it can't even detect the associated dll (so no wonder GPB does not see the opentrack output).

The opentrack dev is trying to help, but for him it works fine.



I get the same problems you observed - opentrack just does not emulate mouse in-game. The WOJ engine works fine and completely reliable just the problem with it not being 'absolute' tracking so you have to 'twitch' in the opposite direction to centre the view which is a bit unnatural.

If it's any indication i have been doing laps with it all weekend, its quite addictive  ;D it really does change the game dynamic in first person and feels a lot more like 'real' riding. The more you forget its there the better it seems to work.

Having to get used to riding without the bike model as a point of reference though (head looking up the track to the next corner but bike still taking the corner your at) but when you get it right it looks/feels great  :) a good track surface seems to help a lot to give a sense of direction of travel. If you are a committed first person view rider its a great riding aid.

Having tried freelook with the infra-red head clip and abandoned it due to all the camera view issues (losing lock) this is just a brilliant alternative.

I wont try any videos until we sort the absolute tracking issue as its not a fair review of the EDtracker device itself at the moment.


Quote from: h106frp on May 31, 2015, 10:58:03 PM
I get the same problems you observed - opentrack just does not emulate mouse in-game.
Yeah mouse emulation is currently not working perfectly in opentrack, but that should not be necessary.

Opentrack can output with freetrack protocol and GPB can handle freetrack protocol: normally, using EDTracker + opentrack you can have headlook (what GPB calls freelook) without using mouse emulation (which, honestly, it's just a dirty trick). The problem is for some reason I cannot make this work.

The problem is not in GPB (as far as I can see now), it's somewhere between opentrack and windows, as the simple freetracktest.exe provided with opentrack doesn't even work (for me at least).
It seems to be some dll mumbo-jumbo, ans the test exe cannot even detect the dll as loaded.

GPB works fine with both FaceTrackNoIR and FreeTrack, so it should just work with OpenTrack using freetrack output.



OpenTrack 2.3rc12 is out: it is supposed to fix the mouse emulation (and also automatically load settings and start tracking when a specific game/.exe is started, cool).

Also, one thing to check (with respect to the issue I was experiencing, using freetrack output): the registry HKEY_CURRENT_USER\Software\Freetrack\FreetrackClient should have a value "Path" with key on the right pointing to the directory where freetrackclient.dll is stored (this is normally the opentrack directory).

Not at home right now, will check tonight.



Still not working so far, i am wondering if its the freetrack/freetrack2.0 causing probs.

Freetrack2 is a rewritten and recompiled .dll, I will raise a question in support


It's a mess !!

OK, mouse emulation works fine for me now (you have to click on the "..." button to assign the axes to assing to mouse X and Y).

The freetracktest works fine on my office laptop, but not on my home PC.



Got mouse simulation working   :), need to play with the response curves now but much more responsive. A tendency for opentrack to lose centre position (need to experiment with the software as i am hoping its not due to cumulative mouse position calculation in opentrack), need freetrack or native tracking as the device itself does not drift at all. Still loving it in game!

Anyway, my tracker head set - still removable by cable ties but i will probably glue my clip in place eventually. Really do not notice it once the headphones are on.

Small switch on top will instantly reset the look ahead if required but this is only needed if you are physically moving your body position (slouching in chair) relative to the monitor centre view.


Yep, mouse tracking works fine now.

But I'm still trying to understand why the bloody freetrack output does not work on my home PC but works on my office laptop (at least with the provided freetracktest.exe).
It is as if the freetrackclient.dll cannot be found for some weird reason.


You can bind a key in the Dtracker gui to recenter (you can do the same in OpenTrack too).


Freetrack support is confusing and i really cannot find a lot of useful info  >:( This may be due to the on-going legal wrangles with NP. I don't know how Occulus are getting around the optical tracking legal dramas as the DK2 would appear to infringe in exactly the same way as all the free trackers are claimed to have.
DK1 inertial tracking 3DOF (same as EDTracker)
DK2 inertial and optical tracking 6DOF

We have the original driver by the original freetrack team and then we have the FTNoIr freetrack2.0 driver, the one used by opentrack- i cannot find the info about how compatible calls to the 2 different dll's would be, i am beginning to think they are not very compatible  >:( >:(

>:( >:(I wish people would document stuff better >:( >:(  especially when modifying existing standards.

I think the best would be to get the game to support the EDtracker directly by just being able to map head position to analogue joystick axis, the main thing is the joystick has fixed absolute co-ordinates (same as a EDtracker), a mouse (it appears) is just cumulative values for direction and will gradually lose it centre value which is more off putting in game than you might first imagine as you realize your view is starting to 'crab' sideways.

>:( >:( Finding solutions to problems that need not exist >:( >:(


@h106frp: but does the freetracktest.exe (provided with opentrack, under clientfiles/freetracktest) work for you ? Does it say DLL loaded = true or flase ?

It works on my laptop but not on my home pc and nobody seems to know why. It's just a mystery. The code game-side is trivial (load a dll, memory map some stuff, done).

The OpenTrack dev has pointed me to a couple of diagnostic tools (sxstrace.exe and procmon.exe) that can trace what an app does and I'll be trying to see what's wrong.
I really suspect some Side-by-Side crap to be responsible here.

rc12 of opentrack seems to be a step forward anyway.

Joystick input for headlook would be nice in GPB/WRS/KRP/MXB.

Did you try the EDTracks as input (e.g. to lean the bike) ?



I will try the tests this evening.

Love the responsiveness of the opentrack mouse emulator but i am really beginning to think that GPB is expecting to see the old freetrack dll not the version 2 (ftnoir) dll used by opentrack. I just wish i could find the developer info for the 2 dlls and see if they would have compatibility issues.

The registry key is correct - unless GPB is expecting to see it somewhere specific (old freetrack directory maybe) and opentrack seems to think everything is working.

Could do with some input from PiBoSo as to how GPB is set up and what it expects on the client side. I have put a request in the support section.

I will also try it as a controller (been having too much fun with tracking  ;D ), i guess it will work really well as the output from the device is very stable in native joystick mode.


Normally the 2.0 protocol is supposed to be backward compatible as far as I know.

When it works, the freetracktest.exe reports "interface version" (not sure how reliable is that though).



June 02, 2015, 09:26:51 PM #27 Last Edit: June 02, 2015, 09:39:59 PM by h106frp
Ok, tried freetest in GPB.

Reports DLL loaded ver, when you close opentrack dll closes OK

Data values are changing in freetest when i move the tracker and GPB running so it looks like the host side of the .dll is working OK, but nothing in GPB. Tried all games options but no game animation - possible bug ?

edit, one observation - the values that are changing are the ones for 'virtual pose' the 'raw pose' values are locked at zero, is it possible that GPB is reading the raw values?

edit, how do you assign rider lean to an analogue axis?


I've solved the 1st part of my issues (well, kind of).
If MSI Afterburner is running, freetracktest.exe cannot load the freetrackclient.dll. Why ? No freakin' idea.

Still, doesn't work in GPB for me neither, same as h106frp.

Quote from: h106frp on June 02, 2015, 09:26:51 PM
edit, one observation - the values that are changing are the ones for 'virtual pose' the 'raw pose' values are locked at zero, is it possible that GPB is reading the raw values?
Don't see why it should, but definitely worth an investigation !

Quote from: h106frp on June 02, 2015, 09:26:51 PM
edit, how do you assign rider lean to an analogue axis?
Same way you assign throttle, lean etc to an analog axis.



@MAX, MSI Afterburner causes conflicts with many programs. I dont know why either but have found that many newer programs have major problems with MSI AB. Its a shame as it is a good program in many ways, and only in the last 6 months have I had this problem? If you figure it out, please tell.

GPBOC Live Streams: https://www.youtube.com/c/IASystemsComputerControls; i7 7700 4.8GHz z270 ASUS Maximus Code Mobo 16GB 3866MHz DDR4 RAM ASUS Strix RTX2070 OC 8GB DDR6 Kraken X62 AIO Cooler ROG Thor 850w PSU in ROG Helios Tower Case.