When we were able to load it at least.
EGL has some advantages, like not requiring a specific pixel format on the windows, it will share most of its problems with winewayland (and wineandroid although we may also assume GL doesn't work anymore there at this point) so anything fixed with it could benefit all. It will also be required for shared resources and compositing when Vulkan is unavailable.
This might be a bit early still, I'm not sure it is on par when it comes to child window rendering synchronization. However this doesn't drop GLX either, and instead just changes the default. I think it would be useful to switch early though, at least to have more time to settle (and eventually decide to switch back during code freeze if it proves a bad idea).
From: Rémi Bernon rbernon@codeweavers.com
--- dlls/winex11.drv/opengl.c | 5 ++--- dlls/winex11.drv/x11drv_main.c | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c index a25f291a2cf..4b39301cc53 100644 --- a/dlls/winex11.drv/opengl.c +++ b/dlls/winex11.drv/opengl.c @@ -523,10 +523,9 @@ UINT X11DRV_OpenGLInit( UINT version, const struct opengl_funcs *opengl_funcs, c } funcs = opengl_funcs;
- if (use_egl) + if (use_egl && opengl_funcs->egl_handle) { - if (!opengl_funcs->egl_handle) return STATUS_NOT_SUPPORTED; - WARN( "Using experimental EGL OpenGL backend\n" ); + TRACE( "Using EGL OpenGL backend\n" ); x11drv_driver_funcs = **driver_funcs; x11drv_driver_funcs.p_init_egl_platform = x11drv_init_egl_platform; x11drv_driver_funcs.p_surface_create = x11drv_egl_surface_create; diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c index 715a2444667..e078a66fbb0 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -68,7 +68,7 @@ Window root_window; BOOL usexvidmode = TRUE; BOOL usexrandr = TRUE; BOOL usexcomposite = TRUE; -BOOL use_egl = FALSE; +BOOL use_egl = TRUE; BOOL use_take_focus = TRUE; BOOL use_primary_selection = FALSE; BOOL use_system_cursors = TRUE;
I'm not sure if it's just some misconfiguration on my system, but X11 EGL doesn't seem to work at all when using XWayland from a Wayland session with proprietary NVIDIA drivers. It works when running in X11 natively, though.
Just something to note. It might only be an issue on my end.
Thanks, I wasn't aware of that. Might be indeed some underlying compatibility issue, I'll try to reproduce.
This merge request was closed by Rémi Bernon.