Forum Discussion
kirklasalle
12 years agoExplorer
Raspberry pi - Oculus Adapter for console!
I've already done this as a modest proof of concept, and by "done this", I've started with PC and I'm now onto the r-pi (see "post" links below) And now I'm looking to see who in the community wants to take it further.
One of the big questions has been "blah blah... support for consoles... blah blah". So much, that Palmer Luckey CEO of Oculus VR (for those who don't know, and really, there are those here in DEV who don't know) had to make a response. It was only one response (that I know of) and anyone who has googled consoles and oculus knows what that was. My personal belief, is that it was just one way to keep things at bay, for now. I mean the damn thing hasn't even been released yet and it's already at a fevered frenzy. Despite the one blog post of why NOT..., I do believe it will happen. Microsoft already has a patent for their own version, as do sony and the rest. I'm guessing "Valve" will license oculus support (guessing) for their yet to be shipped console, or whatever they finally make. And although game developers can add support for the Oculus all they want, I'm not sure when or how long until the consoles themselves will have support. people seem to want their VR and want it now, console or not... I mean, who wants to wait right? over 25,000 units of the Oculus rift have already been ordered and shipped (if I've read the official shipping blog post correctly) and to me that's every developer in the world, however, I doubt it. I'm sure a majority of people are those who just want it.. Like I said, "who wants to wait, right?". My guess is that it may be a couple years before we see any solid support by console manufacturers for oculus. Now I could be wrong and that's fine but again... "who wants to wait, right?" ;) besides I've already started.
In any case, I still wanted to see if it was possible to use on a console. It is! :mrgreen: Initially I ran my xbox360 through my PC setup, just as a simple proof of concept. That worked and then I decided to take things a step further.
I wanted a setup that was small, smaller than my PC and even smaller than a laptop. Something more practical.
:idea: The Raspberry pi :!:
So, I already had a Raspberry Pi Type B 512MB and I also seem to have, the only one of two USB video capture devices that seems to be supported. An now I'm trying to make this effort happen. I've already begun with the r-pi and I'm looking to see if anyone want to take part in this effort.
I just wanted to see if there was enough interest here in the community to help fast track the project. For those interested I'll start a thread in the "Input Devices" section specifically to for those involved.
In the meantime, before people start :twisted: flaming this post, :twisted: as they already have at others, know that I've already played my xbox 360 with the rift and I'm looking to take it further...
please catch up on how this started here:
(forgive the subtle rant in the post as well. A point was being made as someone else was getting flamed. Then another funny thing happened. Just a misunderstanding of course :lol: And if you don't want to read through the entire saga I've linked the main posts here )
:arrow: https://developer.oculusvr.com/forums/viewtopic.php?f=26&t=5448#p77790
And the follow up post here:
:arrow: https://developer.oculusvr.com/forums/viewtopic.php?f=26&t=5448&p=78057#p77918
One of the big questions has been "blah blah... support for consoles... blah blah". So much, that Palmer Luckey CEO of Oculus VR (for those who don't know, and really, there are those here in DEV who don't know) had to make a response. It was only one response (that I know of) and anyone who has googled consoles and oculus knows what that was. My personal belief, is that it was just one way to keep things at bay, for now. I mean the damn thing hasn't even been released yet and it's already at a fevered frenzy. Despite the one blog post of why NOT..., I do believe it will happen. Microsoft already has a patent for their own version, as do sony and the rest. I'm guessing "Valve" will license oculus support (guessing) for their yet to be shipped console, or whatever they finally make. And although game developers can add support for the Oculus all they want, I'm not sure when or how long until the consoles themselves will have support. people seem to want their VR and want it now, console or not... I mean, who wants to wait right? over 25,000 units of the Oculus rift have already been ordered and shipped (if I've read the official shipping blog post correctly) and to me that's every developer in the world, however, I doubt it. I'm sure a majority of people are those who just want it.. Like I said, "who wants to wait, right?". My guess is that it may be a couple years before we see any solid support by console manufacturers for oculus. Now I could be wrong and that's fine but again... "who wants to wait, right?" ;) besides I've already started.
In any case, I still wanted to see if it was possible to use on a console. It is! :mrgreen: Initially I ran my xbox360 through my PC setup, just as a simple proof of concept. That worked and then I decided to take things a step further.
I wanted a setup that was small, smaller than my PC and even smaller than a laptop. Something more practical.
:idea: The Raspberry pi :!:
So, I already had a Raspberry Pi Type B 512MB and I also seem to have, the only one of two USB video capture devices that seems to be supported. An now I'm trying to make this effort happen. I've already begun with the r-pi and I'm looking to see if anyone want to take part in this effort.
I just wanted to see if there was enough interest here in the community to help fast track the project. For those interested I'll start a thread in the "Input Devices" section specifically to for those involved.
In the meantime, before people start :twisted: flaming this post, :twisted: as they already have at others, know that I've already played my xbox 360 with the rift and I'm looking to take it further...
please catch up on how this started here:
(forgive the subtle rant in the post as well. A point was being made as someone else was getting flamed. Then another funny thing happened. Just a misunderstanding of course :lol: And if you don't want to read through the entire saga I've linked the main posts here )
:arrow: https://developer.oculusvr.com/forums/viewtopic.php?f=26&t=5448#p77790
And the follow up post here:
:arrow: https://developer.oculusvr.com/forums/viewtopic.php?f=26&t=5448&p=78057#p77918
4 Replies
- geekmasterProtege
"kirklasalle" wrote:
I've already done this as a modest proof of concept, and by "done this", I've started with PC and I'm now onto the r-pi (see "post" links below) And now I'm looking to see who in the community wants to take it further.
... besides I've already started. ... I wanted a setup that was small, smaller than my PC and even smaller than a laptop. Something more practical.
:idea: The Raspberry pi :!:
So, I already had a Raspberry Pi Type B 512MB and I also seem to have, the only one of two USB capture device that seems to be supported. An now I'm trying to make this effort happen. I've already begun with the r-pi and I'm looking to see if anyone want to take part in this effort. ... In the meantime, before people start :twisted: flaming this post, :twisted: as they already have at others ...
Umm... What one of what "two USB capture devices"? What do you mean exactly by "USB capture"? Motion capture?
I have code that reads the Rift Tracker data and Razer Hydra data on my Raspberry Pi. I posted the source code for "pixelpi" here (adapted last April from older "GMsphere" code for a PC):
http://www.mtbs3d.com/phpBB/viewtopic.php?f=140&t=16973&p=140304#p140152
In that older code, I used libover_nsb, but I have since switched to using the signal11 hidapi library, and I added Razer Hydra support. Instead of using the OculusVR warp shaders, I refect off a sphere for my lens distortion correction.
So yeah, the RasPi is capable of doing many useful VR things, depending on what level of detail the hardware can support. Doing as much as possible in the shader is very beneficial, because the GPU is much more powerful than the CPU on a RasPi.
Many USB capture devices are supported by the RasPi (depending on how you define "USB capture"), so why limit your self to a meager two?
EDIT: Sorry (and no "flaming" intended), but I am having a bit of difficulty following your writing style in this and other linked posts. There is a strong possibility that what you are trying to convey may run contrary to my literalist interpretation of what I am reading, so please take that into account when attempting to "correct" me. Better to just add clarifying details (especially details that answer the questions I have posted above). And posting a mashup of both RasPi and gaming console ideas in the same post is bound to cause contextual confusion, IMHO. - kirklasalleExplorerNo worries... and i don't feel flamed at all and sorry for my grammar. I haven't really slept in a few days and it's starting to take it's toll. It's almost like vertigo, but harder to think ;-). funny, I was just following a thread on mtbs3d that you and another (forgot name) were commenting on some of that very same code for the hydra. I'm even more excited to know about the hydra support.
By USB capture I just mean video capture. (I went from development into media production and it's now a habit to use the term capture like I do), short for capturing footage. It's also referred to as "ingesting" footage but, in either case the aim is to get the rpi to handle the tracking, translation and control and also as a kind of video pass-thorough, to provide a stereoscopic render to the HDMI output. A USB RGB capture was all I could find that was supported. At least so far. I was hoping to find some linux supported hardware that would take in HDMI at 1080p 60fps. that I could make work with the rpi but, I haven't found it. I've been working in media for a little while and I'm familiar with a lot of capture devices but, I need cheap. like the capture card I started this project with.
I do have a question though... I just started to get into my rpi last night and I was kind of leaning to ArchLinux as I thought it may be "lighter", faster, etc. but, I see a lot of Raspi mention. I have run that as well so, I was wondering which is a better option for the rpi? Or just any thoughts that would work well for this type of project. - geekmasterProtege
"kirklasalle" wrote:
... funny, I was just following a thread on mtbs3d that you and another (forgot name) were commenting on some of that very same code for the hydra. I'm even more excited to know about the hydra support. ... I do have a question though... I just started to get into my rpi last night and I was kind of leaning to ArchLinux as I thought it may be "lighter", faster, etc. but, I see a lot of Raspi mention. I have run that as well so, I was wondering which is a better option for the rpi? Or just any thoughts that would work well for this type of project.
Regarding hydra support, the hydra seems to periodically report the wrong axis when reading it at 250Hz (typically every fourth HID packet). Instead of just filtering it out (which adds latency), I was trying to detect and discard the faulty packets. That code needs to be more robust.
Raspbian linux (debian, compiled for ARM with hw float support) seems to be the best option for general use, although I have also played with TinyCore linux and raw hardware support (native mode, where your app runs as if it were a linux kernel). There is even a native mode USB HID stack, with support for a number of gaming console game controllers (wired to GPIO pins). Much simpler to just support Raspbian linux though, IMHO.
I will probably post my rift and hydra support code at some point. Until today, my newest stuff had been lost on an SSD that windows no longer recognized as containing a valid partition. After trying a number of different repair tools (with little success), I finally resurrected the lost partition with TestDisk, and now I have my source code back. Just before it died, I did a secure erase on the mirror SSD because it was getting too slow, so this SSD died at just the wrong time. All is well now though, thankfully. SSD TRIM support does not work on RAIDs, and is not effective when a drive is mostly full, so an occasional ATA Secure Erase restores full rated write speed. But that leaves a window open if the other drive goes awry as happened this time. Perhaps time to start doing backups to the cloud, eh? For now, I have it stored in three places, but offsite storage is even better. - kirklasalleExplorerI took a look at Tinycore and like the idea of having more of the resources free and the raw harware support like you mentioned... basically running the RPi and any peripherals as an appliance. However, I see there's more difficulty because of limited support. Right now I just hope to get some kind of "project prototype" working with what I have in front of me and then try to get something a little more polished, including your Hydra support.
Another difficulty has been getting some kind of HDMI input. So, again, for right now, I'm kind of stuck with the USb Video capture device I have. Although, last night I was looking at an HDMI VGA 2AV Driver board (cheap too, about $50 i think, so it still keeps the cost down)... Even though it gave me a glimmer of hope, I'm not sure how to get the HDMI signal back out and into the RPi istself. I thought the GPIO but, it doesn't seem it can handle the data fast enough to get the resolutions and frame-rate needed. Besides, that kind of work is really beyond me.
And So... I have Rasbian installed, updated and I'm making the effort to get all the basic components setup and running. The thread I saw you on, that I mentioned previously was actually discussing some Oculus code and setup. I think the persons name was nsb? (EDIT: nsb the one who who wrote the libary :oops: ) I have the link saved and as soon as get to those pieces of hardware I'll be pulling it up. I'd like to get to a hydra setup as well but, it looks like the prices have double. Maybe I'm not looking in the right place.
BTW - I know how you feel with the hard drive loss... I have one sitting here with physical damage and i don't have the hardware to get the data off... I used to recover drives too but, that was all software recovery. Offsite is good, clouds are good now.
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
- 11 months ago