Bug 484193 - KWin crashes due to no provider of glBlitFramebuffer found with KWIN_COMPOSE=O2ES
Summary: KWin crashes due to no provider of glBlitFramebuffer found with KWIN_COMPOSE=...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: effects-various (show other bugs)
Version: 6.0.1
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-21 22:23 UTC by Balló György
Modified: 2024-06-26 13:50 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.1.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Balló György 2024-03-21 22:23:08 UTC
SUMMARY
When I try to start KWin with KWIN_COMPOSE=O2ES, it fails, because it tries to use a feature that is not implemented by the OpenGL driver. The used driver is i915, which supports OpenGL ES 2.0.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
KDE Plasma Version: 6.0.1
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2

ADDITIONAL INFORMATION
kwin_wayland_wrapper[27009]: No provider of glBlitFramebuffer found.  Requires one of:
kwin_wayland_wrapper[27009]:     Desktop OpenGL 3.0
kwin_wayland_wrapper[27009]:     GL_ARB_framebuffer_object
kwin_wayland_wrapper[27009]:     OpenGL ES 3.0
kwin_wayland_wrapper[27009]:     GL_EXT_framebuffer_blit
kwin_wayland_wrapper[27009]:     GL_NV_framebuffer_blit
Comment 1 Zamundaaa 2024-03-21 23:15:19 UTC
Does this also happen if you disable the contrast effect? Afaict that's the only place glBlitFramebuffer isn't guarded by checks for if it's supported or not
Comment 2 Balló György 2024-03-21 23:56:53 UTC
(In reply to Zamundaaa from comment #1)
> Does this also happen if you disable the contrast effect?

If I disable the Background Contrast effect, this no longer occurs. As soon as I enable it again in the settings, it happens again. So yes, it caused by that effect.
Comment 3 Balló György 2024-06-25 15:14:57 UTC
With KWin 6.1.0, I get the following error, and KWin refuses to start:

kwin_wayland_wrapper[1231]: No provider of glBufferStorage found.  Requires one of:
kwin_wayland_wrapper[1231]:     Desktop OpenGL 4.4
kwin_wayland_wrapper[1231]:     GL_ARB_buffer_storage
kwin_wayland_wrapper[1231]:     GL_EXT_buffer_storage
Comment 4 Bug Janitor Service 2024-06-25 17:40:24 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/5995
Comment 5 Zamundaaa 2024-06-26 13:00:10 UTC
Git commit 0773db0710d54f696a1bf4c9a915b47a467788e2 by Xaver Hugl.
Committed on 26/06/2024 at 12:52.
Pushed by zamundaaa into branch 'master'.

opengl: glBufferStorage is not supported on GL ES by default

M  +1    -1    src/opengl/openglcontext.cpp

https://invent.kde.org/plasma/kwin/-/commit/0773db0710d54f696a1bf4c9a915b47a467788e2
Comment 6 Zamundaaa 2024-06-26 13:00:12 UTC
Git commit 60a483471c1b5f39cf3ed5c75014803fef57c90e by Xaver Hugl.
Committed on 26/06/2024 at 12:52.
Pushed by zamundaaa into branch 'master'.

opengl/glframebuffer: handle missing support for blits on Wayland

If OpenGL blits aren't supported, we can still copy the area by sampling the
texture for the screen on Wayland

M  +22   -0    src/opengl/glframebuffer.cpp

https://invent.kde.org/plasma/kwin/-/commit/60a483471c1b5f39cf3ed5c75014803fef57c90e
Comment 7 Zamundaaa 2024-06-26 13:50:37 UTC
Git commit a95a2196f380ce5208d37dd44ea802f97d6d4a9a by Xaver Hugl.
Committed on 26/06/2024 at 13:37.
Pushed by zamundaaa into branch 'Plasma/6.1'.

opengl/glframebuffer: handle missing support for blits on Wayland

If OpenGL blits aren't supported, we can still copy the area by sampling the
texture for the screen on Wayland

M  +22   -0    src/opengl/glframebuffer.cpp

https://invent.kde.org/plasma/kwin/-/commit/a95a2196f380ce5208d37dd44ea802f97d6d4a9a
Comment 8 Zamundaaa 2024-06-26 13:50:43 UTC
Git commit 40a2dd823be444c7f89dc770ecd26bc632d67660 by Xaver Hugl.
Committed on 26/06/2024 at 13:37.
Pushed by zamundaaa into branch 'Plasma/6.1'.

opengl: glBufferStorage is not supported on GL ES by default

M  +1    -1    src/opengl/openglcontext.cpp

https://invent.kde.org/plasma/kwin/-/commit/40a2dd823be444c7f89dc770ecd26bc632d67660