-
Notifications
You must be signed in to change notification settings - Fork 343
Assertion failed when creating cursor FBO on multi-GPU setup #2479
Comments
I don't know nearly enough about wlroots to understand this bug, but in the meantime adding this hack inside of gles2_get_renderer_in_context at least prevents the crash. I'm sure the actual fix is elsewhere though as if(!wlr_egl_is_current(renderer->egl)) {
wlr_egl_make_current(renderer->egl, EGL_NO_SURFACE, NULL);
} function calls leading up to the crash: |
FWIW I see the assert only when external monitors are connected. |
I can create a pull request if this is a satisfactory solution. Even with this change, I still get freezes from time to time when hotplugging external monitors. Not sure if that is related to this or some other change. (I haven't kept up with more recent changes to wlroots/sawy as I've not been using sway on a daily basis because of this issue.) |
|
drm_fb_import_wlr may need to change the current EGL context. For instance by calling drm_fb_clear, which calls wlr_buffer_unlock, which may destroy a buffer if the cursor swapchain size has changed, which calls gles2's destroy_buffer, which calls glDeleteFramebuffers. Closes: swaywm#2479
Can you try #2520? |
drm_fb_import_wlr may need to change the current EGL context. For instance by calling drm_fb_clear, which calls wlr_buffer_unlock, which may destroy a buffer if the cursor swapchain size has changed, which calls gles2's destroy_buffer, which calls glDeleteFramebuffers. Closes: #2479
With latest sources, sway fails to start. Log attached.
sway.log
The text was updated successfully, but these errors were encountered: