Forum Discussion
jherico
11 years agoAdventurer
Linux 'putting your money where your mouth is' thread...
So, the Linux 'nagging thread' has kind of dragged on for a while. Oculus has pledged Linux support, but given no ETA on when we'll see positional tracking supported for DK2. It could be this week. It could be months.
However, I think that sitting around and waiting for Oculus to solve the issue kind of goes against the spirit of Linux anyway. If you want something done, you should be willing to do it yourself. To that end, I'm working on porting the current 0.4.2 SDK to Linux. I've managed to reverse engineer some of the code required to interact with the LEDs so that they can be turned on. The camera is natively supported. Right now the primary missing component to getting this done is the software for calculating a head pose based on an image from the camera.
Unfortunately this kind of math is outside my field of expertise. So I'm putting a call out to the community to see if interested parties might be able to assist with this.
If you want a Linux SDK and don't want to wait for Oculus to get around to it, and you've got the skills, here's a video of them captured from the webcam on Linux:
You can download original file from here: https://s3.amazonaws.com/Oculus/oculus_rift_leds.webm
If you can write C or C++ code that will take that video, or an image from that video, and turn it into a head pose, let me know and I'll work with it to produce a viable Linux SDK with positional tracking.
However, I think that sitting around and waiting for Oculus to solve the issue kind of goes against the spirit of Linux anyway. If you want something done, you should be willing to do it yourself. To that end, I'm working on porting the current 0.4.2 SDK to Linux. I've managed to reverse engineer some of the code required to interact with the LEDs so that they can be turned on. The camera is natively supported. Right now the primary missing component to getting this done is the software for calculating a head pose based on an image from the camera.
Unfortunately this kind of math is outside my field of expertise. So I'm putting a call out to the community to see if interested parties might be able to assist with this.
If you want a Linux SDK and don't want to wait for Oculus to get around to it, and you've got the skills, here's a video of them captured from the webcam on Linux:
You can download original file from here: https://s3.amazonaws.com/Oculus/oculus_rift_leds.webm
If you can write C or C++ code that will take that video, or an image from that video, and turn it into a head pose, let me know and I'll work with it to produce a viable Linux SDK with positional tracking.
44 Replies
- phr00tHonored GuestI wish you the best of luck! I am in dire need of a Linux SDK, because my main development machine is running Linux. Unfortunately, many people don't understand that not having a Linux SDK also can limit game development for Windows & Mac OSX, as is in my case.
Anyway, do you have a limited Linux SDK you could put into JOVR in the meantime? Something that would at least get rotational tracking & SDK-side distortion working? I'd like to continue Rift development with my game, 4089, but when I try to use it in "Rift mode", it simply crashes because no linux libraries can be found in JOVR 4.2.0. - cyberealityGrand ChampionI don't want to stop you guys, but I'll be willing to bet the Linux SDK will come out long before you figure this out on your own. But please, if you want to hack away, go ahead.
- phr00tHonored GuestAlso, I think I found FreeTrack's source code.. not sure if it will be helpful at all. Written in Pascal:
https://github.com/PeterN/freetrack/tree/master/Freetrack - phr00tHonored Guest
"cybereality" wrote:
I don't want to stop you guys, but I'll be willing to bet the Linux SDK will come out long before you figure this out on your own. But please, if you want to hack away, go ahead.
Thank you for stopping by! I'm eagerly awaiting the Linux SDK release. Are you able to share if it will be included in the next SDK release? - cyberealityGrand ChampionI can't promise it will be in the next SDK release, but good progress is being made and it should be coming soon.
- ElectricMucusExplorer
"cybereality" wrote:
I don't want to stop you guys, but I'll be willing to bet the Linux SDK will come out long before you figure this out on your own. But please, if you want to hack away, go ahead.
how encouraging :lol:
Are the LEDs supposed to flash in a specific pattern or are they supposed to be on continuously?
In regards to the math: http://en.wikipedia.org/wiki/Delaunay_tessellation_field_estimator
What I am thinking: Calculate the DTFE for several known states (Needs a cartesian robot) of the HMD and then use a curve fitting tool to get a function representation of it for the coordinates or store those in a LUT and interpolate. - brantlewAdventurerYeah, I don't want to burst bubbles here but the tracking algorithm is quite involved and ideally you would want to tap into the modulated LED signal to first identify the LEDs before attempting a post reconstruction. Not to mention there are a whole slew of tie-ins to IMU data for prediction that really optimize the quality of the tracking. The video below gives a flavor a what is involved. I suspect the official Linux release will be out much sooner than a reverse-engineering of the tracking algorithm could be completed.
- ElectricMucusExplorerYou know you could share the precise geometric locations of the LEDs and as such give us the possibility of a less ad-hoc approach. ;)
- VrallyProtegeWell, But even if we wait for the official SDK for Linux, we still have the problem with the current Oculus software license being incompatible with GPL, thus hindering support in Blender, FlightGear etc.
An alternative, community developed SDK may be what is needed for these projects to be able to use the Rift hardware. - jhericoAdventurerGuys, I appreciate the sentiments being expressed here, but I'd like to avoid turning this into a clone of the 'nagging thread'. Try to focus this thread largely on community built tools and overcoming the problems we're faced with, not another back and forth on Linux issues.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 2 months ago
- 9 months ago
- 11 months ago