Thanks, understood. I would expect that I need to take some care in allocating 
a buffer that my DRM driver accepts for writeback, in this usage.

Do I interpret right that the wlroots screencopy extension wants the client to 
create a fresh zwlr_screencopy_frame_v1 for each successive frame? I wonder 
then:


  *   Whether this might lead to the possibility of dropped frames, if the 
client doesn’t manage to send back the requests to start capture for frame N+1 
soon enough after the delivery of the copied buffer for frame N; and
  *   Will the explicit request for each frame via zwlr_screencopy_frame_v1:: 
copy(), result in artificial redraws to satisfy the request? Ideally I would 
just like to receive a passive copy of each frame that naturally got drawn by 
the compositor. Perhaps with one artificial redraw at the very beginning of the 
screencopy stream just to have a defined starting point.

-Matt

From: Simon Ser <cont...@emersion.fr>
Date: Friday, May 31, 2024 at 10:16 AM
To: Andri Yngvason <an...@yngvason.is>
Cc: "Hoosier, Matt" <matt.hoos...@garmin.com>, Pekka Paalanen 
<pekka.paala...@collabora.com>, "s...@cmpwn.com" <s...@cmpwn.com>, Marius Vlad 
<marius.v...@collabora.com>, "wayland-devel@lists.freedesktop.org" 
<wayland-devel@lists.freedesktop.org>
Subject: Re: Full-motion zero-copy screen capture in Weston

On Friday, May 31st, 2024 at 16: 45, Simon Ser <contact@ emersion. fr> wrote: > 
> See: https: //urldefense. com/v3/__https: //gitlab. freedesktop. 
org/wayland/wayland-protocols/-/merge_requests/124__;!!EJc4YC3iFmQ!WaOP607PgstX4CpWrn4DV6X4TIDRrqQW5XEZfczyVDFZdkpmCfNDh0lUQetO5TuCK5ct4NVlCqcAz4-8ehlw$


On Friday, May 31st, 2024 at 16:45, Simon Ser <cont...@emersion.fr> wrote:



> > See: 
> > https://urldefense.com/v3/__https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/124__;!!EJc4YC3iFmQ!WaOP607PgstX4CpWrn4DV6X4TIDRrqQW5XEZfczyVDFZdkpmCfNDh0lUQetO5TuCK5ct4NVlCqcAz4-8ehlw$<https://urldefense.com/v3/__https:/gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/124__;!!EJc4YC3iFmQ!WaOP607PgstX4CpWrn4DV6X4TIDRrqQW5XEZfczyVDFZdkpmCfNDh0lUQetO5TuCK5ct4NVlCqcAz4-8ehlw$>

> >

> > > My goal is to implement this screen capture with a guarantee that the 
> > > copy comes from a KMS writeback connector. I know this sounds like an odd 
> > > thing to insist on. Let's say that in my industry, the system is rarely 
> > > only running Linux directly on the bare metal. Using the writeback 
> > > hardware on the display controller allows to get a copy of content from 
> > > all the virtual machines in the system.

> >

> > Although the protocol is called "screencopy", it does not need to be

> > implemented via copying. I don't think anything precludes drm

> > write-back or rendering directly to the client-submitted buffers.

>

> Not sure that's true… With screencopy the client necessarily provides

> buffers that the compositor copies into.



Correction: Andri said that it should be possible to pass client-allocated

buffers to the writeback connector. There might be allocation considerations

to take care of, but it might work fine indeed.

Reply via email to