Direct Capture mode

78 views
Skip to first unread message

Kleomenis Katevas

unread,
Mar 27, 2021, 9:11:18 AM3/27/21
to TigerVNC Developer Discussion
Hello 

Is there a Direct Capture mode for TigerVNC like in RealVNC?

Thank you
Kleomenis

Pierre Ossman

unread,
Mar 29, 2021, 4:53:18 AM3/29/21
to Kleomenis Katevas, TigerVNC Developer Discussion
On 27/03/2021 14:11, Kleomenis Katevas wrote:
> Hello
>
> Is there a Direct Capture mode for TigerVNC like in RealVNC?
> More
> info: https://help.realvnc.com/hc/en-us/articles/360002249917-VNC-Connect-and-Raspberry-Pi
>

It's very light on details on what that means, but from what I can dig
up it seems the pi has some way of bypassing the X server when drawing
things.

If that's the case then no, TigerVNC has no such mode. I'd also consider
that a bug that should be reported to the pi graphics driver team. The X
server should always be able to keep track of what's on screen.

Regards
--
Pierre Ossman Software Development
Cendio AB https://cendio.com
Teknikringen 8 https://twitter.com/ThinLinc
583 30 Linköping https://facebook.com/ThinLinc
Phone: +46-13-214600

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Kleomenis Katevas

unread,
Mar 29, 2021, 8:09:39 AM3/29/21
to TigerVNC Developer Discussion
Thank you for your reply.

I think this happens when an app writes directly to the GPU (thus making use of video acceleration). In that case, TigerVNC cannot see it.
For instance, check this thread: https://github.com/FD-/RPiPlay/issues/221.
There is always the option of using gstreamer, but then you depend on the CPU (which is very limited in the Pi).

Not sure what RealVNC does in this "Direct Capture" mode and bypasses this limitation.

Pierre Ossman

unread,
Mar 29, 2021, 8:15:56 AM3/29/21
to Kleomenis Katevas, TigerVNC Developer Discussion
On 29/03/2021 14:09, Kleomenis Katevas wrote:
> Thank you for your reply.
>
> I think this happens when an app writes directly to the GPU (thus making
> use of video acceleration). In that case, TigerVNC cannot see it.
> For instance, check this thread: https://github.com/FD-/RPiPlay/issues/221.
> There is always the option of using gstreamer, but then you depend on the
> CPU (which is very limited in the Pi).
>
> Not sure what RealVNC does in this "Direct Capture" mode and bypasses this
> limitation.
>

GPU acceleration is definitely possible without breaking VNC. So it is
something broken in the raspberry pi graphics stack. Normally in such
cases the graphics driver is responsible for setting up hooks in the X
server to get the pixels if they are needed.

Evidently it is possible to work around this issue, but we have no such
workarounds and they would likely be specific to the pi.
Reply all
Reply to author
Forward
0 new messages