Antti Savolainen
c521740404
Format project
...
Command used to format: git ls-files | grep -E '\.(cpp|h|hpp|c)$' | xargs clang-format -i --style file
2026-04-25 06:49:43 +00:00
Midori Kochiya
caa11fb498
pw: fix memcpy size
2025-03-19 23:10:43 +00:00
Nicolas Fella
606e1a53d3
Convert license statements to SPDX
2024-08-08 11:02:04 +00:00
Prajna Sariputra
f071ad4eba
wayland: Add support for the persistence feature of the remote desktop portal
...
Same idea as https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/639 , v2 of the remote desktop portal can accept and return a restore token that we can use to avoid constantly asking the user for permission every time Krfb is started.
Note that there's a bug in `xdg-desktop-portal-kde` that breaks persistence if it's restarted for whatever reason, for example when rebooting (see https://bugs.kde.org/show_bug.cgi?id=480235 and https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/639#note_859651 for more details), so at the moment this only works when restarting Krfb in the same session.
2024-06-01 12:27:07 +00:00
Aleix Pol
0d3a38f39e
pw: Fix build with last released KPipeWire release
2024-05-01 23:04:49 +02:00
Yaroslav Sidlovsky
6e7a5ba569
Fixed crash calling PWFrameBuffer::cursorPosition()
...
Return default QPoint when `d->cursor` is not set.
BUG: 472453
2024-04-22 17:06:36 +03:00
Aleix Pol
378472f8b2
pw: Improve fb allocation code.
...
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.
2024-03-13 00:35:21 +01:00
Aleix Pol
a87302156a
wayland: Adapt to change in kpipewire
2024-01-19 01:49:12 +01:00
Nicolas Fella
39c83720bf
Remove module from KPipeWire includes
...
This doesn't work in KF6
2024-01-08 01:02:22 +01:00
Aleix Pol
9c7f354f72
pipewire: Drop dependencies that remained after the port to KPipeWire
2023-04-23 19:15:51 +02:00
Aleix Pol i Gonzalez
4db9c65083
pipewire: Port to use KPipeWire
...
Rather than using pipewire directly, we can use this framework which
allows us to share a bunch of code with Plasma.
2023-01-12 13:48:46 +00:00
Nicolas Fella
4169a9f50a
Don't pass unused window ids around
...
The wid is only relevant for the xcb framebuffer
We can just query it there, no need to pass it around everywhere
2022-08-03 22:00:16 +02:00
Jan Grulich
96eb21da35
PipeWire fb: process cursor metadata even for empty buffer
...
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.
2022-01-05 11:39:29 +01:00
Aleix Pol
1d23966d79
pipewire: Support SPA_META_VideoDamage
...
Inform about the regions that changed so everything doesn't need to be
sent on every frame.
2021-11-03 14:28:54 +00:00
Aleix Pol
61d464676c
pipewire: Support cursors
2021-11-03 14:28:54 +00:00
Aleix Pol
4707bde236
Introduce krfb-virtualmonitor
...
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.
2021-10-29 14:05:34 +00:00
Laurent Montel
c729e9e048
Modernize code
2021-07-09 08:53:14 +02:00
Aleix Pol
b8f972d59e
Fix crash when the destination stride != source stride
...
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
2021-06-17 21:03:56 +02:00
Ömer Fadıl Usta
3a1a5ad7a2
Add missing check for HAVE_DMA_BUF
2021-06-03 09:15:48 +00:00
Ömer Fadıl Usta
8e667abe69
Fix typo on epoxy variablename revert ifdef back to if
2021-06-03 09:05:48 +00:00
Ömer Fadıl Usta
2e82546012
Fix cmakedefine parts and increase cmake version
2021-06-03 07:30:29 +00:00
Jan Grulich
acc70e4cee
PipeWire support improvements
2021-06-02 12:25:00 +00:00
Jan Grulich
4f2861415a
Revert "Improve PipeWire code"
...
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.
2021-05-21 14:12:23 +02:00
Jan Grulich
eb1dc503bd
Improve PipeWire code
...
- add support for VideoCrop metadata
- add support for memptr buffer type
2021-05-21 14:09:10 +02:00
Jan Grulich
8f0de62401
Add dma-buf defines to build dma-buf support everywhere
2021-05-21 09:31:51 +02:00
Jan Grulich
028ac099ea
Drop support for PipeWire 0.2
2021-05-21 09:22:45 +02:00
Aleix Pol
f041cdf095
pipewire: Support BGRA
...
It's not supported by QImage, so we need to do it ourselves by swapping
the B and the R.
2021-01-22 00:58:34 +00:00
Tobias Junghans
de7050d8b7
pipewire: fix version check
2020-10-23 14:59:08 +02:00
Tobias Junghans
a109e3d6c9
Use auto keyword where possible
2020-10-23 10:54:59 +02:00
Tobias Junghans
4993e65d59
Include C headers in C++ style
2020-10-23 10:52:23 +02:00
Tobias Junghans
d91bbdcb05
Use QStringLiteral to avoid runtime allocations
2020-10-23 10:51:02 +02:00
Tobias Junghans
1d429a9bc6
Add missing member variable initializations
2020-10-23 10:49:57 +02:00
Tobias Junghans
2b9cb5c58c
pipewire: remove QX11Info include
...
The plugin neither uses QX11Info nor links against Qt5::X11Extras.
2020-10-22 08:48:17 +00:00
Ömer Fadıl Usta
7ba81f52df
Remove doubled parts and fix compile for systems without pipewire
...
SPA_DATA_DmaBuf checking was written twice which needs on pipewire
2020-09-19 11:02:41 +03:00
Aleix Pol
b9efda5956
Merge branch 'release/20.08' into master
2020-09-19 00:31:35 +02:00
Aleix Pol
8afd5c8df2
pipewire: Only aspire to use dmabuf if linux/dma-buf.h is present
2020-09-18 18:16:42 +02:00
Ömer Fadıl Usta
ef6b3a6093
Fixes for builds without pipewire3
...
Because of some parts still available without PW_CHECK_VERSION check
the systems without pipewire3 couldnt able to compile code.
2020-09-18 16:58:08 +02:00
Aleix Pol
c5d6abab58
Port pipewire to use QLoggingCategory
2020-09-16 00:38:03 +02:00
Aleix Pol
c5e157fa82
Support DMABuf streams
2020-09-15 16:15:41 +02:00
Aleix Pol
3e00ff22f9
Support DMABuf streams
2020-09-15 16:14:06 +02:00
Jan Grulich
92c9905f36
PW framebuffer: support upcoming PipeWire 0.3
...
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
2020-02-26 14:22:27 +01:00
Alexey Min
656c90916c
Fix unused variable warning
2019-07-07 14:06:46 +03:00
Jan Grulich
c05707884c
Implement Wayland support using PipeWire and xdg-desktop-portal
...
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
2019-05-24 13:51:43 +02:00