subdiff added a comment.

  In https://phabricator.kde.org/D1230#158987, @Kanedias wrote:
  
  > > The thing is I would like to see your solution also be applicable to 
other apps that need access to the buffer contents, like screen recording tools 
(SimpleScreenRecorder for example) and so on. If you say KRfb does the 
heavy-lifting, I assume such a screen recording tool would need to do this as 
well in a nontrivial additional backend.
  >
  > But it is. By heavy-lifting I mean calling glReadPixels on that BO.
  
  
  I'm not sure that I understood you correctly but the problem I mean is that 
every other app (SSR, OBS, ...) also needs to:
  
  - Speak to the proposed Wayland protocol extension
  - Have logic to handle GBM buffers and copy these buffers into Gl textures or 
something similar
  
  While this is manageable, I would like to have such apps only need to write 
one backend for all Wayland compositors. PipeWire maybe could provide this.
  
  I could imagine the following (broad strokes):
  
  - Use your KWin code
  - Use your KWayland code as a Plasma only protocol
  - Move your KRfb only code into plasma-workspace
  - Let a KDE Daemon process talk with KWin via your protocol
  - Let this Daemon handle client requests (we should align its interface with 
GNOME)
  - If clients want screen capture do a copy //once// per frame to Gl texture 
(if needed by the next step)
  - Pipe the Gl textures (or if PipeWire can handle GBM buffers these directly) 
into a PipeWire stream
  
  On the other side PipeWire is pretty new and its documentation is nearly 
non-existent. I don't know if with PipeWire it really could work in the way I 
described above. Your current solution works right now. It might still be an 
idea if you are interested to check out if you could integrate your approach 
with PipeWire in the way I described above or something similar and if you 
could do this now or only after the current version version of your patches has 
landed.

REPOSITORY
  R108 KWin

REVISION DETAIL
  https://phabricator.kde.org/D1230

To: Kanedias, graesslin, davidedmundson, subdiff, #kwin
Cc: subdiff, ngraham, alexeymin, aacid, kwin, #kwin, davidedmundson, 
plasma-devel, bwowk, leezu, ZrenBot, progwolff, lesliezhai, ali-mohamed, 
hardening, jensreuterberg, abetts, eliasp, sebas, apol, mart, hein

Reply via email to