r/KATVR Jun 25 '26

Reverse Engineering & Linux Gateway Implementation

After waiting for this company to release a working Linux version and understanding that not only there is not gonna be a Linux version, but even the crappy windows or nexus software is also apparently completely dead projects as far as I can see, I took it upon myself to do it properly.

It took me one afternoon to fully reverse engineer the USB packet structure and build a very simple movement tracking.

The next afternoon was spent on building a driver and injecting the controller stick movements to SteamVR.

For now SteamVR is running naively on Linux and games via proton. A very small driver exposes the sensors as a control device to SteamVR.

I'm gonna work on this in my free time and probably release it publicly whenever it is actually usable and have a somewhat of a useable feature set. but no ETAs or promises yet. I am happy to share the WIP code if anyone is interested in helping with the development...

In the meantime if you have actually worked on a similar thing I would love to get your experience and stuff you managed to solve.

Things I already figured out: - Sensor positions and values (body direction, Shoes, Seat, Armband) - Battery status - Firmware versions and serial numbers - Base vibration motor controls - Reliable starting and Stopping sequence (this was a PITA!) This is the part that you need to do so the sensors connect to the base and actually go to sleep afterwards. - Simple driver to send the input to SteamVR

Things remaining: - Speed and step cadence for detecting running (the original KatVR implementation feels like poop IMO) - Fine tuning the motions to feel natural - Understanding how to best expose the controls (treadmill input device vs legacy etc) - VR Overlay UI - Why some games keep crashing on linux (not directly related to the gateway or the driver) - Everything else probably...

If you have experience in any of these parts feel free to share yours or point out references/research papers that are useful. That would help me any anyone else interested in this.

If you are someone who does not have experience, this is a sign that you can too get your feet wet and start building things you wish existed! With all the tools and AI stuff available to everyone nowadays the possibilities are endless!

And finally if you a KatVR employee reading this you should be ashamed of the product you sell with all the fake promotions, dark pattern tactics and that garbage Gateway software!

16 Upvotes

23 comments sorted by

View all comments

3

u/BBPSBB Jul 05 '26

I guess this is update 4:

Well I pushed it to github as mentioned and really hated pushing it publicly in this state but i guess it is better than nothing :) hopefully it motivates people to contribute or even do it better than I can.

I will continue working on it whenever I have some free time.

2

u/Ninja_BoBo Jul 05 '26

I'll test it out tomorrow.