Don't set the video size using the data coming from xdp, instead use the
data coming from pipewire, which is what matters.
Also make sure setVideoSize is called before using the buffer rather
than after.
It is possible to have zero data in the buffer, but have the
buffer to carry metadata about the mouse cursor. In that case
we should try to process the cursor metadata before we discard
the buffer for not having any data.
It implements a KWin protocol that is oriented towards serving a virtual
display specifically.
It requests KWin a stream that will act as a monitor that we can feed
into remote clients.
When we allocate the locally mapped texture size, use the announced
stride (aka bytes per line) instead of the texture width. Otherwise we
might overflow and crash eventually.
BUG: 438815
This reverts commit eb1dc503bd.
Revert "Add dma-buf defines to build dma-buf support everywhere"
This reverts commit 8f0de62401.
Revert "Drop support for PipeWire 0.2"
This reverts commit 028ac099ea.
These were accidentally pushed without review. They were meant
to be pushed to my fork instead.
Summary: Adds support for slightly different PipeWire API.
Test Plan: Tested with xdg-desktop-portal-kde and new pipewire.
Reviewers: Kanedias
Reviewed By: Kanedias
Differential Revision: https://phabricator.kde.org/D27287
Summary:
Adds a new framebuffer implementation, which uses xdg-desktop-portal to support remote
desktop on Wayland and uses PipeWire to deliver the screen content. So far only mouse
support is implemented, because keyboard support is missing on KWin side.
Reviewers: Kanedias, romangg
Reviewed By: Kanedias
Subscribers: asturmlechner, pino, ngraham, romangg
Differential Revision: https://phabricator.kde.org/D20402