Bug 1738814 Comment 2 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

GL_RENDERER of es2_info differs between with LIBGL_ALWAYS_SOFTWARE=1 (llvmpipe (LLVM 11.0.1, 128 bits)) and without (V3D 4.2).

```
$ ./test
0x3000 clientExtensions (EGL_EXTENSIONS for EGL_NO_DISPLAY): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless

clientExtensions: EGL_KHR_client_get_all_proc_addresses supported
clientExtensions: EGL_EXT_platform_base supported
clientExtensions: EGL_KHR_platform_x11 supported
0x3000 eglGetPlatformDisplay
0x3000 eglInitialize ok
0x3000 EGL_VENDOR: Mesa Project

0x3000 displayExtensions (EGL_EXTENSIONS for initialized display): EGL_ANDROID_blob_cache EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap 

clientExtensions: EGL_EXT_device_query supported
0x3000 eglGetProcAddress(eglQueryDisplayAttribEXT)
0x3000 eglGetProcAddress(eglQueryDeviceStringEXT)
0x3000 device: eglQueryDisplayAttribEXT EGL_DEVICE_EXT ok

0x3000 deviceExtensions (EGL_EXTENSIONS for device): EGL_MESA_device_software

deviceExtensions: nvidia EGL_EXT_device_query_name not supported
deviceExtensions: EXT_device_drm not supported, ignoring
0x300c no EGL_DRM_DEVICE_FILE_EXT
```
es2_info from mesa-utils-extra:
```
$ es2_info
EGL_VERSION: 1.4
EGL_VENDOR: Mesa Project
EGL_EXTENSIONS:
    EGL_ANDROID_blob_cache, EGL_CHROMIUM_sync_control, EGL_EXT_buffer_age, 
    EGL_EXT_image_dma_buf_import, EGL_EXT_image_dma_buf_import_modifiers, 
    EGL_EXT_swap_buffers_with_damage, EGL_KHR_cl_event2, 
    EGL_KHR_config_attribs, EGL_KHR_create_context, 
    EGL_KHR_create_context_no_error, EGL_KHR_fence_sync, 
    EGL_KHR_get_all_proc_addresses, EGL_KHR_gl_colorspace, 
    EGL_KHR_gl_renderbuffer_image, EGL_KHR_gl_texture_2D_image, 
    EGL_KHR_gl_texture_3D_image, EGL_KHR_gl_texture_cubemap_image, 
    EGL_KHR_image, EGL_KHR_image_base, EGL_KHR_image_pixmap, 
    EGL_KHR_no_config_context, EGL_KHR_reusable_sync, 
    EGL_KHR_surfaceless_context, EGL_KHR_swap_buffers_with_damage, 
    EGL_EXT_pixel_format_float, EGL_KHR_wait_sync, 
    EGL_MESA_configless_context, EGL_MESA_drm_image, 
    EGL_MESA_image_dma_buf_export, EGL_MESA_query_driver, 
    EGL_NOK_texture_from_pixmap
EGL_CLIENT_APIS: OpenGL OpenGL_ES 
GL_VERSION: OpenGL ES 3.1 Mesa 20.3.5
GL_RENDERER: V3D 4.2
GL_EXTENSIONS:
    GL_EXT_blend_minmax, GL_EXT_multi_draw_arrays, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_format_BGRA8888, GL_OES_compressed_ETC1_RGB8_texture, 
    GL_OES_depth24, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 
    GL_OES_mapbuffer, GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, 
    GL_OES_stencil8, GL_OES_texture_3D, GL_OES_texture_float, 
    GL_OES_texture_half_float, GL_OES_texture_half_float_linear, 
    GL_OES_texture_npot, GL_OES_vertex_half_float, GL_EXT_draw_instanced, 
    GL_EXT_texture_sRGB_decode, GL_OES_EGL_image, GL_OES_depth_texture, 
    GL_OES_packed_depth_stencil, GL_EXT_texture_type_2_10_10_10_REV, 
    GL_OES_get_program_binary, GL_APPLE_texture_max_level, 
    GL_EXT_discard_framebuffer, GL_EXT_read_format_bgra, GL_EXT_frag_depth, 
    GL_NV_fbo_color_attachments, GL_OES_EGL_image_external, GL_OES_EGL_sync, 
    GL_OES_vertex_array_object, GL_ANGLE_pack_reverse_row_order, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_EXT_occlusion_query_boolean, GL_EXT_texture_rg, GL_EXT_unpack_subimage, 
    GL_NV_draw_buffers, GL_NV_read_buffer, GL_NV_read_depth, 
    GL_NV_read_depth_stencil, GL_NV_read_stencil, GL_EXT_draw_buffers, 
    GL_EXT_map_buffer_range, GL_KHR_debug, 
    GL_KHR_texture_compression_astc_ldr, GL_NV_pixel_buffer_object, 
    GL_OES_depth_texture_cube_map, GL_OES_required_internalformat, 
    GL_OES_surfaceless_context, GL_EXT_color_buffer_float, 
    GL_EXT_sRGB_write_control, GL_EXT_separate_shader_objects, 
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 
    GL_EXT_base_instance, GL_EXT_compressed_ETC1_RGB8_sub_texture, 
    GL_EXT_draw_elements_base_vertex, GL_EXT_primitive_bounding_box, 
    GL_EXT_shader_io_blocks, GL_EXT_texture_border_clamp, 
    GL_KHR_context_flush_control, GL_NV_image_formats, 
    GL_OES_draw_elements_base_vertex, GL_OES_primitive_bounding_box, 
    GL_OES_shader_io_blocks, GL_OES_texture_border_clamp, 
    GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array, 
    GL_EXT_buffer_storage, GL_EXT_float_blend, GL_EXT_geometry_point_size, 
    GL_EXT_geometry_shader, GL_KHR_no_error, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_OES_EGL_image_external_essl3, 
    GL_OES_geometry_point_size, GL_OES_geometry_shader, 
    GL_OES_shader_image_atomic, GL_EXT_texture_compression_s3tc_srgb, 
    GL_MESA_shader_integer_functions, GL_KHR_parallel_shader_compile, 
    GL_EXT_EGL_image_storage, GL_MESA_framebuffer_flip_y, 
    GL_EXT_texture_query_lod
```

```
$ LIBGL_ALWAYS_SOFTWAR=1 ./test

0x3000 clientExtensions (EGL_EXTENSIONS for EGL_NO_DISPLAY): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless

clientExtensions: EGL_KHR_client_get_all_proc_addresses supported
clientExtensions: EGL_EXT_platform_base supported
clientExtensions: EGL_KHR_platform_x11 supported
0x3000 eglGetPlatformDisplay
0x3000 eglInitialize ok
0x3000 EGL_VENDOR: Mesa Project

0x3000 displayExtensions (EGL_EXTENSIONS for initialized display): EGL_ANDROID_blob_cache EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap 

clientExtensions: EGL_EXT_device_query supported
0x3000 eglGetProcAddress(eglQueryDisplayAttribEXT)
0x3000 eglGetProcAddress(eglQueryDeviceStringEXT)
0x3000 device: eglQueryDisplayAttribEXT EGL_DEVICE_EXT ok

0x3000 deviceExtensions (EGL_EXTENSIONS for device): EGL_MESA_device_software

deviceExtensions: nvidia EGL_EXT_device_query_name not supported
deviceExtensions: EXT_device_drm not supported, ignoring
0x300c no EGL_DRM_DEVICE_FILE_EXT
```
```
$ LIBGL_ALWAYS_SOFTWARE=1 es2_info
EGL_VERSION: 1.5
EGL_VENDOR: Mesa Project
EGL_EXTENSIONS:
    EGL_EXT_create_context_robustness, EGL_KHR_cl_event2, 
    EGL_KHR_config_attribs, EGL_KHR_context_flush_control, 
    EGL_KHR_create_context, EGL_KHR_create_context_no_error, 
    EGL_KHR_fence_sync, EGL_KHR_get_all_proc_addresses, EGL_KHR_gl_colorspace, 
    EGL_KHR_gl_renderbuffer_image, EGL_KHR_gl_texture_2D_image, 
    EGL_KHR_gl_texture_3D_image, EGL_KHR_gl_texture_cubemap_image, 
    EGL_KHR_image_base, EGL_KHR_no_config_context, EGL_KHR_reusable_sync, 
    EGL_KHR_surfaceless_context, EGL_EXT_pixel_format_float, 
    EGL_KHR_wait_sync, EGL_MESA_configless_context, EGL_MESA_drm_image, 
    EGL_MESA_query_driver
EGL_CLIENT_APIS: OpenGL OpenGL_ES 
GL_VERSION: OpenGL ES 3.2 Mesa 20.3.5
GL_RENDERER: llvmpipe (LLVM 11.0.1, 128 bits)
GL_EXTENSIONS:
    GL_EXT_blend_minmax, GL_EXT_multi_draw_arrays, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_format_BGRA8888, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, GL_OES_mapbuffer, 
    GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, GL_OES_stencil8, 
    GL_OES_texture_3D, GL_OES_texture_float, GL_OES_texture_float_linear, 
    GL_OES_texture_half_float, GL_OES_texture_half_float_linear, 
    GL_OES_texture_npot, GL_OES_vertex_half_float, GL_EXT_draw_instanced, 
    GL_EXT_texture_sRGB_decode, GL_OES_EGL_image, GL_OES_depth_texture, 
    GL_OES_packed_depth_stencil, GL_EXT_texture_type_2_10_10_10_REV, 
    GL_NV_conditional_render, GL_OES_get_program_binary, 
    GL_APPLE_texture_max_level, GL_EXT_discard_framebuffer, 
    GL_EXT_read_format_bgra, GL_EXT_frag_depth, GL_NV_fbo_color_attachments, 
    GL_OES_EGL_image_external, GL_OES_EGL_sync, GL_OES_vertex_array_object, 
    GL_OES_viewport_array, GL_ANGLE_pack_reverse_row_order, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_EXT_occlusion_query_boolean, GL_EXT_robustness, GL_EXT_texture_rg, 
    GL_EXT_unpack_subimage, GL_NV_draw_buffers, GL_NV_read_buffer, 
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil, 
    GL_EXT_draw_buffers, GL_EXT_map_buffer_range, GL_KHR_debug, 
    GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr, 
    GL_NV_pixel_buffer_object, GL_OES_depth_texture_cube_map, 
    GL_OES_required_internalformat, GL_OES_surfaceless_context, 
    GL_EXT_color_buffer_float, GL_EXT_sRGB_write_control, 
    GL_EXT_separate_shader_objects, GL_EXT_shader_group_vote, 
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 
    GL_EXT_tessellation_point_size, GL_EXT_tessellation_shader, 
    GL_ANDROID_extension_pack_es31a, GL_EXT_base_instance, 
    GL_EXT_compressed_ETC1_RGB8_sub_texture, GL_EXT_copy_image, 
    GL_EXT_draw_buffers_indexed, GL_EXT_draw_elements_base_vertex, 
    GL_EXT_gpu_shader5, GL_EXT_polygon_offset_clamp, 
    GL_EXT_primitive_bounding_box, GL_EXT_render_snorm, 
    GL_EXT_shader_io_blocks, GL_EXT_texture_border_clamp, 
    GL_EXT_texture_buffer, GL_EXT_texture_cube_map_array, 
    GL_EXT_texture_norm16, GL_EXT_texture_view, 
    GL_KHR_blend_equation_advanced, GL_KHR_context_flush_control, 
    GL_KHR_robust_buffer_access_behavior, GL_NV_image_formats, 
    GL_OES_copy_image, GL_OES_draw_buffers_indexed, 
    GL_OES_draw_elements_base_vertex, GL_OES_gpu_shader5, 
    GL_OES_primitive_bounding_box, GL_OES_sample_shading, 
    GL_OES_sample_variables, GL_OES_shader_io_blocks, 
    GL_OES_shader_multisample_interpolation, GL_OES_tessellation_point_size, 
    GL_OES_tessellation_shader, GL_OES_texture_border_clamp, 
    GL_OES_texture_buffer, GL_OES_texture_cube_map_array, 
    GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array, 
    GL_OES_texture_view, GL_EXT_blend_func_extended, GL_EXT_buffer_storage, 
    GL_EXT_float_blend, GL_EXT_geometry_point_size, GL_EXT_geometry_shader, 
    GL_KHR_no_error, GL_KHR_texture_compression_astc_sliced_3d, 
    GL_OES_EGL_image_external_essl3, GL_OES_geometry_point_size, 
    GL_OES_geometry_shader, GL_OES_shader_image_atomic, 
    GL_EXT_clip_cull_distance, GL_EXT_disjoint_timer_query, 
    GL_EXT_texture_compression_s3tc_srgb, GL_MESA_shader_integer_functions, 
    GL_EXT_clip_control, GL_EXT_color_buffer_half_float, 
    GL_EXT_texture_compression_bptc, GL_KHR_parallel_shader_compile, 
    GL_EXT_EGL_image_storage, GL_EXT_shader_framebuffer_fetch_non_coherent, 
    GL_EXT_texture_sRGB_R8, GL_EXT_texture_shadow_lod, 
    GL_MESA_framebuffer_flip_y, GL_EXT_depth_clamp, GL_EXT_texture_query_lod
```
---

about:support
> DMABUF	
> available by default
> failed by runtime: Failed to configure

According to https://github.com/lgsvl/meta-lgsvl-browser/commit/282c2b24b604b7ab88c1904eafb17aff75e9ccac from a year ago, Gbm seems to be broken on Raspberry Pi 4.
The issue is still open: https://github.com/raspberrypi/linux/issues/3411

---

First Google result for "V3D EGL_MESA_device_software" is this commit: https://gitlab.freedesktop.org/mesa/mesa/-/commit/08a51770bd1b39262003a14850d416df04d13ac7
GL_RENDERER of es2_info differs between with LIBGL_ALWAYS_SOFTWARE=1 (llvmpipe (LLVM 11.0.1, 128 bits)) and without (V3D 4.2).

```
$ ./test
0x3000 clientExtensions (EGL_EXTENSIONS for EGL_NO_DISPLAY): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless

clientExtensions: EGL_KHR_client_get_all_proc_addresses supported
clientExtensions: EGL_EXT_platform_base supported
clientExtensions: EGL_KHR_platform_x11 supported
0x3000 eglGetPlatformDisplay
0x3000 eglInitialize ok
0x3000 EGL_VENDOR: Mesa Project

0x3000 displayExtensions (EGL_EXTENSIONS for initialized display): EGL_ANDROID_blob_cache EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_swap_buffers_with_damage EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_KHR_swap_buffers_with_damage EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap 

clientExtensions: EGL_EXT_device_query supported
0x3000 eglGetProcAddress(eglQueryDisplayAttribEXT)
0x3000 eglGetProcAddress(eglQueryDeviceStringEXT)
0x3000 device: eglQueryDisplayAttribEXT EGL_DEVICE_EXT ok

0x3000 deviceExtensions (EGL_EXTENSIONS for device): EGL_MESA_device_software

deviceExtensions: nvidia EGL_EXT_device_query_name not supported
deviceExtensions: EXT_device_drm not supported, ignoring
0x300c no EGL_DRM_DEVICE_FILE_EXT
```
es2_info from mesa-utils-extra:
```
$ es2_info
EGL_VERSION: 1.4
EGL_VENDOR: Mesa Project
EGL_EXTENSIONS:
    EGL_ANDROID_blob_cache, EGL_CHROMIUM_sync_control, EGL_EXT_buffer_age, 
    EGL_EXT_image_dma_buf_import, EGL_EXT_image_dma_buf_import_modifiers, 
    EGL_EXT_swap_buffers_with_damage, EGL_KHR_cl_event2, 
    EGL_KHR_config_attribs, EGL_KHR_create_context, 
    EGL_KHR_create_context_no_error, EGL_KHR_fence_sync, 
    EGL_KHR_get_all_proc_addresses, EGL_KHR_gl_colorspace, 
    EGL_KHR_gl_renderbuffer_image, EGL_KHR_gl_texture_2D_image, 
    EGL_KHR_gl_texture_3D_image, EGL_KHR_gl_texture_cubemap_image, 
    EGL_KHR_image, EGL_KHR_image_base, EGL_KHR_image_pixmap, 
    EGL_KHR_no_config_context, EGL_KHR_reusable_sync, 
    EGL_KHR_surfaceless_context, EGL_KHR_swap_buffers_with_damage, 
    EGL_EXT_pixel_format_float, EGL_KHR_wait_sync, 
    EGL_MESA_configless_context, EGL_MESA_drm_image, 
    EGL_MESA_image_dma_buf_export, EGL_MESA_query_driver, 
    EGL_NOK_texture_from_pixmap
EGL_CLIENT_APIS: OpenGL OpenGL_ES 
GL_VERSION: OpenGL ES 3.1 Mesa 20.3.5
GL_RENDERER: V3D 4.2
GL_EXTENSIONS:
    GL_EXT_blend_minmax, GL_EXT_multi_draw_arrays, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_format_BGRA8888, GL_OES_compressed_ETC1_RGB8_texture, 
    GL_OES_depth24, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, 
    GL_OES_mapbuffer, GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, 
    GL_OES_stencil8, GL_OES_texture_3D, GL_OES_texture_float, 
    GL_OES_texture_half_float, GL_OES_texture_half_float_linear, 
    GL_OES_texture_npot, GL_OES_vertex_half_float, GL_EXT_draw_instanced, 
    GL_EXT_texture_sRGB_decode, GL_OES_EGL_image, GL_OES_depth_texture, 
    GL_OES_packed_depth_stencil, GL_EXT_texture_type_2_10_10_10_REV, 
    GL_OES_get_program_binary, GL_APPLE_texture_max_level, 
    GL_EXT_discard_framebuffer, GL_EXT_read_format_bgra, GL_EXT_frag_depth, 
    GL_NV_fbo_color_attachments, GL_OES_EGL_image_external, GL_OES_EGL_sync, 
    GL_OES_vertex_array_object, GL_ANGLE_pack_reverse_row_order, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_EXT_occlusion_query_boolean, GL_EXT_texture_rg, GL_EXT_unpack_subimage, 
    GL_NV_draw_buffers, GL_NV_read_buffer, GL_NV_read_depth, 
    GL_NV_read_depth_stencil, GL_NV_read_stencil, GL_EXT_draw_buffers, 
    GL_EXT_map_buffer_range, GL_KHR_debug, 
    GL_KHR_texture_compression_astc_ldr, GL_NV_pixel_buffer_object, 
    GL_OES_depth_texture_cube_map, GL_OES_required_internalformat, 
    GL_OES_surfaceless_context, GL_EXT_color_buffer_float, 
    GL_EXT_sRGB_write_control, GL_EXT_separate_shader_objects, 
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 
    GL_EXT_base_instance, GL_EXT_compressed_ETC1_RGB8_sub_texture, 
    GL_EXT_draw_elements_base_vertex, GL_EXT_primitive_bounding_box, 
    GL_EXT_shader_io_blocks, GL_EXT_texture_border_clamp, 
    GL_KHR_context_flush_control, GL_NV_image_formats, 
    GL_OES_draw_elements_base_vertex, GL_OES_primitive_bounding_box, 
    GL_OES_shader_io_blocks, GL_OES_texture_border_clamp, 
    GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array, 
    GL_EXT_buffer_storage, GL_EXT_float_blend, GL_EXT_geometry_point_size, 
    GL_EXT_geometry_shader, GL_KHR_no_error, 
    GL_KHR_texture_compression_astc_sliced_3d, GL_OES_EGL_image_external_essl3, 
    GL_OES_geometry_point_size, GL_OES_geometry_shader, 
    GL_OES_shader_image_atomic, GL_EXT_texture_compression_s3tc_srgb, 
    GL_MESA_shader_integer_functions, GL_KHR_parallel_shader_compile, 
    GL_EXT_EGL_image_storage, GL_MESA_framebuffer_flip_y, 
    GL_EXT_texture_query_lod
```

```
$ LIBGL_ALWAYS_SOFTWARE=1 ./test

0x3000 clientExtensions (EGL_EXTENSIONS for EGL_NO_DISPLAY): EGL_EXT_device_base EGL_EXT_device_enumeration EGL_EXT_device_query EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions EGL_KHR_debug EGL_EXT_platform_device EGL_EXT_platform_wayland EGL_KHR_platform_wayland EGL_EXT_platform_x11 EGL_KHR_platform_x11 EGL_MESA_platform_gbm EGL_KHR_platform_gbm EGL_MESA_platform_surfaceless

clientExtensions: EGL_KHR_client_get_all_proc_addresses supported
clientExtensions: EGL_EXT_platform_base supported
clientExtensions: EGL_KHR_platform_x11 supported
0x3000 eglGetPlatformDisplay
0x3000 eglInitialize ok
0x3000 EGL_VENDOR: Mesa Project

0x3000 displayExtensions (EGL_EXTENSIONS for initialized display): EGL_EXT_create_context_robustness EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_context_flush_control EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image_base EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_query_driver 

clientExtensions: EGL_EXT_device_query supported
0x3000 eglGetProcAddress(eglQueryDisplayAttribEXT)
0x3000 eglGetProcAddress(eglQueryDeviceStringEXT)
0x3000 device: eglQueryDisplayAttribEXT EGL_DEVICE_EXT ok

0x3000 deviceExtensions (EGL_EXTENSIONS for device): EGL_MESA_device_software

deviceExtensions: nvidia EGL_EXT_device_query_name not supported
deviceExtensions: EXT_device_drm not supported, ignoring
0x300c no EGL_DRM_DEVICE_FILE_EXT
```
```
$ LIBGL_ALWAYS_SOFTWARE=1 es2_info
EGL_VERSION: 1.5
EGL_VENDOR: Mesa Project
EGL_EXTENSIONS:
    EGL_EXT_create_context_robustness, EGL_KHR_cl_event2, 
    EGL_KHR_config_attribs, EGL_KHR_context_flush_control, 
    EGL_KHR_create_context, EGL_KHR_create_context_no_error, 
    EGL_KHR_fence_sync, EGL_KHR_get_all_proc_addresses, EGL_KHR_gl_colorspace, 
    EGL_KHR_gl_renderbuffer_image, EGL_KHR_gl_texture_2D_image, 
    EGL_KHR_gl_texture_3D_image, EGL_KHR_gl_texture_cubemap_image, 
    EGL_KHR_image_base, EGL_KHR_no_config_context, EGL_KHR_reusable_sync, 
    EGL_KHR_surfaceless_context, EGL_EXT_pixel_format_float, 
    EGL_KHR_wait_sync, EGL_MESA_configless_context, EGL_MESA_drm_image, 
    EGL_MESA_query_driver
EGL_CLIENT_APIS: OpenGL OpenGL_ES 
GL_VERSION: OpenGL ES 3.2 Mesa 20.3.5
GL_RENDERER: llvmpipe (LLVM 11.0.1, 128 bits)
GL_EXTENSIONS:
    GL_EXT_blend_minmax, GL_EXT_multi_draw_arrays, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_compression_dxt1, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_format_BGRA8888, 
    GL_OES_compressed_ETC1_RGB8_texture, GL_OES_depth24, 
    GL_OES_element_index_uint, GL_OES_fbo_render_mipmap, GL_OES_mapbuffer, 
    GL_OES_rgb8_rgba8, GL_OES_standard_derivatives, GL_OES_stencil8, 
    GL_OES_texture_3D, GL_OES_texture_float, GL_OES_texture_float_linear, 
    GL_OES_texture_half_float, GL_OES_texture_half_float_linear, 
    GL_OES_texture_npot, GL_OES_vertex_half_float, GL_EXT_draw_instanced, 
    GL_EXT_texture_sRGB_decode, GL_OES_EGL_image, GL_OES_depth_texture, 
    GL_OES_packed_depth_stencil, GL_EXT_texture_type_2_10_10_10_REV, 
    GL_NV_conditional_render, GL_OES_get_program_binary, 
    GL_APPLE_texture_max_level, GL_EXT_discard_framebuffer, 
    GL_EXT_read_format_bgra, GL_EXT_frag_depth, GL_NV_fbo_color_attachments, 
    GL_OES_EGL_image_external, GL_OES_EGL_sync, GL_OES_vertex_array_object, 
    GL_OES_viewport_array, GL_ANGLE_pack_reverse_row_order, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, 
    GL_EXT_occlusion_query_boolean, GL_EXT_robustness, GL_EXT_texture_rg, 
    GL_EXT_unpack_subimage, GL_NV_draw_buffers, GL_NV_read_buffer, 
    GL_NV_read_depth, GL_NV_read_depth_stencil, GL_NV_read_stencil, 
    GL_EXT_draw_buffers, GL_EXT_map_buffer_range, GL_KHR_debug, 
    GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr, 
    GL_NV_pixel_buffer_object, GL_OES_depth_texture_cube_map, 
    GL_OES_required_internalformat, GL_OES_surfaceless_context, 
    GL_EXT_color_buffer_float, GL_EXT_sRGB_write_control, 
    GL_EXT_separate_shader_objects, GL_EXT_shader_group_vote, 
    GL_EXT_shader_implicit_conversions, GL_EXT_shader_integer_mix, 
    GL_EXT_tessellation_point_size, GL_EXT_tessellation_shader, 
    GL_ANDROID_extension_pack_es31a, GL_EXT_base_instance, 
    GL_EXT_compressed_ETC1_RGB8_sub_texture, GL_EXT_copy_image, 
    GL_EXT_draw_buffers_indexed, GL_EXT_draw_elements_base_vertex, 
    GL_EXT_gpu_shader5, GL_EXT_polygon_offset_clamp, 
    GL_EXT_primitive_bounding_box, GL_EXT_render_snorm, 
    GL_EXT_shader_io_blocks, GL_EXT_texture_border_clamp, 
    GL_EXT_texture_buffer, GL_EXT_texture_cube_map_array, 
    GL_EXT_texture_norm16, GL_EXT_texture_view, 
    GL_KHR_blend_equation_advanced, GL_KHR_context_flush_control, 
    GL_KHR_robust_buffer_access_behavior, GL_NV_image_formats, 
    GL_OES_copy_image, GL_OES_draw_buffers_indexed, 
    GL_OES_draw_elements_base_vertex, GL_OES_gpu_shader5, 
    GL_OES_primitive_bounding_box, GL_OES_sample_shading, 
    GL_OES_sample_variables, GL_OES_shader_io_blocks, 
    GL_OES_shader_multisample_interpolation, GL_OES_tessellation_point_size, 
    GL_OES_tessellation_shader, GL_OES_texture_border_clamp, 
    GL_OES_texture_buffer, GL_OES_texture_cube_map_array, 
    GL_OES_texture_stencil8, GL_OES_texture_storage_multisample_2d_array, 
    GL_OES_texture_view, GL_EXT_blend_func_extended, GL_EXT_buffer_storage, 
    GL_EXT_float_blend, GL_EXT_geometry_point_size, GL_EXT_geometry_shader, 
    GL_KHR_no_error, GL_KHR_texture_compression_astc_sliced_3d, 
    GL_OES_EGL_image_external_essl3, GL_OES_geometry_point_size, 
    GL_OES_geometry_shader, GL_OES_shader_image_atomic, 
    GL_EXT_clip_cull_distance, GL_EXT_disjoint_timer_query, 
    GL_EXT_texture_compression_s3tc_srgb, GL_MESA_shader_integer_functions, 
    GL_EXT_clip_control, GL_EXT_color_buffer_half_float, 
    GL_EXT_texture_compression_bptc, GL_KHR_parallel_shader_compile, 
    GL_EXT_EGL_image_storage, GL_EXT_shader_framebuffer_fetch_non_coherent, 
    GL_EXT_texture_sRGB_R8, GL_EXT_texture_shadow_lod, 
    GL_MESA_framebuffer_flip_y, GL_EXT_depth_clamp, GL_EXT_texture_query_lod
```
---

about:support
> DMABUF	
> available by default
> failed by runtime: Failed to configure

According to https://github.com/lgsvl/meta-lgsvl-browser/commit/282c2b24b604b7ab88c1904eafb17aff75e9ccac from a year ago, Gbm seems to be broken on Raspberry Pi 4.
The issue is still open: https://github.com/raspberrypi/linux/issues/3411

---

First Google result for "V3D EGL_MESA_device_software" is this commit: https://gitlab.freedesktop.org/mesa/mesa/-/commit/08a51770bd1b39262003a14850d416df04d13ac7

Back to Bug 1738814 Comment 2