Summary: | external display running through an egpu is very laggy | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Matt Keith <rommy> |
Component: | multi-screen | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | matteo, nate, postix, xaver.hugl |
Priority: | NOR | ||
Version: | 5.26.5 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
See Also: | https://bugs.kde.org/show_bug.cgi?id=452219 | ||
Latest Commit: | Version Fixed In: | 6.0 | |
Attachments: |
drm_info output from freshly installed fedora 37 with all updates
Arch Linux drm_info output |
Description
Matt Keith
2023-02-16 02:52:15 UTC
probably a duplicate of https://bugs.kde.org/show_bug.cgi?id=452219 Bug 452219 is more about NVidia GPUs specifically, but yeah it's most likely the same underlying issue. Please attach the output of drm_info (https://gitlab.freedesktop.org/emersion/drm_info), whether or not KWin falls back to CPU copy should be visible in there. Created attachment 156551 [details]
drm_info output from freshly installed fedora 37 with all updates
This drm_info was collected from a freshly installed fedora 37 kde spin with the updates as of today, which includes kde 5.27
(In reply to Zamundaaa from comment #2) > Bug 452219 is more about NVidia GPUs specifically, but yeah it's most likely > the same underlying issue. > Please attach the output of drm_info > (https://gitlab.freedesktop.org/emersion/drm_info), whether or not KWin > falls back to CPU copy should be visible in there. The file is attached. I reinstalled fedora 37 onto a new partition so that I could ensure the egpu script i ran was not a factor. I'll keep it this way for troubleshooting purposes for a while Git commit b14f7959eb5f4d2b690ac26fdfee76abc837240c by Xaver Hugl. Committed on 12/04/2023 at 13:28. Pushed by zamundaaa into branch 'master'. backends/drm: add another multi gpu fallback With the dmabuf multi-gpu path, a buffer is imported to the secondary GPU and presented directly, but importing a buffer that's usable for scanout is not possible that way on most hardware. To prevent CPU copy from being needed in those cases, this commit introduces a fallback where the buffer is imported for rendering only, and then copied to a local buffer that's presented on the screen. Related: bug 452219 M +73 -43 src/backends/drm/drm_egl_backend.cpp M +5 -3 src/backends/drm/drm_egl_backend.h M +92 -15 src/backends/drm/drm_egl_layer_surface.cpp M +7 -3 src/backends/drm/drm_egl_layer_surface.h M +5 -0 src/composite.cpp M +1 -2 src/libkwineffects/kwinglutils.h M +18 -0 src/platformsupport/scenes/opengl/eglcontext.cpp M +7 -3 src/platformsupport/scenes/opengl/eglcontext.h https://invent.kde.org/plasma/kwin/commit/b14f7959eb5f4d2b690ac26fdfee76abc837240c ^^ That should fix it! Significant stutter still present on secondary monitor, and shortly after moving cursor to primary eDP display. EXPECTED RESULT: Plasma selects the proper GPU/Prime topology upon login and provides a smooth consistent 60fps through the external and internal display Operating System: Arch Linux KDE Plasma Version: 5.27.10 KDE Frameworks Version: 5.112.0 Qt Version: 5.15.11 Kernel Version: 6.6.4-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 8 × Intel® Core™ i5-8250U CPU @ 1.60GHz Memory: 7.5 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics 620 (Secondary GP: AMD 5500XT via Sonnet Breakaway Box over Thunderbolt 3) Manufacturer: Dell Inc. Product Name: XPS 13 9370 (In reply to Matt from comment #7) > Significant stutter still present on secondary monitor, and shortly after > moving cursor to primary eDP display. That's expected, you're on 5.27, which doesn't have the fix. Created attachment 164024 [details]
Arch Linux drm_info output
(In reply to Zamundaaa from comment #8) > (In reply to Matt from comment #7) > > Significant stutter still present on secondary monitor, and shortly after > > moving cursor to primary eDP display. > That's expected, you're on 5.27, which doesn't have the fix. Oh, my mistake. I misread the version info; the amount of time we've spent in 5.27 is pretty crazy! |