https://bugs.kde.org/show_bug.cgi?id=512620

            Bug ID: 512620
           Summary: ScreenCast virtual monitor can only be negotiated at
                    1920x1080
    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: ---

***
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

I'm using plasma 6.3.6 patched with [this commit][1], and
xdg-desktop-portal-kde is patched with [this commit][2] so that I can create a
virtual monitor with kwin_wayland launched with the `--virtual` flag.

[1]: https://invent.kde.org/plasma/kwin/-/merge_requests/8472
[2]:
https://github.com/KDE/xdg-desktop-portal-kde/commit/8def3b7956d5c544764d4c53a3e848cb86ca26b9

However, it seems when starting the PipeWire stream, I must use a resolution of
1920x1080. Otherwise I won't get any frames. If I try to re-negotiate with a
different resolution, the screen will freeze and the PipeWire stream will no
longer be usable. This issue only reproduces on KDE and doesn't reproduce on
GNOME.

The renegotiation code can be found
[here](https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc;l=411;drc=9d5809a28521f1c6b09360e45b0bf7e1e7784214).

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. Configure it to use the `VIRTUAL` source with
[ScreenCast.SelectSources](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.ScreenCast.html#org-freedesktop-portal-screencast-selectsources)
3. [Start the
session](https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.RemoteDesktop.html#org-freedesktop-portal-remotedesktop-start)
and grab the PipeWire nodes
4. Connect to the PipeWire stream with a resolution of 2560x1440, observe
5. Now destroy everything and redo steps 1-3
6. Connect to the PipeWire stream with a resolution of 1920x1080
7. Renegotiate with a resolution of 2560x1440


OBSERVED RESULT

In steps 4 and 7, no output is received via PipeWire; the stream becomes
unusable

EXPECTED RESULT

The virtual monitor should be resized to the specified resolutions, and the
stream remains valid

SOFTWARE/OS VERSIONS
(available in the Info Center app, or by running `kinfo` in a terminal window)
Operating System: Linux
KDE Plasma Version: 6.3.6 (with patches mentioned above)
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.2
Graphics Platform: offscreen

ADDITIONAL INFORMATION

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to