[PATCH 0/13] Add stereoscopy support

Pekka Paalanen ppaalanen at gmail.com
Fri Jan 31 13:20:23 UTC 2020

On Tue, 14 Nov 2017 15:05:47 +0000
Emmanuel Gil Peyrot <linkmauve at linkmauve.fr> wrote:

> This series adds a new protocol to specify the stereoscopic layout of a
> surface, and a way for a compositor to tell the client what the native
> layout is, in order to allow direct scanout in the fullscreen case.  It
> then implements said protocol in Weston.
> The only stereoscopy-enabled backend is currently the DRM backend using
> gl-renderer; the Wayland one will follow shortly after, I have no plan
> to implement it anywhere else for now.
> I’m not too happy with the mode selection as it is currently, ideally
> the compositor would expose all of the available modes, and only modeset
> to the best stereo mode once a client asks for stereo, to avoid
> rendering twice at any time, but this can probably be left to a
> follow-up series as well.
> I wrote a blog post[1] detailing my approach, it can be interesting in
> relation to this series.  You can also find git branches of
> wayland-protocols[2] and weston[3] for easier testing.
> Thanks for your feedback!
> [1] https://linkmauve.fr/blog/post/2017/09/08/adding-a-third-dimension-to-wayland/
> [2] https://gitlab.collabora.com/emmanuel/wayland-protocols/tree/stereoscopy
> [3] https://gitlab.collabora.com/emmanuel/weston/tree/stereoscopy


I'm sure this was an interesting experiment, but did it generate any
interest in the end?

The left/right image delivery is probably good for 3DTVs, but I wonder
if works for HMDs. Well, if the client is "fullscreen" and in total
control of the HMD, then sure, but can you integrate it with a VR
desktop? The fullscreen case seems to be aiming for DRM leasing

Do you think this approach is still viable?

I'll go ahead and mark the patches in Patchwork as RFC to clean up the
list. If you are still interested, you can submit a merge request, but
I'm not sure it would have any more success than this.


> Emmanuel Gil Peyrot (13):
>   wayland-protocols: Add stereoscopy protocol
>   clients: Add a simple-stereo client, based on simple-shm.
>   compositor: Implement stereoscopy as a noop.
>   compositor: Add a stereoscopy capability.
>   compositor: Display the correct default buffer.
>   compositor: Store the stereoscopy layout of an output.
>   compositor-drm: Enable the stereo capability.
>   compositor-drm: Print stereo modes as such.
>   compositor-drm: Create a correctly-sized gbm buffer.
>   gl-renderer: Add stereoscopy support.
>   compositor-drm: Cursors need to be broken with stereoscopy.
>   main, compositor: Add a stereoscopy config option.
>   compositor-drm: Select stereo modes based on the configuration.
>  Makefile.am                                      |  27 +-
>  clients/simple-stereo.c                          | 647 +++++++++++++++++++++++++++++++++++++++++++++
>  compositor/main.c                                |  60 +++++
>  libweston/compositor-drm.c                       |  90 ++++++-
>  libweston/compositor.c                           | 224 +++++++++++++++-
>  libweston/compositor.h                           |  22 ++
>  libweston/gl-renderer.c                          | 135 ++++++++--
>  libweston/gl-renderer.h                          |   6 +
>  man/weston-drm.man                               |   6 +-
>  unstable/stereoscopy/README                      |   4 +
>  unstable/stereoscopy/stereoscopy-unstable-v1.xml | 187 +++++++++++++++++++++++
>  11 files changed, 1377 insertions(+), 31 deletions(-)
>  create mode 100644 clients/simple-stereo.c
>  create mode 100644 unstable/stereoscopy/README
>  create mode 100644 unstable/stereoscopy/stereoscopy-unstable-v1.xml

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20200131/1ed0dafa/attachment.sig>

More information about the wayland-devel mailing list