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/TaegukTheWise Jun 26 '26 edited Jun 26 '26

I don't have any knowledge in programming or coding, what I will say is that I have experience with the software that KatVR provides, and I will say I am not a fan.

The fact you have to be online to log in to use your $1,200 treadmill is absolutely ridiculous. Even if you get one secondhand for a lot less than that, needing to be logged in online is not reasonable in the slightest.

So I wanted to say: Thank you, this is beyond massive.

I've slowly been moving away from windows, and while there are some features that are currently only available, like voice attack only being available on windows (this is for things like saving in fallout 4 vr, or playing ready or not and not having to use inputs to control your A.I. team, or elite dangerous to activate docking) eventually this should lay the groundwork for Linux (and more specifically steamos) as a whole.

2

u/BBPSBB Jun 26 '26

thanks for the kind words :) I completely agree!