Summary: | Taskbar doesn't repaint when running SDL application | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Paul <bugskde> |
Component: | Task Manager and Icons-Only Task Manager widgets | Assignee: | Eike Hein <hein> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | cfeck, plasma-bugs |
Priority: | NOR | ||
Version: | 5.8.6 | ||
Target Milestone: | 1.0 | ||
Platform: | Debian stable | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Paul
2018-05-19 13:30:07 UTC
As a bad workaround I now use SDL_WINDOW_SHOWN | SDL_WINDOW_UTILITY | SDL_WINDOW_ALWAYS_ON_TOP instead of SDL_WINDOW_SHOWN. The SDL_WINDOW_UTILITY prevents the window to be added to the taskbar, so the problem does not occur. But then I have to add SDL_WINDOW_ALWAYS_ON_TOP because otherwise it is difficult to get the window back once an other window is in front of it. Are you using NVIDIA OpenGL drivers? SDL stops compositing (you can avoid it with a window flag), so this is likely bug 353983. Yes, I'm using NVIDIA OpenGL drivers and this indeed seems to be bug 353983. $ glxinfo | grep OpenGL OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 550 Ti/PCIe/SSE2 OpenGL core profile version string: 4.5.0 NVIDIA 375.82 OpenGL core profile shading language version string: 4.50 NVIDIA OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.5.0 NVIDIA 375.82 OpenGL shading language version string: 4.50 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 375.82 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20 OpenGL ES profile extensions: For others reading this: The quick fix is to open "Compositor" via the application launcher and uncheck "Allow applications to block compositing". This can reduce performance. It's also possible to not allow block compositing for specific windows. Or, for SDL2 games, run the game in Konsole with SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR=0 gamename *** This bug has been marked as a duplicate of bug 353983 *** The "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR=0 gamename" doesn't work at my system for the test app I provided. |