Neverball / neverball

Tilt the floor to roll a ball through an obstacle course before time runs out.
https://neverball.org
Other
342 stars 78 forks source link

Oculus Rift DK2 with openhmd #94

Open ChristophHaag opened 10 years ago

ChristophHaag commented 10 years ago

It does not compile with jherico's latest "stable" sdk, so I tried with openhmd. It works, but does not look right with the DK2.

Then I read this: http://forum.nevercorner.net/viewtopic.php?pid=29114#p29114

As of now though, OpenHMD configuration consists of hard-coded values that were previously reported by LibOVR for the 7'' Oculus DK1.

Any plans to update this?

rlk commented 10 years ago

I do have a DK2. It's my intention to update the HMD backend for Oculus to support modified SDK.

As for OpenHMD, I haven't looked into their direction for DK2 support. Obviously those hard-coded configuration values are problematic, but I certainly don't want to simply update them for DK2. We need a configuration API. Such an API should serve all applications, not just ours, so it's really not our problem to solve.

ChristophHaag commented 10 years ago

Yes, the Oculus SDK is good too. But they just released their 0.4.2 SDK still without linux support, so thinking about alternatives isn't such a bad idea, by now they start building a history like that..

But it's good to know someone is looking at both alternatives. Thanks!

rlk commented 10 years ago

I'm confident the Oculus SDK for Linux will arrive in due time. We had to wait for the DK1 Linux SDK too.

The Oculus SDK has been moving forward by leaps and bounds. Distortion and chromatic aberration correction are both built-in now. The position sensing is absolutely killer, and Timewarp is a very welcome addition.

As dedicated as I am to open source, I can't help but feel that OpenHMD is falling farther and farther behind. They're still missing necessary features that LibOVR had a year ago (magnetic drift correction, user profiles). Now that I read their commit log, I see that OHMD's DK2 support does nothing more than recognize the DK2's HID identifier. The project feels dead.

TheOnlyJoey commented 7 years ago

OpenHMD Dev here, I recently tried the latest version of our library with Neverball and there is definitely something wrong with the hmd_swap() function in https://github.com/Neverball/neverball/blob/master/share/hmd_openhmd.c#L81

I tried with both the DK2 and the PSVR and both have problems with eyes being to extended and having a weird offset. I don't know if this trickery is done to modify the 'size' of the world, but the implementation is not correct in any case.

EndeavourAccuracy commented 7 years ago

Developers, please fix this. I too would like to use this VR functionality with my Vive. Some Linux(-only) users with VR hardware, like myself, have been waiting for many months to play a solid, VR-capable game. Neverball seems like a good candidate. SteamVR for Linux will arrive one day, but it might be a while...

rlk commented 7 years ago

@EndeavourAccuracy I hear you and I agree. There's a vacuum of solid open source VR content, and Neverball is really close to being viable. I haven't had a chance to work on it in nearly a year, and it's really only a matter of finding time to get it done. I'll definitely leave this issue open and try to get back to it.

ChristophHaag commented 7 years ago

When I made this bug report, the OSVR SDK wasn't really a thing. By now I have an OSVR HDK2 and I would always vote for OSVR SDK support first (until khronos' VR API is ready and released, of course).

With OSVR-OpenHMD and OSVR-Vive all the use cases asked for here would be covered and the amount of hardware that can be supported through OSVR's stable interfaces keeps growing.

Of course it'd be quite some new work to do. I'm just bringing it up to see what people think.

TheOnlyJoey commented 7 years ago

@ChristophHaag I personally disagree on this. OSVR includes extra complexity, additional external dependencies, and by default, does not add that much when it comes to actual device support. Fixing up the current OpenHMD implementation should be a easy fix and can provide a more broad and solid support at this moment.

Since Debian builds Neverball with OpenHMD support by default, it would be nice fixing this soon, as the new release is freezing soon as well.