Forum Discussion
OhioIon
7 years agoHonored Guest
How to get rift show HDMI video feed bare metal
Hi,
I want to view the output of my video processing board (Xilinx Zynq SoC or 7-series FPGA) on the rift. I power the rift with a power bank and send the OU stereo video feed directly via HDMI to the VR headset. So I'm not actually using any of the motion or head tracking stuff. There is also only the rift involved so no PC, Oculus home, SDK, whatsoever. I only want display HDMI feed and maybe also use the headphones by encoding audio in HDMI signal.
My problem is that once I put on the headset the rift won't activate the screens.
Is there any special resolution or data encoding format or refresh rate required on the HDMI connection in order to accept my feed?
Is there some initialization sequence necessary via USB to activate the displays within rift?
Regards,
Ion
I want to view the output of my video processing board (Xilinx Zynq SoC or 7-series FPGA) on the rift. I power the rift with a power bank and send the OU stereo video feed directly via HDMI to the VR headset. So I'm not actually using any of the motion or head tracking stuff. There is also only the rift involved so no PC, Oculus home, SDK, whatsoever. I only want display HDMI feed and maybe also use the headphones by encoding audio in HDMI signal.
My problem is that once I put on the headset the rift won't activate the screens.
Is there any special resolution or data encoding format or refresh rate required on the HDMI connection in order to accept my feed?
Is there some initialization sequence necessary via USB to activate the displays within rift?
Regards,
Ion
2 Replies
- OhioIonHonored GuestOkay now finally got it running with Raspberry Pi 4. Here's what I've found out:
- The LED will only turn from orange to white in case the Rift is seeing some HDMI signal and the screens are activated and keept alive with USB HID commands (see e.g. openHMD library)
- Even in case you see the white LED, screens will still stay dark if the HDMI is not exactly at 269.75 MHz pixel clock. This is quite unfortunate cause the cheaper Zynqs can't be used then.
- Rift CV1 does accept some other blanking and you can play around with it but basically the best and flicker-free results are achieved using exactly the detailed timing specification as given in the EDID.
- I did not extensive testing but it seems like reducing active resolution while keeping the pixel clock constant does not work either. (e.g. 1080p timings but with increased pixel clock and fps) . So basically it needs to be the native 2160x1200 which kind of makes sense for an HMD.
Regards,
Ion - OhioIonHonored GuestI checked the CV1 EDID. Looks like timing of the HDMI signal needs to be this:
// Detailed Timing Descriptor //Pixel Clock: 296.75MHzHorizontal Active: 2160Horizontal Blanking: 80Vertical Active: 1200Vertical Blanking: 272Horizontal Sync Offset: 8Horizontal Sync Pulse: 32Vertical Sync Offset: 50Vertical Sync Pulse: 2Horizontal Display Size: 119Vertical Display Size: 66Horizontal Border: 0Vertical Border: 0Interlaced: falseStereo Mode: 0Sync Type: 3
That are 3.297.280 pixel @ 296.75 MHz which gives the 90 Hz refresh rate advertised by Oculus.
Seems like the mode is Side-By-Side now with CV1 as the horizontal active width is now twice the size of the single eye resolution.
Does someone know if it will also work with e.g. 75 Hz refresh rate?
The Zynq is limited to 250 MHz pixel clock.
Or will it work with less blanking?
The following settings would give me 90 Hz as well but drastically reduce the vertical blanking interval:Pixel Clock: 246.96MHzHorizontal Active: 2160Horizontal Blanking: 80Vertical Active: 1200Vertical Blanking: 25Horizontal Sync Offset: 8Horizontal Sync Pulse: 32Vertical Sync Offset: 12Vertical Sync Pulse: 2
According to the CV1 teardown the HDMI to DSI bridge (TC358870XBG) is capable of RGB888 but also YCbCr422. Would chroma subsampling work with the CV1?
I also noticed that there is a orange LED inside the CV1 which goes white in case Oculus app has connection to both HDMI and USB. Only then the screens will enable on proximity.
Think I need to have a look at the USB protocol as well....
Regards,
Ion
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
- 2 months ago
- 8 months ago
- 9 months ago