xpra icon
Bug tracker and wiki

Opened 15 months ago

Last modified 9 months ago

#1316 assigned enhancement

stereo display support

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: 3.0
Component: core Version: trunk
Keywords: Cc: dennis.schridde@…

Description (last modified by Antoine Martin)

For VR, etc..

This is likely to be tied to how each graphics drivers implement stereoscopic support.
I don't see how this can be implemented or emulated in the dummy driver in a meaningful way using the software opengl renderer. We could use two virtual dummy screens, but forcing applications to use separate screens for each eye is likely to be very difficult, even with a virtualgl-like interposer.

This may require us to run in desktop mode with multiple X11 screens and forward each one to the client.

Then the client code probably just use a PFD_STEREO context and render each eye with glDrawBuffer(BACK_LEFT) / glDrawBuffer(BACK_RIGHT). See the opengl example in NVIDIA 3D VISION PRO AND STEREOSCOPIC 3D. (we don't need to worry about fulcrum and parallax)

See nvidia driver xconfigoptions.

Other links:

Change History (4)

comment:1 Changed 15 months ago by Antoine Martin

Status: newassigned

Referring to the nvidia stereo options values:

  • 3 "onboard stereo" - not possible to forward (relies on a physical proprietary DIN plug)
  • 4 "One-eye-per-display passive stereo": can be captured and forwarded
  • 5 "Vertical interlaced stereo mode, for use with SeeReal? Stereo Digital Flat Panels.": could be made to work but probably just a variant of 4, and 4 is easier
  • 6 "Color interleaved stereo mode, for use with Sharp3D Stereo Digital Flat Panels." - same as 5
  • 7 "Horizontal interlaced stereo mode, for use with Arisawa, Hyundai, Zalman, Pavione, and Miracube Digital Flat Panels." - same as 5
  • 8 "Checkerboard pattern stereo mode, for use with 3D DLP Display Devices." same as 5
  • 9 "Inverse checkerboard pattern stereo mode, for use with 3D DLP Display Devices." - same as 5
  • 10 "NVIDIA 3D Vision mode for use with NVIDIA 3D Vision glasses." - probably not possible (USB device)
  • 11 "NVIDIA 3D VisionPro? mode for use with NVIDIA 3D VisionPro? glasses" - worse than 10
  • 12 "HDMI 3D": unlikely to work
  • 13 "Tridelity SL stereo mode, for use with Tridelity SL display devices": unlikely to work

So the only mode that we're likely to be able to forward is (4). Even if some of the other ones could be captured somehow (5, 6, 7, 8, 9), handling the data would be complicated and require extra work for no benefit.

What is used client-side for actually displaying the two views we have captured should not be a concern and we should even be able to use all 3D capable GPUs via the opengl client.

Last edited 15 months ago by Antoine Martin (previous) (diff)

comment:2 Changed 15 months ago by Antoine Martin

Description: modified (diff)

comment:3 Changed 15 months ago by Antoine Martin

Description: modified (diff)

comment:4 Changed 9 months ago by urzds

Cc: dennis.schridde@… added
Note: See TracTickets for help on using tickets.