The blur plugin is creating screen artifacts.
Describe the bug to reproduce the issue is necessary cube plugin and blur/alpha enabled on the view
~ ❯❯❯ cat /tmp/wayfire-log.txt | grep git II 16-06-25 20:50:06.525 - [render/gles2/renderer.c:539] Using OpenGL ES 3.2 Mesa 25.2.0-devel (git-00dd0d0dd1)
https://github.com/user-attachments/assets/d33a7a59-25e9-4ab7-ae41-5e8ddd9b2422
maybe related #2667 then duplicated? the root issue seems the alpha plugin
II 16-06-25 22:31:52.193 - [plugins/window-rules/view-action-interface.cpp:404] View action interface: Alpha set to 0.68.
EE 16-06-25 22:32:09.129 - [GLES2] GL_INVALID_OPERATION in glTexSubImage2D(invalid texture level 0)
EE 16-06-25 22:32:09.179 - [GLES2] GL_INVALID_OPERATION in glTexSubImage2D(invalid texture level 0)
EE 16-06-25 22:32:09.413 - [src/core/opengl.cpp:44] gles2: function glBindFramebuffer(0x8CA9, ensure_render_buffer_fb_id(buffer)) in void wf::gles::bind_render_buffer(const wf::render_buffer_t&) line 347: GL_INVALID_OPERATION
EE 16-06-25 22:32:09.414 - [GLES2] GL_INVALID_OPERATION in glTexSubImage2D(invalid texture level 0)
EE 16-06-25 22:32:09.414 - [GLES2] GL_INVALID_OPERATION in glTexSubImage2D(invalid texture level 0)
EE 16-06-25 22:32:09.415 - [src/core/opengl.cpp:44] gles2: function glBindFramebuffer(0x8CA9, ensure_render_buffer_fb_id(buffer)) in void wf::gles::bind_render_buffer(const wf::render_buffer_t&) line 347: GL_INVALID_OPERATION
EE 16-06-25 22:32:09.464 - [GLES2] GL_INVALID_OPERATION in glTexSubImage2D(invalid texture level 0)
EE 16-06-25 22:32:09.464 - [src/core/opengl.cpp:44] gles2: function glBindFramebuffer(0x8CA9, ensure_render_buffer_fb_id(buffer)) in void wf::gles::bind_render_buffer(const wf::render_buffer_t&) line 347: GL_INVALID_OPERATION
now it will be easier for you to fix :P
Looks like alpha is the reason. I do not use blur - but use alpha. Disabling alpha plugin makes artifacts disappear even with default 100 transaction timeout.
But it does not have anything with the transparency effect itself - I use patched version of move plugin that applies transparency on moving window, and this still works. So the engine of transparent window is ok but alpha plugin itself seems to do something wrong.
Checked the code of alpha.cpp
The only thing that do loop and massive damafe is min_value_changed function.
Commented out the line in alpha.cpp
min_value.set_callback(min_value_changed);
And no more damage issues.
In theory this thing should not be called inless I do manual (or IPC) change of min_value config parameter. But this callback seems to be looping over all windows during maximize-unaximize animation. So maybe the issue is a bit deeper and there are more callbacks like this that run when they should not - but they fo not do visual artefacts so silently consume PC resources and energy efficiency.