Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1052055: Webkit output fully white

741 views
Skip to first unread message

R Pi

unread,
Sep 16, 2023, 12:40:05 PM9/16/23
to
Package: libwebkit2gtk-4.0-dev
Version: 2.42.0-1
Severity: important

I'm currently developing an app using Tauri. Since upgrading
libwebkit2gtk-4.0-dev from version 2.40.5-1~deb12u1 to version 2.42.0-1,
whenever I launch my app I'm getting the following messages:

KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
Failed to create GBM buffer of size 1024x741: Permission denied
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
Failed to create GBM buffer of size 1024x741: Permission denied
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
Failed to create GBM buffer of size 1024x741: Permission denied
Failed to create EGL images for DMABufs with file descriptors -1, -1 and -1

The output of the webkit area is fully white, otherwise the content of the
webkit viewport appears to be working underneath (ie: I can interact with my app
but simply cannot see anything).

I was able to rollback to the previous version and keep working on my project
with the following command:

sudo apt-get install libwebkit2gtk-4.0-dev=2.40.5-1~deb12u1 \
libwebkit2gtk-4.0-37=2.40.5-1~deb12u1 \
libjavascriptcoregtk-4.0-18=2.40.5-1~deb12u1 \
gir1.2-webkit2-4.0=2.40.5-1~deb12u1 \
gir1.2-javascriptcoregtk-4.0=2.40.5-1~deb12u1 \
libjavascriptcoregtk-4.0-dev=2.40.5-1~deb12u1

I am using Debian GNU/Linux trixie/sid, kernel 6.5.0-1-amd64
and libc6 2.37-10. I am running the non-free nvidia-driver 525.125.06-2.

--
- Romain

Alberto Garcia

unread,
Sep 16, 2023, 4:30:04 PM9/16/23
to
On Sat, Sep 16, 2023 at 06:29:52PM +0200, R Pi wrote:

> KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
> Failed to create GBM buffer of size 1024x741: Permission denied

Hello and thanks for the bug report.

What happens if you set WEBKIT_DISABLE_DMABUF_RENDERER=1 in
the environment? If it works, does it also work if you set
WEBKIT_DMABUF_RENDERER_DISABLE_GBM=1 instead?

Also, please try with the MiniBrowser (with and without that variable)
to see if it makes a difference.

/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/MiniBrowser
/usr/lib/x86_64-linux-gnu/webkit2gtk-4.1/MiniBrowser
/usr/lib/x86_64-linux-gnu/webkitgtk-6.0/MiniBrowser

The first two should behave the same, I'm curious if there's a
difference with the third one.

Thanks!

Berto

R Pi

unread,
Sep 19, 2023, 5:10:06 AM9/19/23
to
Hello thanks for the reply!

> What happens if you set WEBKIT_DISABLE_DMABUF_RENDERER=1 in
> the environment? If it works, does it also work if you set
> WEBKIT_DMABUF_RENDERER_DISABLE_GBM=1 instead?

WEBKIT_DISABLE_DMABUF_RENDERER=1 works properly,
WEBKIT_DMABUF_RENDERER_DISABLE_GBM=1 does not appear to.

>
> Also, please try with the MiniBrowser (with and without that variable)
> to see if it makes a difference.

Same behaviour on all three versions of the MiniBrowser:
WEBKIT_DISABLE_DMABUF_RENDERER=1 works properly,
WEBKIT_DMABUF_RENDERER_DISABLE_GBM=1 does not appear to.
--
- Romain

Alberto Garcia

unread,
Oct 5, 2023, 4:40:05 AM10/5/23
to
On Sat, Sep 16, 2023 at 06:29:52PM +0200, R Pi wrote:
> I'm currently developing an app using Tauri. Since upgrading
> libwebkit2gtk-4.0-dev from version 2.40.5-1~deb12u1 to version
> 2.42.0-1, whenever I launch my app I'm getting the following
> messages:

Hello, I just uploaded WebKitGTK 2.42.1-2 to unstable.

Could you give it a try and tell me if it works fine without having to
use any environment variable or any other workaround?

Thanks!

Berto

R Pi

unread,
Oct 5, 2023, 8:30:05 AM10/5/23
to
Hello,

> Hello, I just uploaded WebKitGTK 2.42.1-2 to unstable.

Hello Berto,

Thank you for the follow up.

> Could you give it a try and tell me if it works fine without having to
> use any environment variable or any other workaround?

Unfortunately, I am still encountering the same issue.

Here's some console output when not using any environment variable:
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
Failed to create GBM buffer of size 1024x741: Permission denied
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
Failed to create GBM buffer of size 1024x741: Permission denied
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
Failed to create GBM buffer of size 1024x741: Permission denied
Failed to create EGL images for DMABufs with file descriptors -1, -1 and -1

However, it now works with either WEBKIT_DISABLE_DMABUF_RENDERER=1 or
WEBKIT_DMABUF_RENDERER_DISABLE_GBM=1, which is different from before.

Thank you,

--
- Romain

R Pi

unread,
Oct 5, 2023, 8:30:05 AM10/5/23
to
Same goes for the MiniBrowser. Will now work with both environment
variables, but not without.

Thanks,
--
- Romain

Alberto Garcia

unread,
Oct 6, 2023, 9:00:04 AM10/6/23
to
On Thu, Oct 05, 2023 at 02:18:39PM +0200, R Pi wrote:
> Unfortunately, I am still encountering the same issue.

Can you open webkit://gpu on the browser and send me the output?

You are using WebKitGTK 2.42.1-2, right ?

Berto

R Pi

unread,
Oct 8, 2023, 10:30:04 AM10/8/23
to
Hello Berto,

Yes I am using WebKitGTK 2.42.1-2!

apt-cache policy libwebkit2gtk-4.0-dev
libwebkit2gtk-4.0-dev:
Installed: 2.42.1-2+b1
Candidate: 2.42.1-2+b1

Here's the output from webkit://gpu

{
"Version Information": {
"WebKit version": "WebKitGTK 2.42.1 (tarball)",
"Operating system": "Linux 6.5.0-1-amd64 #1 SMP
PREEMPT_DYNAMIC Debian 6.5.3-1 (2023-09-13) x86_64",
"Desktop": "GNOME",
"Cairo version": "1.18.0 (build) 1.18.0 (runtime)",
"GStreamer version": "1.22.6 (build) GStreamer 1.22.6 (runtime)",
"GTK version": "3.24.38 (build) 3.24.38 (runtime)"
},
"Display Information": {
"Type": "X11",
"Screen geometry": "0,0 3840x1080",
"Screen work area": "0,32 3840x1016",
"Depth": "24",
"Bits per color component": "8",
"DPI": "96",
"DRM Device": "/dev/dri/card0",
"DRM Render Node": "/dev/dri/renderD128"
},
"API": "OpenGL (libepoxy)",
"Hardware Acceleration Information": {
"Policy": "always",
"WebGL enabled": "Yes",
"Renderer": "XWindow",
"Native interface": "None"
},
"Hardware Acceleration Information (Render process)": {
"GL_RENDERER": "NVIDIA GeForce GTX 1070/PCIe/SSE2",
"GL_VENDOR": "NVIDIA Corporation",
"GL_VERSION": "OpenGL ES 3.2 NVIDIA 525.125.06",
"GL_SHADING_LANGUAGE_VERSION": "OpenGL ES GLSL ES 3.20",
"GL_EXTENSIONS": "GL_EXT_base_instance
GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_buffer_storage
GL_EXT_clear_texture GL_EXT_clip_control GL_EXT_clip_cull_distance
GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float
GL_EXT_conservative_depth GL_EXT_copy_image GL_EXT_depth_clamp
GL_EXT_debug_label GL_EXT_discard_framebuffer
GL_EXT_disjoint_timer_query GL_EXT_draw_buffers_indexed
GL_EXT_draw_elements_base_vertex GL_EXT_EGL_image_array
GL_EXT_EGL_image_storage GL_EXT_EGL_image_external_wrap_modes
GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_geometry_point_size
GL_EXT_geometry_shader GL_EXT_gpu_shader5 GL_EXT_map_buffer_range
GL_EXT_multi_draw_indirect GL_EXT_multisample_compatibility
GL_EXT_multisampled_render_to_texture
GL_EXT_multisampled_render_to_texture2
GL_EXT_multiview_texture_multisample GL_EXT_multiview_timer_query
GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp
GL_EXT_post_depth_coverage GL_EXT_primitive_bounding_box
GL_EXT_raster_multisample GL_EXT_render_snorm GL_EXT_robustness
GL_EXT_separate_shader_objects GL_EXT_shader_group_vote
GL_EXT_shader_implicit_conversions GL_EXT_shader_integer_mix
GL_EXT_shader_io_blocks GL_EXT_shader_non_constant_global_initializers
GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_sparse_texture
GL_EXT_sparse_texture2 GL_EXT_sRGB GL_EXT_sRGB_write_control
GL_EXT_tessellation_point_size GL_EXT_tessellation_shader
GL_EXT_texture_border_clamp GL_EXT_texture_buffer
GL_EXT_texture_compression_bptc GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc
GL_EXT_texture_cube_map_array GL_EXT_texture_filter_anisotropic
GL_EXT_texture_filter_minmax GL_EXT_texture_format_BGRA8888
GL_EXT_texture_mirror_clamp_to_edge GL_EXT_texture_norm16
GL_EXT_texture_query_lod GL_EXT_texture_rg GL_EXT_texture_shadow_lod
GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode
GL_EXT_texture_storage GL_EXT_texture_view
GL_EXT_draw_transform_feedback GL_EXT_unpack_subimage
GL_EXT_window_rectangles GL_KHR_context_flush_control GL_KHR_debug
GL_EXT_memory_object GL_EXT_memory_object_fd
GL_NV_memory_object_sparse GL_KHR_parallel_shader_compile
GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness
GL_EXT_semaphore GL_EXT_semaphore_fd GL_NV_timeline_semaphore
GL_KHR_shader_subgroup GL_KHR_texture_compression_astc_ldr
GL_KHR_texture_compression_astc_sliced_3d
GL_KHR_texture_compression_astc_hdr GL_NV_bgr GL_NV_bindless_texture
GL_NV_blend_equation_advanced GL_NV_blend_equation_advanced_coherent
GL_NVX_blend_equation_advanced_multi_draw_buffers
GL_NV_blend_minmax_factor GL_NV_clip_space_w_scaling
GL_NV_conditional_render GL_NV_conservative_raster
GL_NV_conservative_raster_pre_snap_triangles GL_NV_copy_buffer
GL_NV_copy_image GL_NV_draw_buffers GL_NV_draw_instanced
GL_NV_draw_texture GL_NV_draw_vulkan_image
GL_NV_EGL_stream_consumer_external GL_NV_explicit_attrib_location
GL_NV_fbo_color_attachments GL_NV_fill_rectangle
GL_NV_fragment_coverage_to_color GL_NV_fragment_shader_interlock
GL_NV_framebuffer_blit GL_NV_framebuffer_mixed_samples
GL_NV_framebuffer_multisample GL_NV_generate_mipmap_sRGB
GL_NV_geometry_shader_passthrough GL_NV_instanced_arrays
GL_NV_internalformat_sample_query GL_NV_gpu_shader5
GL_NV_image_formats GL_NV_memory_attachment
GL_NV_occlusion_query_samples GL_NV_non_square_matrices
GL_NV_pack_subimage GL_NV_packed_float GL_NV_packed_float_linear
GL_NV_path_rendering GL_NV_path_rendering_shared_edge
GL_NV_pixel_buffer_object GL_NV_polygon_mode GL_NV_read_buffer
GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil
GL_NV_sample_locations GL_NV_sample_mask_override_coverage
GL_NV_shader_atomic_fp16_vector
GL_NV_shader_noperspective_interpolation
GL_NV_shader_subgroup_partitioned GL_NV_shadow_samplers_array
GL_NV_shadow_samplers_cube GL_NV_sRGB_formats
GL_NV_stereo_view_rendering GL_NV_texture_array GL_NV_texture_barrier
GL_NV_texture_border_clamp GL_NV_texture_compression_latc
GL_NV_texture_compression_s3tc GL_NV_texture_compression_s3tc_update
GL_NV_timer_query GL_NV_viewport_array GL_NV_viewport_array2
GL_NV_viewport_swizzle GL_KHR_blend_equation_advanced
GL_KHR_blend_equation_advanced_coherent
GL_OES_compressed_ETC1_RGB8_texture
GL_EXT_compressed_ETC1_RGB8_sub_texture GL_OES_depth24 GL_OES_depth32
GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_copy_image
GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex
GL_OES_texture_border_clamp GL_OES_tessellation_point_size
GL_OES_tessellation_shader GL_OES_texture_buffer
GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_gpu_shader5
GL_OES_shader_io_blocks GL_OES_texture_view
GL_OES_primitive_bounding_box GL_OES_EGL_image
GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3
GL_OES_EGL_sync GL_OES_element_index_uint GL_OES_fbo_render_mipmap
GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil
GL_OES_rgb8_rgba8 GL_EXT_read_format_bgra GL_OES_sample_shading
GL_OES_sample_variables GL_OES_shader_image_atomic
GL_OES_shader_multisample_interpolation GL_OES_standard_derivatives
GL_OES_surfaceless_context GL_OES_texture_cube_map_array
GL_OES_texture_npot GL_OES_texture_float GL_OES_texture_float_linear
GL_OES_texture_half_float GL_OES_texture_half_float_linear
GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array
GL_OES_vertex_array_object GL_OES_vertex_half_float
GL_OES_viewport_array GL_OVR_multiview GL_OVR_multiview2
GL_OVR_multiview_multisampled_render_to_texture
GL_ANDROID_extension_pack_es31a ",
"EGL_VERSION": "1.5",
"EGL_VENDOR": "NVIDIA",
"EGL_EXTENSIONS": "EGL_EXT_platform_base EGL_EXT_device_base
EGL_EXT_device_enumeration EGL_EXT_device_query
EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions
EGL_KHR_debug EGL_KHR_platform_x11 EGL_EXT_platform_x11
EGL_EXT_platform_device EGL_MESA_platform_surfaceless
EGL_EXT_explicit_device EGL_KHR_platform_wayland
EGL_EXT_platform_wayland EGL_EXT_platform_xcb EGL_MESA_platform_gbm
EGL_KHR_platform_gbm EGL_EXT_buffer_age EGL_EXT_client_sync
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers EGL_MESA_image_dma_buf_export
EGL_EXT_output_base EGL_EXT_stream_acquire_mode EGL_EXT_sync_reuse
EGL_IMG_context_priority EGL_KHR_config_attribs
EGL_KHR_create_context_no_error EGL_KHR_context_flush_control
EGL_KHR_create_context EGL_KHR_fence_sync
EGL_KHR_get_all_proc_addresses EGL_KHR_partial_update
EGL_KHR_swap_buffers_with_damage EGL_KHR_no_config_context
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_reusable_sync EGL_KHR_stream
EGL_KHR_stream_attrib EGL_KHR_stream_consumer_gltexture
EGL_KHR_stream_cross_process_fd EGL_KHR_stream_fifo
EGL_KHR_stream_producer_eglsurface EGL_KHR_surfaceless_context
EGL_KHR_wait_sync EGL_NV_nvrm_fence_sync EGL_NV_post_sub_buffer
EGL_NV_quadruple_buffer EGL_NV_stream_consumer_eglimage
EGL_NV_stream_cross_display EGL_NV_stream_cross_object
EGL_NV_stream_cross_process EGL_NV_stream_cross_system
EGL_NV_stream_dma EGL_NV_stream_flush EGL_NV_stream_metadata
EGL_NV_stream_remote EGL_NV_stream_reset EGL_NV_stream_socket
EGL_NV_stream_socket_inet EGL_NV_stream_socket_unix EGL_NV_stream_sync
EGL_NV_stream_fifo_next EGL_NV_stream_fifo_synchronous
EGL_NV_stream_consumer_gltexture_yuv EGL_NV_stream_attrib
EGL_NV_stream_origin EGL_NV_system_time EGL_NV_output_drm_flip_event
EGL_NV_triple_buffer EGL_NV_robustness_video_memory_purge
EGL_EXT_present_opaque EGL_WL_bind_wayland_display
EGL_WL_wayland_eglstream"
}
}

Thanks!
--
- Romain

Alberto Garcia

unread,
Oct 9, 2023, 5:30:05 AM10/9/23
to
On Sun, Oct 08, 2023 at 04:19:18PM +0200, R Pi wrote:
> Here's the output from webkit://gpu

Thanks, were you using any of the environment variables that we have
been discussing? (WEBKIT_DISABLE_DMABUF_RENDERER, etc.)

If so, can you send me the output of webkit://gpu without using any of
those variables?

Also, can you send me the output of 'ls /dev/dri/' ?

Thanks!

Berto

R Pi

unread,
Oct 9, 2023, 6:20:05 AM10/9/23
to
Yes I was using "WEBKIT_DISABLE_DMABUF_RENDERER=1
/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/MiniBrowser".

Thing is I don't think I could do it without the environment variables
because I still get full white output when not using them, and
wouldn't be able to browse to the webkit://gpu page

In any case, the output of 'ls /dev/dri/' is:
"by-path card0 renderD128"
--
- Romain

Alberto Garcia

unread,
Oct 9, 2023, 6:30:05 AM10/9/23
to
On Mon, Oct 09, 2023 at 12:15:27PM +0200, R Pi wrote:
> Thing is I don't think I could do it without the environment
> variables because I still get full white output when not using them,
> and wouldn't be able to browse to the webkit://gpu page

You can try to click the "Copy to clipboard" button even if you don't
see it (use the env variables to see the location).

Berto

R Pi

unread,
Oct 9, 2023, 6:40:05 AM10/9/23
to
There you go:

{
"Version Information": {
"WebKit version": "WebKitGTK 2.42.1 (tarball)",
"Operating system": "Linux 6.5.0-1-amd64 #1 SMP
PREEMPT_DYNAMIC Debian 6.5.3-1 (2023-09-13) x86_64",
"Desktop": "GNOME",
"Cairo version": "1.18.0 (build) 1.18.0 (runtime)",
"GStreamer version": "1.22.6 (build) GStreamer 1.22.6 (runtime)",
"GTK version": "3.24.38 (build) 3.24.38 (runtime)"
},
"Display Information": {
"Type": "X11",
"Screen geometry": "0,0 3840x1080",
"Screen work area": "0,32 3840x1016",
"Depth": "24",
"Bits per color component": "8",
"DPI": "96",
"DRM Device": "/dev/dri/card0",
"DRM Render Node": "/dev/dri/renderD128"
},
"API": "OpenGL (libepoxy)",
"Hardware Acceleration Information": {
"Policy": "always",
"WebGL enabled": "Yes",
"Renderer": "DMABuf (Supported buffers: Hardware, Shared Memory)",
"Native interface": "None"
},
"Hardware Acceleration Information (Render process)": {
"Platform": "GBM",
"GL_RENDERER": "llvmpipe (LLVM 16.0.6, 256 bits)",
"GL_VENDOR": "Mesa",
"GL_VERSION": "OpenGL ES 3.2 Mesa 23.2.1-1",
"GL_SHADING_LANGUAGE_VERSION": "OpenGL ES GLSL ES 3.20",
"GL_EXTENSIONS": "GL_EXT_blend_minmax GL_EXT_multi_draw_arrays
GL_EXT_texture_filter_anisotropic 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_NV_pack_subimage 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_instanced_arrays GL_EXT_map_buffer_range GL_KHR_debug
GL_KHR_robustness GL_KHR_texture_compression_astc_ldr
GL_NV_generate_mipmap_sRGB 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_debug_label GL_EXT_sRGB_write_control
GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch
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_ARM_shader_framebuffer_fetch_depth_stencil 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_blend_equation_advanced_coherent
GL_KHR_context_flush_control GL_KHR_robust_buffer_access_behavior
GL_NV_image_formats GL_NV_shader_noperspective_interpolation
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_EXT_texture_filter_minmax GL_EXT_texture_sRGB_R8
GL_EXT_texture_sRGB_RG8 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_clear_texture
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_memory_object GL_EXT_memory_object_fd
GL_EXT_texture_compression_bptc GL_EXT_texture_mirror_clamp_to_edge
GL_KHR_parallel_shader_compile GL_EXT_EGL_image_storage
GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_texture_shadow_lod
GL_MESA_framebuffer_flip_y GL_EXT_depth_clamp GL_EXT_texture_query_lod
GL_MESA_bgra ",
"EGL_VERSION": "1.5",
"EGL_VENDOR": "Mesa Project",
"EGL_EXTENSIONS": "EGL_EXT_platform_base EGL_EXT_device_base
EGL_EXT_device_enumeration EGL_EXT_device_query
EGL_KHR_client_get_all_proc_addresses EGL_EXT_client_extensions
EGL_KHR_debug EGL_KHR_platform_x11 EGL_EXT_platform_x11
EGL_EXT_platform_device EGL_MESA_platform_surfaceless
EGL_EXT_explicit_device EGL_KHR_platform_wayland
EGL_EXT_platform_wayland EGL_EXT_platform_xcb EGL_MESA_platform_gbm
EGL_KHR_platform_gbm EGL_ANDROID_blob_cache EGL_EXT_buffer_age
EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import
EGL_EXT_image_dma_buf_import_modifiers 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 EGL_KHR_image_base
EGL_KHR_image_pixmap 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_image_dma_buf_export EGL_MESA_query_driver "
--
- Romain

Alberto Garcia

unread,
Oct 11, 2023, 5:10:06 AM10/11/23
to
On Mon, Oct 09, 2023 at 12:26:24PM +0200, R Pi wrote:
> There you go:

Thanks, this is without any environment variable set, right?

Do you have libnvidia-egl-gbm1 installed ?

And if not, can you install it and try again?

Berto

R Pi

unread,
Oct 11, 2023, 7:40:04 AM10/11/23
to
Yes that was WITHOUT any env variable.

> Do you have libnvidia-egl-gbm1 installed ?

No...

> If not, can you install it and try again?

It does work now with it installed...
--
- Romain

Alberto Garcia

unread,
Oct 11, 2023, 7:50:05 AM10/11/23
to
On Wed, Oct 11, 2023 at 01:31:43PM +0200, R Pi wrote:
> > Do you have libnvidia-egl-gbm1 installed ?
> It does work now with it installed...

Oh, ok, so everything works fine if you install libnvidia-egl-gbm1
without having to do any extra tweak, or is there any problem left?

Berto

R Pi

unread,
Oct 11, 2023, 10:40:05 AM10/11/23
to
Correct. Installing libnvidia-egl-gbm1 was the only step needed to get
everything working, without further tweaks required.

Is there a way to fix this in the deb dependencies? Did I miss some
package suggestion notice from apt? Which package should have noted
this as a dependency? Should this have been installed by the nvidia
driver? Could we add a notice along the error messages "Failed to
create GBM buffer" that this package should be installed?

In all cases, thank you for helping me find a solution for this
particular issue, and thank you for your contributions to this
wonderful project.
--
- Romain

Alberto Garcia

unread,
Oct 11, 2023, 10:50:05 AM10/11/23
to
On Wed, Oct 11, 2023 at 04:26:20PM +0200, R Pi wrote:
> Correct. Installing libnvidia-egl-gbm1 was the only step needed to
> get everything working, without further tweaks required.

Do you think you can try downgrading WebKitGTK to 2.42.1-1 (currently
on testing) and see if libnvidia-egl-gbm1 also solves the problem with
that one? I want to evaluate if the fix that we introduced in 2.42.1-2
is necessary.

> Is there a way to fix this in the deb dependencies?

That's something that I need to evaluate, but being nvidia-specific I
think I'll probably add with a Recommends:

Berto

Alberto Garcia

unread,
Oct 11, 2023, 11:30:04 AM10/11/23
to
On Wed, Oct 11, 2023 at 11:10:05AM -0400, Jeremy Bícha wrote:
> libnvidia-egl-gbm1 is in contrib.

Ah, you're right.

Berto

R Pi

unread,
Oct 11, 2023, 1:20:05 PM10/11/23
to
Downgraded to 2.42.1-1 and tested. The result is: 2.42.1-1 without any
env variables will NOT WORK.

It appears the fix introduced in 2.42.1-2 is necessary.
--
- Romain

Alberto Garcia

unread,
Oct 11, 2023, 1:40:05 PM10/11/23
to
On Wed, Oct 11, 2023 at 07:13:40PM +0200, R Pi wrote:
> Downgraded to 2.42.1-1 and tested. The result is: 2.42.1-1 without any
> env variables will NOT WORK.
>
> It appears the fix introduced in 2.42.1-2 is necessary.

Thanks a lot for your help.

So we need the fix from 2.42.1-2 and the libnvidia-egl-gbm1
package. This should work without any environment variables or other
tweaks.

From what I see there is already a dependency chain:

nvidia-driver depends on nvidia-driver-libs
nvidia-driver-libs recommends libnvidia-allocator1
libnvidia-allocator1 recommends libnvidia-egl-gbm1

So if people have the recommmended packages installed then everything
is fine.

Berto
0 new messages