| Summary: | KWin Wayland insufficient performance for video playback vs. Xorg on slow Gemini Lake GPU | ||
|---|---|---|---|
| Product: | [Plasma] kwin | Reporter: | tempel.julian |
| Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
| Status: | REPORTED --- | ||
| Severity: | normal | CC: | tempel.julian, xaver.hugl |
| Priority: | NOR | ||
| Version First Reported In: | 6.4.4 | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
kwin performance log
stats with ICC correction |
||
|
Description
tempel.julian
2025-09-02 07:33:53 UTC
Please set https://invent.kde.org/plasma/kwin/-/wikis/Environment-Variables#kwin_log_performance_data and record some performance data about KWin's presentation while playing a video that stutters. Created attachment 184650 [details]
kwin performance log
Hope this helps. I figured it might make sense to test with 59.94Hz/fps video instead, as this triggers more mistimed frames. I also checked again for it to play smoothly on xorg, which it does (with xf86-video-intel DDX at least). mpv stats also don't recognize every single stutter occurrence I can discern visually. ๐๐งน โ ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone! Not noticing an improvement with 6.4.90. Attaching one more performance log. This time with ICC profile calibration on, which makes the issue more distinct, despite the GPU still not being maxed out and SoC power draw well below its 6W limit. Created attachment 185294 [details]
stats with ICC correction
The GPU seems to be doing fine, the majority of dropped frames comes from the commit thread waking up too late (or the atomic commit taking too long):
- total of 942 frames
- dropped 59 frames (6.3%)
- 52 because of too late commits (5.5%)
- 4 because of late rendering start (0.42%)
- 3 because of render times (0.32%)
- 8698us average render time
- 8946us median render time
The max render time is also not exactly great though, at 32ms.
I'm not entirely sure how to attempt to rectify this tbh. Maybe the safety margin calculation needs to be even more conservative... but on your hardware, it's already never even going below 2.5ms.
Still, you can test with setting https://invent.kde.org/plasma/kwin/-/wikis/Environment-Variables#kwin_drm_override_safety_margin to some higher value. 4000 could maybe work.
Setting KWIN_DRM_OVERRIDE_SAFETY_MARGIN=4000 indeed does massively improve the situation. |