Summary: | PipeWire Screen Capture Freezes Fullscreen Target Applications | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | dream <dreamsyntax> |
Component: | screencasting | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | itsforspam99, jc40477, kostadinshishmanov, light.bed3900, linx.system.adm, nate, postnozet, richmond-robinson, ttthwvezrjdmeldtud, xaver.hugl |
Priority: | NOR | ||
Version: | 6.2.5 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Other | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/45a5d8844b36404334301f5da6e75f1a345e0c80 | Version Fixed In: | 6.3.0 |
Sentry Crash Report: |
Description
dream
2024-10-24 08:38:49 UTC
I have exactly the same issue, but on PC with one GPU Additionally freezing does not occur if I do one of these: 1. Drag OBS Studio window (or other capture app) to the another monitor 2. Enable HDR or change color profile in KDE settings My setup: CPU - Ryzen 5600X GPU - Radeon 6800XT KDE Plasma version - 6.2.2 I can confirm that I can reproduce the same issue, though on a system with only one GPU. Occurs when capturing a window with OBS and with Vesktop. # Specs: Operating System: Fedora Linux 40 KDE Plasma Version: 6.2.2 KDE Frameworks Version: 6.7.0 Qt Version: 6.7.2 Kernel Version: 6.11.4-201.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 5600X 6-Core Processor Memory: 31.2 GiB of RAM Graphics Processor: NVIDIA GeForce RTX 3060 Ti/PCIe/SSE2 Confirmed issue persists on kwin 6.2.3. I'm experiencing this issue also while trying to stream a game on discord or with obs. I can capture the full desktop or windowed applications fine, and the application is still responsive if I run it in gamescope. Let me know if there's any debug or additional info that'd be helpful to provide SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.2.4 KDE Frameworks Version: 6.9.0 Qt Version: 6.8.1 Kernel Version: 6.12.4-zen Graphics Platform: Wayland Graphics: NVIDIA GeForce RTX 3080 Kwin version 6.2.4-4 still has the same problem too. I also notice on single GPU (my desktop) I am running into similar issues when capturing a Window directly if the app hides the mouse cursor. The target window will be frozen (not just in the recording- the actual application) while the Window is being captured and the mouse hides itself. Reproduced in 6.2.5-2 Experiencing this bug too, specifically with VESKTOP (Flatpack). Operating System: Fedora Linux 41 KDE Plasma Version: 6.2.5 KDE Frameworks Version: 6.9.0 Qt Version: 6.8.1 Kernel Version: 6.12.7-200.fc41.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 7600 6-Core Processor Memory: 30.5 GiB of RAM Graphics Processor: NVIDIA GeForce RTX 4060/PCIe/SSE2 Manufacturer: Gigabyte Technology Co., Ltd. Product Name: B650M C V2-Y1 System Version: -CF I'm also experiencing this on my single-GPU system. It seems to only occur when capturing a specific window via PipeWire - other methods of capture (e.g. PipeWire full screen capture, OBS Game Capture), function as expected. Operating System: Nobara Linux 41 KDE Plasma Version: 6.2.4 KDE Frameworks Version: 6.9.0 Qt Version: 6.8.1 Kernel Version: 6.12.7-200.fsync.fc41.x86_64 (64-bit) Graphics Platform: Wayland Processors: 32 × AMD Ryzen 9 5950X 16-Core Processor Memory: 31.2 GiB of RAM Graphics Processor: NVIDIA GeForce RTX 4090/PCIe/SSE2 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/6980 Git commit b1031ea63eaa8c9bf5c70157d1b6bf8eb0f5a74a by Xaver Hugl. Committed on 10/01/2025 at 12:36. Pushed by zamundaaa into branch 'master'. plugins/screencast: call ItemRenderer::begin/endFrame The OpenGL renderer references the explicit sync release points for client buffers during rendering, and releases them in endFrame. If endFrame never gets called though (for example because we're doing direct scanout) then the release points never get signaled, and the client very quickly runs out of buffers to use and freezes. M +2 -2 src/plugins/screencast/windowscreencastsource.cpp https://invent.kde.org/plasma/kwin/-/commit/b1031ea63eaa8c9bf5c70157d1b6bf8eb0f5a74a Git commit 45a5d8844b36404334301f5da6e75f1a345e0c80 by Xaver Hugl. Committed on 10/01/2025 at 13:45. Pushed by zamundaaa into branch 'Plasma/6.3'. plugins/screencast: call ItemRenderer::begin/endFrame The OpenGL renderer references the explicit sync release points for client buffers during rendering, and releases them in endFrame. If endFrame never gets called though (for example because we're doing direct scanout) then the release points never get signaled, and the client very quickly runs out of buffers to use and freezes. (cherry picked from commit b1031ea63eaa8c9bf5c70157d1b6bf8eb0f5a74a) Co-authored-by: Xaver Hugl <xaver.hugl@gmail.com> M +2 -2 src/plugins/screencast/windowscreencastsource.cpp https://invent.kde.org/plasma/kwin/-/commit/45a5d8844b36404334301f5da6e75f1a345e0c80 |