I read somewhere that Oculus withdrew Linux support after being bought by faceboot, but there is the OpenHMD library which I've just compiled on a Pi 3 B+. When running the example provided the Rift was detected and I could see the gyro/accelerometer/magnetometer data in real time - a definite YES! moment, though the displays remained pitch black.
It seems likely that this is due to incorrect HDMI settings in /boot/config.txt but I'm not having much luck figuring out the right settings for the CV1. I'm using the following DK2 settings, copied from Wayne Keenan:
Code: Select all
hdmi_timings=1080 1 33 10 15 1920 1 1 1 13 0 0 0 75 0 165000000 3 hdmi_group=2 hdmi_mode=87 max_framebuffer_width=1080 max_framebuffer_height=1920 display_rotate=3 hdmi_ignore_edid=0xa5000080 hvs_priority=0x32ff hdmi_pixel_freq_limit=400000000
This doesn't work of course, since the DK2 has completely different displays to the CV1. But interestingly, after adding this and rebooting, the previously always yellow "stand-by" LED indication turned into a white "active" when running the OpenHMD example. I took this to be a promising sign, and set about trying to read the EDID of the CV1 directly, but:
Code: Select all
$ get-edid This is read-edid version 3.0.2. Prepare for some fun. Attempting to use i2c interface Looks like no busses have an EDID. Sorry! I'm sorry nothing was successful. Maybe try some other arguments
I think I read somewhere that the Oculus Rift doesn't behave as a "normal" HDMI display, which might explain the get-edid fail - but I really need this data in order to generate my own hdmi_timings. Or maybe not? I'm hoping someone here might recognise the issue and point me in the right direction - because my compass is spinning somewhat helplessly at the moment...
Edit: I just had a flicker of life from the displays! For a brief moment I was able to see vertical lines of seemingly random colours across 2/3 of the field of view. It lasted no more than a few seconds, before the displays went black again. But it was great to see something, however buggy and brief. This reinforces my belief that all I'm missing are the correct hdmi_timings etc.