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

            Bug ID: 525008
           Summary: Kwin main thread hangs on
                    EglGbmLayerSurface::importBuffer and
                    GLTexturePrivate::~GLTexturePrivate when GPU is busy.
    Classification: Plasma
           Product: kwin
      Version First 6.7.4
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Keywords: wayland-only
          Severity: normal
          Priority: NOR
         Component: performance
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---
             Flags: NVIDIA+

When the GPU is busy, I observe severe Kwin hitches on the cursor and the
capslock/numlock LED because the main thread is blocked in
EglGbmLayerSurface::importBuffer and GLTexturePrivate::~GLTexturePrivate
respectively.

STEPS TO REPRODUCE
1. Open a browser with WebGL enabled and go to
https://threejs.org/examples/webgl_renderer_pathtracer.html (Warning: this page
highly loads the GPU and may hangs some GPU drivers)
2. Wait until GPU usage is maxing out.
3. Move the cursor, open some windows or do any other interaction with Kwin.

OBSERVED RESULT
Severe cursor and capslock/numlock LED hitches because Kwin main thread is
blocked in EglGbmLayerSurface::importBuffer and
GLTexturePrivate::~GLTexturePrivate.

EXPECTED RESULT
The main thread should no be blocked on buffer import and texture destruction.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 6.7.4
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.2
Linux: 7.1.11-arch1-1
Nvidia: 610.57.04

ADDITIONAL INFORMATION
GLTexturePrivate::~GLTexturePrivate is calling glDeleteTextures. Even if this
function should be non-blocking, with Nvidia drivers this function is blocking.

I also shared as attachment a performance capture of my system while this issue
occurred with Sysprof.

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

Reply via email to