can not create context for other renderers with glfw

89 views
Skip to first unread message

Günther Walther Meier

unread,
Sep 7, 2023, 5:27:31 AM9/7/23
to angleproject
Hello,

for a couple of weeks now I've been struggling to use ANGLE with glfw on Linux to create a Vulkan context, though it will fail the same way using the desktop OpenGL backend.
The default OpenGLES backend works fine btw.

You can find the original discussion [here](https://discourse.glfw.org/t/glfw-angle-vulkan-renderer/2438/) though we weren't able to find a solution (that I could understand).

We've narrowed it down to glfw [retrieving the available extensions from EGL](https://github.com/glfw/glfw/blob/3eaf1255b29fdf5c2895856c7be7d7185ef2b241/src/egl_context.c#L459C18-L481) using `eglQueryString`, with `EGL_EXT_platform_x11` curiously missing. Is this expected behavior?
This is the full list, retrieved through gdb, with added line breaks for readability:
```
EGL_EXT_client_extensions
EGL_EXT_device_query
EGL_EXT_platform_base
EGL_EXT_platform_wayland
EGL_ANGLE_platform_angle
EGL_ANGLE_platform_angle_device_type_egl_angle
EGL_ANGLE_platform_angle_device_type_swiftshader
EGL_ANGLE_platform_angle_opengl
EGL_ANGLE_platform_angle_null
EGL_ANGLE_platform_angle_vulkan
EGL_ANGLE_platform_angle_device_id
EGL_ANGLE_x11_visual
EGL_KHR_client_get_all_proc_addresses
EGL_KHR_debug
EGL_ANGLE_feature_control
```
The Vulkan backend is selected by `glfwInitHint(GLFW_ANGLE_PLATFORM_TYPE, GLFW_ANGLE_PLATFORM_TYPE_VULKAN);`, glfw and ANGLE are built from latest source.

Is there anything else that might need to be done to make the ANGLE Vulkan (or the desktop OpenGL) backend work?
GLFW is set up to continue to treat it as an EGL + GLES 3.0 context through the window hints.

DE is Xfce, distribution Manjaro with latest kernel.
All glfw, Vulkan and ANGLE demos work fine on their own, so the machine is capable.
Reply all
Reply to author
Forward
0 new messages