https://bugs.kde.org/show_bug.cgi?id=512622
Bug ID: 512622
Summary: Cursor should not be included in the stream cast
stream if cursor mode is METADATA
Classification: Plasma
Product: kwin
Version First 6.3.6
Reported In:
Platform: Debian testing
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: screencasting
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 187178
--> https://bugs.kde.org/attachment.cgi?id=187178&action=edit
A screen video showing the cursor being rendered twice
***
If you're not sure this is actually a bug, instead post about it at
https://discuss.kde.org
If you're reporting a crash, attach a backtrace with debug symbols; see
https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Please remove this comment after reading and before submitting - thanks!
***
SUMMARY
This is what [the
spec](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.ScreenCast.html#org-freedesktop-portal-screencast-availablecursormodes)
says. Chrome Remote Desktop renders the cursor on the client side, so the
current behavior on KDE results in the cursor being rendered twice. See
attached video.
STEPS TO REPRODUCE
1. Create an [XDG RemoteDesktop
session](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.RemoteDesktop.html#org-freedesktop-portal-remotedesktop-createsession)
2. Call
[ScreenCast.SelectSources](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.ScreenCast.html#org-freedesktop-portal-screencast-selectsources),
use `VIRTUAL` as the types and `METADATA` as the cursor_mode.
3. Do the rest of the setup, i.e. start remote desktop session and connect
PipeWire
OBSERVED RESULT
The cursor image is available via the PipeWire metadata, but it is also
rendered onto the desktop frames.
EXPECTED RESULT
It should only be included in the metadata and never be rendered onto the
desktop frames. This is what the spec says. Failing that results in the cursor
being rendered twice.
SOFTWARE/OS VERSIONS
Operating System: Linux
KDE Plasma Version: 6.3.6
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.2
Graphics Platform: offscreen
ADDITIONAL INFORMATION
It seems xdg-desktop-portal-kde ([code]) never plumbs the `cursor_mode` field
through kwin. It is hardcoded to METADATA, which is exactly what I passed in
anyway, so that's not the problem (or it could be someone else's problem).
Looking at the [kwin code here], `ScreencastV1Interface::Embedded` and
`ScreencastV1Interface::Metadata` are handled the same way, so I assume the
implementation would both show the cursor and include it in the metadata. These
two enums should probably be handled separately.
[code]:
https://github.com/KDE/xdg-desktop-portal-kde/blob/6f1ea2a49ad94cc2c350f1fb086b0541498e1e6e/src/remotedesktop.cpp#L182
[kwin code here]:
https://github.com/KDE/kwin/blob/68bae427b5668f6f52ed27b5b841d9cf0c6ef71b/src/plugins/screencast/screencaststream.cpp#L447
--
You are receiving this mail because:
You are watching all bug changes.