Fwd: Remote display with 3D acceleration using Wayland/Weston

Erik De Rijcke derijcke.erik at gmail.com
Fri Feb 24 07:46:46 UTC 2017


---------- Forwarded message ----------
From: Erik De Rijcke <derijcke.erik at gmail.com>
Date: 2017-02-24 8:46 GMT+01:00
Subject: Re: Remote display with 3D acceleration using Wayland/Weston
To: Christian Stroetmann <stroetmann at ontolab.com>


I made a poc for a remote (gl) display some time ago for my own compositor,
but instead of using rdp, I used html5 websocket & canvas.

On a 800x600 display I would get a steady 30fps. There were basically 2
performance challenges to be solved. The glreadpixels and the compression
of raw pixels to a compressed image format (png in my case). In the end I
had to resolve to multi threading to get acceptable performance. This was
without other optimizations like only reading out damaged regions, or
resorting to something more efficient than glreadpixels.

Nowadays I'm working on a html5 solution that is more (very) closely
related to what waltham aims to be. That is where only the content of
individual surfaces are send over rtp (openwebrtc in my case). While
communication with the back-end happens over a wayland alike protocol [
https://github.com/udevbe/westfield ]. Each client then basically runs it's
own compositor.

One major issue that is still unresolved is to efficiently encode a gl
texture to a video frame (vp8/9, h264) without leaving the gpu space early.
Ideally the encoding to a video frame (or a png or jpeg) happens on the gpu
so the amount of pixels to be read out is minimized.

What you should ask yourself is if you really want to send over the entire
screen or just the individual surfaces. Using individual surfaces should
give you less work to get some decent performance, another side effect is
that moving a surface does not require re-sending the entire screen.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20170224/a7718f73/attachment.html>


More information about the wayland-devel mailing list