Subscribe via RSS
2Nov/180

Oculus Rift DevKit 2

I always managed to be surprised at things that turn up at flea markets. I was stumbling through Laverton Market on the weekend and came across this... for AUD$5.00. Is this retro? It could well be... it's nearly vintage nonetheless!

DSC05215

DSC05214 DSC05216 DSC05217

DSC05219

Turns out it's the Oculus Rift Development Kit 2. More infomration here. The headset has a cable running off it with USB and HDMI. There's also a USB and audio-style port, hidden under a cover on top. It's also got a random date on the side and a differing price tag of AUD$2.00? Did I get ripped off?

Testing it

Seemed to be simple enough... Just for fun I plugged it into my laptop. It straight away showed up as a portrait screen and I could move application windows onto the new secondary desktop! The LCD looked a little sketchy, but I assumed it was nothing that couldn't be cleaned off!

With the basic shake-out complete, I downloaded the Oculus Rift software and installed it. Whilst reading the download notes, I realised it hinted at another piece of hardware: a sensor. My kit didn't come with this! It seems that the sensor (looks like a webcam) tracks the IR output of the headset to determine your physical position. Supposedly you can use the headset without it and you'll just get rotational giroscope-based movement.

Once the software was installed, I plugged the unit back in and ... well ... nothing but errors. The Oculus Software reported that I had a USB connection, but no HDMI connection. No amount of cable-tweaking-or-swapping managed to get it to work. Long-story-short, my laptop wasn't even capable of supporting the unit and would never actually be able to output HDMI in the format the headset wanted. It would actually be really nice if the software provided this tiny hint, instead of just telling me that the HDMI connection was unavailable, but it actually turns out I skipped the entire first step... there's more on that a few sections below.

Digging deeper, it turns out that the Oculus software installs a driver for the headset and prevents it from being used as a second monitor. The point that I saw a desktop when I first plugged it in, was just because the Oculus display drivers were not installed. Of course, I had no idea that this was the case and thought I'd actually killed the unit! I proceeded to tear it apart ... was it a loose cable or other broken component?

What Does It Look Like On The Inside?

I had read another review where the author had described the whole unit as a 'kitbash'. I chuckled at that, as it's a common term in model railroading where you take an off the shelf product (or multiple) and blend them together to make something new and unique. Well... that's actually what they've done here... to the point where the LCD is actually a Samsung Galaxy Note 3 screen, complete with phone face-panel and touchscreen digitizer!

DSC05218 DSC05220 DSC05223

DSC05225

DSC05226 DSC05239 DSC05256

The best part? The LCD in my unit is crappy... it seems to have two areas of pixels that are totally burnt out. I went ahead and ordered one on eBay as I had assumed that this was the reason that the unit had stopped working.

Compatibility

Of course, it struck me later on, after re-assembling the unit and stowing it away to wait for the new screen, that it could just be my laptop!? I downloaded the Oculus Compatibility Check Tool and was quickly told that my laptop hardware was useless. Muhahaha... what a waste of time... What to do? I have a desktop with a real NVIDIA card and realised I should've used it to begin with. I downloaded the Oculus Legacy 0.8.8 Runtime and gave it a whirl... success! I used the older version as there were conflicting reports online that this older DK2 unit only worked with older software.

2018-10-30 19 09 01-Oculus Configuration Utility

With the test application, I managed to happily sit at my desk and swing my head around. The movement was actually pretty damn flawless and the image quality very impressive! I then tried to load up games like GzDoom VR and Quake II VR but none managed to initialise the device... I assumed they needed the newer version of the software.

DSC05241 DSC05244 DSC05245

With my head at the right angle, I could really see how bad the LCD was also!? It seemed to be burnt at the same place on both screens!? Maybe some really bright light in a game cooked the crystals? (Excuse the dust... but look for the pink dot)

DSC05249

Throwing caution to the wind, I downloaded and installed the standard (latest) Oculus software on my desktop. Low-and-behold it (took forever to download and install) found both the USB and HDMI connections!

2018-11-01 18 50 57-Window 2018-11-01 19 06 59-Window 2018-11-01 20 25 24-Window

During setup, it whinged that it couldn't find anything, but skipping that worked. In the actual app I then got a warning that the DK2 was no longer supported. Dismissing that, I was finally presented with an error saying that it couldn't find the sensor.

DSC05263

Urgh... back to square zero...

Trying to play games without the sensor

This just doesn't work... I got a message box saying that the sensor can't be found and was presented with an OK button. Clicking this button was impossible though! Firstly, I needed a 'touch' device that the Oculus supported so that I could actually interact with the 3D world. At this point I was worried about putting in more money to something that I could never get working. I didn't know if clicking OK will actually let me into the game!?

Meanwhile, can't I just buy a replacement sensor? Turns out it's a big, fat no! Googling is pretty funny on this topic. It seems that during production, the sensor and headset are paired via serial number. The hardware has been open-sourced (here's the actual files), but the firmware for the sensor is not available! The quote from them is: The sensor also utilizes microcontrollers which require firmware which was not redistributable. Grrrrrrr!

Before I start an attempt to hack together a sensor (here's great inspiration!)... I wonder if I can (cheaply) get that button pressed to see if the games will continue without a sensor?

Controllers

To press that magic OK button, I knew I needed a working controller. I considered borrowing an XBOX 360 controller from a friend, but then found an article using an Xbox 360 Controller Emulator. It seems that others have had luck! (Original French article here)

2018-11-01 20 43 30-Window

I tried my hardest to fake the controller, but had no success... I couldn't get the DLL in the right place to stop the main Oculus app from whinging that nothing was connected. Of course, the best thing at this point was to get an actually-supported controller. I didn't bother trying to use my Android phone can emulate one. Instead, I picked up a cabled controller from a nearby second-hand store.

DSC05267

Finally, Oculus recognised it. Of course... it didn't let me press that magical OK button... I was stuck without a sensor!

Reverting back to 0.8.8

I was out and about taking the MR-2 for a spin and the thought came to me: I'd had the demo working fine on 0.8.8... there were no camera/sensor warnings! Maybe I should downgrade and find compatible software? I uninstalled the latest software and re-installed 0.8.8. I then browsed over to this list of compatible software. Oh look, Duke Nukem 3D!

DSC05266

Hahaha... SHAKE IT BABY. It just worked perfectly... with controller and all! I then went back to the GZ3Doom Releases Page and scrolled down, looking for that magical SDK value of 0.8.8. It also worked!

DSC05255

Ok, nice... I have things to do with this now.

We get to wait with Totoro!?

Whaaaaaat... Someone has built a 3D scene of the bus stop!? But the links are all dead... can anyone send me one that works?! Full review of it here, but still no valid links. The review indicates that Fire Panda are the author. But there's nothing on their actual site. Ohhhh: Due to a request by Studio Ghibli, these demos will sadly no longer be available. I hope that everyone who got a chance to play them enjoyed them and I hope you enjoy future projects I am able to bring to you. Thanks again for all your support! Boo... I'm only a few years late!

Turns out there's a whole world of user-authored content at SketchFab. Here's the train from Spirited Away. That Sea Railway was always a cool idea.

OpenHMD

This all seems promising, but there's no compiled binaries for Windows? I don't have a Linux machine to muck around with that has a good enough video card... hmmm... that's a little bit too much effort to go to. Actually, my main machine has started dropping the ethernet connection and blue-screening... maybe it's time for a rebuild!?

Build your own sensor?

There's a great set of documents at doc-ok.org on Hacking the Oculus Rift DK2 (Part 2, Part 3, Part 4) which describes how to read the data from a real DK2 sensor. This is all well and good, if you have the sensor... in my situation, this code will come in handy once I manage to fake a sensor. Philipp Zabel's ouvrt project also looks interesting as it is able to extra ROMs from DK2 sensors. This may only be the USB configuration ROM, but it'll totally help with the faking.

Where to start? The Open-sourced project of the DK2 has a hardware schematic of the sensor which shows that it's based on an eSP570. Turns out these are pretty hard to find... but Alibaba seems to have some available.

I thought the camera lens would sense the timing flashes that the headset produces, but it seems that this is done by an IR sensor built-in. There's then a micro-controller to parse this. You can see the sensor in the tear-down here. It seems to be something similar to this dis-continuted sensor. Urgh...

But I'm getting carried away... this is all totally-probably worth a probably-totally separate blog post...

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


*

No trackbacks yet.