Monday 6 February 2017

Progress Report - FOSDEM 2017, with OpenHMD!




"Will anyone else will be going to FOSDEM as well in February?"
Something innocent as this can start great things. What looked like a opportunity for me to meet one or two people from our lovely project, turned out to be a large meetup, hack session and partyfest!


We got a Apartment with 4 people (Vive setup in the Living room, though we did not had a lot of time to use that.), organized a BoF session on the Saturday for a hour (https://www.fosdem.org/2017/schedule/event/openhmd_bof/) and ended up having between 40 and 50 attending the session, meeting about 8 to 10 people I might have spoken to since 2013 on IRC and even getting so many questions regarding meeting up again, we got the same BoF room again the next day! (Which we may or may not have used for a extended amount of time hacking on things).

So what did we achieve other then the logical meet and greets and exchanging knowledge?


Initial support for reading the Oculus CV1 Camera.

Using libuvc with the combined knowledge of everyone brainstorming at the session we got it to work directly! This means not needing a Kernel patch on Linux to use the device (which is currently only available in 4.10 rc6 I think).

CV1 Camera Result!

Initial working OSVR HDK2 support, kinda.

So, for some reason this Open Source hardware does not provide direct access to all the sensors and has a post-fusion absolute position quaternion (which sometimes is crooked). This is non ideal for a wide array of reasons like not being able to change/improve the sensor fusion (because closed source firmware...), no access to gyro data, and no way to get relative data.
The technical documentation from the config regarding the physical dimensions and FoV also seem not to match up, so the current implementation is a bit of a hack and 'close enough', but hey we have to start somewhere!

Basic support in OpenMW.

So, I love me some elder scrolls goodness and the OpenMW project is a great initiative. So I took it on me to implement rudimentary OpenHMD support (currently in my fork) which works fine, but is still pretty basic.
There are some problems with the stereo mode in OpenSceneGraph missing very basic but essential features, like setting projection and view matrices per camera.
I hope to prepare a patch soon for OSG to solve these issues, implement the lens correction shader and do some fixes to the UI and presentation that makes it more suitable for VR.


Small little tinkering.

p5 gloves, lighthouse, LG 360 VR, Intel Realsense, of course we tinkered with about everything we brought which is a lot!
I can still feel my shoulders complaining about the amount of gear I brought from the Netherlands to Belgium. All worth it, thank god for trains.



And of course the people!

Gaaaaah we have a awesome community! Every single person I met was lovely, people I spoke with for 3/4 years, people who just showed up to check what we were about, every single person was a pleasure to meet and talk with.
FLOSS in general is great, but of course, our community is the best, as it should be!



Thanks for all the fish and see you next year FOSDEM!