You are not logged in.

#1 2026-01-16 12:34:45

satoshich
Member
Registered: 2023-01-30
Posts: 13

WebGL issues in Chrome

Hello,

I'm encountering issues in Chrome with applications using WebGL. For example, when trying to blur the backround on Google Meet, it initially works but it eventually crashes and won't work again until I restart the browser (it says "Visual effects require WebGL. Your browser might not support WebGL or it might be temporarily unavailable. Try restarting your browser.") . This only happens in Chrome, when doing the same in Firefox there are no issues.

I'm not using any custom Chrome flags. This is the command line as taken from `chrome://version`: `/opt/google/chrome/google-chrome --origin-trial-disabled-features=CanvasTextNg|WebAssemblyCustomDescriptors --ozone-platform=x11 --restart --flag-switches-begin --flag-switches-end`

I'm on a laptop that has two GPUs: an integrated AMD Radeon 680M (provided by the AMD Ryzen 7 6800HS CPU) and a dedicated AMD Radeon RX 6800S GPU.

Report downloaded from `chrome://gpu`:

Graphics Feature Status
=======================
*   Canvas: Hardware accelerated
*   Direct Rendering Display Compositor: Disabled
*   Compositing: Hardware accelerated
*   Multiple Raster Threads: Enabled
*   OpenGL: Enabled
*   Rasterization: Hardware accelerated
*   Raw Draw: Disabled
*   Skia Graphite: Disabled
*   TreesInViz: Disabled
*   Video Decode: Hardware accelerated
*   Video Encode: Software only. Hardware acceleration disabled
*   Vulkan: Disabled
*   WebGL: Hardware accelerated
*   WebGPU: Hardware accelerated
*   WebNN: Disabled

Version Information
===================
Data exported              : 2026-01-16T12:23:58.392Z
Chrome version             : Chrome/144.0.7559.59
Operating system           : Linux 6.18.5-arch1-1
Software rendering list URL: https://chromium.googlesource.com/chromium/src/+/cd1d73dd77daadf4581dc29ca73482fc241e079d/gpu/config/software_rendering_list.json
Driver bug list URL        : https://chromium.googlesource.com/chromium/src/+/cd1d73dd77daadf4581dc29ca73482fc241e079d/gpu/config/gpu_driver_bug_list.json
ANGLE commit id            : a96fca8d5ee2
2D graphics backend        : Skia/144 ee20d565acb08dece4a32e3f209cdd41119015ca
Command Line               : /opt/google/chrome/google-chrome --origin-trial-disabled-features=CanvasTextNg|WebAssemblyCustomDescriptors --ozone-platform=x11 --restart --flag-switches-begin --flag-switches-end

Driver Information
==================
Initialization time             : 104
In-process GPU                  : false
Skia Backend                    : GaneshGL
Passthrough Command Decoder     : true
Sandboxed                       : false
GPU0                            : VENDOR= 0x1002, DEVICE=0x1681, DRIVER_VENDOR=Mesa, DRIVER_VERSION=25.3.3 *ACTIVE*
GPU1                            : VENDOR= 0x1002, DEVICE=0x73ef
Optimus                         : false
AMD switchable                  : false
Pixel shader version            : 3.00
Vertex shader version           : 3.00
Max. MSAA samples               : 8
Machine model name              : 
Machine model version           : 
GL implementation parts         : (gl=egl-angle,angle=opengl)
Display type                    : ANGLE_OPENGL
GL_VENDOR                       : Google Inc. (AMD)
GL_RENDERER                     : ANGLE (AMD, AMD Radeon 680M (radeonsi rembrandt LLVM 21.1.6), OpenGL 4.6 (Core Profile) Mesa 25.3.3-arch1.2)
GL_VERSION                      : OpenGL ES 3.0 (ANGLE 2.1.26625 git hash: a96fca8d5ee2)
GL_EXTENSIONS                   : GL_AMD_performance_monitor GL_ANGLE_blob_cache GL_ANGLE_client_arrays GL_ANGLE_clip_cull_distance GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_serialized_context_string GL_ANGLE_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_logic_op GL_ANGLE_memory_size GL_ANGLE_multiview_multisample GL_ANGLE_polygon_mode GL_ANGLE_program_binary_readiness_query GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_renderability_validation GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_shader_pixel_local_storage GL_ANGLE_stencil_texturing GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_external_update GL_ANGLE_texture_multisample GL_ANGLE_texture_rectangle GL_ANGLE_translated_shader_source GL_APPLE_clip_distance GL_ARM_rgba8 GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_EXT_blend_func_extended GL_EXT_blend_minmax 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_compressed_ETC1_RGB8_sub_texture GL_EXT_conservative_depth GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_depth_clamp GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_buffers_indexed GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_multisample_compatibility GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp GL_EXT_read_format_bgra GL_EXT_render_snorm GL_EXT_robustness GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_semaphore GL_EXT_semaphore_fd GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_texture_border_clamp GL_EXT_texture_compression_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_cube_map_array GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_mirror_clamp_to_edge GL_EXT_texture_norm16 GL_EXT_texture_rg GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_RG8 GL_EXT_texture_sRGB_decode GL_EXT_texture_shadow_lod GL_EXT_texture_storage GL_EXT_texture_type_2_10_10_10_REV GL_EXT_unpack_subimage GL_KHR_blend_equation_advanced GL_KHR_debug GL_KHR_parallel_shader_compile GL_KHR_robustness GL_MESA_framebuffer_flip_y GL_NV_depth_buffer_float2 GL_NV_fence GL_NV_framebuffer_blit GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_NV_polygon_mode GL_NV_read_depth GL_NV_read_stencil GL_NV_shader_noperspective_interpolation GL_OES_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_depth_texture GL_OES_draw_buffers_indexed 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_required_internalformat GL_OES_rgb8_rgba8 GL_OES_sample_variables GL_OES_shader_multisample_interpolation GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_3D GL_OES_texture_border_clamp GL_OES_texture_cube_map_array 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_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_vertex_array_object GL_OVR_multiview GL_OVR_multiview2 GL_WEBGL_video_texture
Disabled Extensions             : GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_MESA_framebuffer_flip_y
Disabled WebGL Extensions       : 
Window system binding vendor    : Google Inc. (AMD)
Window system binding version   : 1.5 (ANGLE 2.1.26625 git hash: a96fca8d5ee2)
Window system binding extensions: EGL_EXT_create_context_robustness EGL_KHR_create_context EGL_KHR_get_all_proc_addresses EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_ANGLE_sync_control_rate EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_display_semaphore_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_create_context_backwards_compatible EGL_KHR_create_context_no_error EGL_NOK_texture_from_pixmap EGL_KHR_reusable_sync EGL_ANGLE_memory_usage_report
XDG_CURRENT_DESKTOP             : i3
XDG_SESSION_TYPE                : x11
GDMSESSION                      : i3
Ozone platform                  : x11
Direct rendering version        : unknown
Reset notification strategy     : 0x8252
GPU process crash count         : 2

Driver Bug Workarounds
======================
*   disable_post_sub_buffers_for_onscreen_surfaces
*   disable_software_to_accelerated_canvas_upgrade
*   enable_webgl_timer_query_extensions
*   exit_on_context_lost
*   force_cube_map_positive_x_allocation
*   force_int_or_srgb_cube_texture_complete
*   disabled_extension_GL_KHR_blend_equation_advanced
*   disabled_extension_GL_KHR_blend_equation_advanced_coherent
*   disabled_extension_GL_MESA_framebuffer_flip_y

Problems Detected
=================
*   Accelerated video encode has been disabled, either via blocklist, about:flags or the command line.
    Disabled Features: video_encode

*   Disable webgpu on vk via gl interop:
    (http://crbug.com/442791440)
    Disabled Features: webgpu_on_vk_via_gl_interop

*   Linux ATI drivers crash on binding incomplete cube map texture to FBO:
    (http://crbug.com/518889)
    Applied Workarounds: force_cube_map_positive_x_allocation

*   Disable partial swaps on Mesa drivers (detected with GL_VERSION):
    (http://crbug.com/339493)
    Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces

*   Disable KHR_blend_equation_advanced until cc shaders are updated:
    (http://crbug.com/661715)
    Applied Workarounds: disable(GL_KHR_blend_equation_advanced),
        disable(GL_KHR_blend_equation_advanced_coherent)

*   Software to Accelerated canvas update breaks Linux AMD:
    (http://crbug.com/710029)
    Applied Workarounds: disable_software_to_accelerated_canvas_upgrade

*   Force integer or srgb cube map texture complete on Linux AMD:
    (http://crbug.com/712117)
    Applied Workarounds: force_int_or_srgb_cube_texture_complete

*   Expose WebGL's disjoint_timer_query extensions on platforms with site isolation:
    (http://crbug.com/808744), (http://crbug.com/870491)
    Applied Workarounds: enable_webgl_timer_query_extensions

*   Some drivers can't recover after OUT_OF_MEM and context lost:
    (http://crbug.com/893177)
    Applied Workarounds: exit_on_context_lost

*   Disable GL_MESA_framebuffer_flip_y for desktop GL:
    (http://crbug.com/964010)
    Applied Workarounds: disable(GL_MESA_framebuffer_flip_y)

ANGLE Features
==============
*   allowCompressedFormats (Frontend workarounds): Enabled

*   alwaysEnableEmulatedMultidrawExtensions (Frontend workarounds): Disabled

*   alwaysRunLinkSubJobsThreaded (Frontend features): Disabled

*   cacheCompiledShader (Frontend features): Enabled

*   clipCullDistanceBrokenWithPassthroughShaders (Frontend features): Disabled

*   compileJobIsThreadSafe (Frontend features): Disabled

*   disableAnisotropicFiltering (Frontend workarounds): Disabled

*   disableProgramBinary (Frontend features): Disabled

*   disableProgramCaching (Frontend features): Disabled

*   disableProgramCachingForTransformFeedback (Frontend workarounds): Disabled

*   dumpShaderSource (Frontend features): Disabled

*   dumpTranslatedShaders (Frontend features): Disabled

*   emulatePixelLocalStorage (Frontend features): Enabled

*   enableCaptureLimits (Frontend features): Disabled

*   enableProgramBinaryForCapture (Frontend features): Disabled

*   enableShaderSubstitution (Frontend workarounds): Disabled

*   enableTranslatedShaderSubstitution (Frontend workarounds): Disabled

*   forceDebugContexts (Frontend features): Disabled

*   forceDepthAttachmentInitOnClear (Frontend workarounds): Disabled

*   forceFlushAfterDrawcallUsingShadowmap (Frontend workarounds): Disabled

*   forceGlErrorChecking (Frontend features): Disabled

*   forceInitShaderVariables (Frontend features): Disabled

*   forceMinimumMaxVertexAttributes (Frontend features): Disabled

*   forcePassthroughShaders (Frontend features): Disabled

*   forceRobustResourceInit (Frontend features): Disabled

*   linkJobIsThreadSafe (Frontend features): Disabled

*   loseContextOnOutOfMemory (Frontend workarounds): Enabled

*   noperspectiveInterpolationBrokenWithPassthroughShaders (Frontend features): Disabled

*   rejectWebglShadersWithUndefinedBehavior (Frontend workarounds): Enabled

*   singleThreadedTextureDecompression (Frontend workarounds): Disabled

*   uncurrentEglSurfaceUponSurfaceDestroy (Frontend workarounds): Disabled

*   useIr (Frontend features): Disabled

*   RGBA4IsNotSupportedForColorRendering (OpenGL workarounds): Disabled

*   RGBDXT1TexturesSampleZeroAlpha (OpenGL workarounds): Disabled

*   addAndTrueToLoopCondition (OpenGL workarounds): Disabled

*   adjustSrcDstRegionForBlitFramebuffer (OpenGL workarounds): Enabled

*   allowAstcFormats (OpenGL workarounds): Disabled

*   allowClearForRobustResourceInit (OpenGL workarounds): Disabled

*   allowETCFormats (OpenGL workarounds): Disabled

*   alwaysCallUseProgramAfterLink (OpenGL workarounds): Enabled

*   alwaysUnbindFramebufferTexture2D (OpenGL workarounds): Disabled

*   avoid1BitAlphaTextureFormats (OpenGL workarounds): Enabled

*   avoidBindFragDataLocation (OpenGL workarounds): Disabled

*   bgraTexImageFormatsBroken (OpenGL workarounds): Disabled

*   bindCompleteFramebufferForTimerQueries (OpenGL workarounds): Disabled

*   bindTransformFeedbackBufferBeforeBindBufferRange (OpenGL workarounds): Disabled

*   clampArrayAccess (OpenGL workarounds): Enabled

*   clampFragDepth (OpenGL workarounds): Disabled

*   clampMscRate (OpenGL workarounds): Disabled

*   clampPointSize (OpenGL workarounds): Disabled

*   clearsWithGapsNeedFlush (OpenGL workarounds): Disabled

*   clipSrcRegionForBlitFramebuffer (OpenGL workarounds): Enabled

*   corruptProgramBinaryForTesting (OpenGL workarounds): Disabled

*   decodeEncodeSRGBForGenerateMipmap (OpenGL workarounds): Disabled

*   disableBaseInstanceVertex (OpenGL workarounds): Enabled

*   disableBlendEquationAdvanced (OpenGL workarounds): Disabled

*   disableClipControl (OpenGL features): Disabled

*   disableDrawBuffersIndexed (OpenGL workarounds): Disabled

*   disableGPUSwitchingSupport (OpenGL workarounds): Disabled

*   disableMultisampledRenderToTexture (OpenGL workarounds): Disabled

*   disableNativeParallelCompile (OpenGL workarounds): Disabled

*   disablePassthroughShaders (OpenGL workarounds): Disabled

*   disableRenderSnorm (OpenGL workarounds): Disabled

*   disableSemaphoreFd (OpenGL workarounds): Disabled

*   disableSyncControlSupport (OpenGL workarounds): Disabled

*   disableTextureClampToBorder (OpenGL workarounds): Disabled

*   disableTextureMirrorClampToEdge (OpenGL workarounds): Disabled

*   disableTiledRendering (OpenGL workarounds): Disabled

*   disableTimestampQueries (OpenGL workarounds): Disabled

*   doesSRGBClearsOnLinearFramebufferAttachments (OpenGL workarounds): Enabled

*   dontInitializeUninitializedLocals (OpenGL workarounds): Disabled

*   dontUseLoopsToInitializeVariables (OpenGL workarounds): Disabled

*   emulateAbsIntFunction (OpenGL workarounds): Disabled

*   emulateAtan2Float (OpenGL workarounds): Disabled

*   emulateClipDistanceState (OpenGL workarounds): Disabled

*   emulateClipOrigin (OpenGL workarounds): Disabled

*   emulateCopyTexImage2D (OpenGL workarounds): Disabled

*   emulateCopyTexImage2DFromRenderbuffers (OpenGL workarounds): Disabled

*   emulateImmutableCompressedTexture3D (OpenGL workarounds): Disabled

*   emulateMaxVertexAttribStride (OpenGL workarounds): Enabled

*   emulatePackSkipRowsAndPackSkipPixels (OpenGL workarounds): Disabled

*   emulatePrimitiveRestartFixedIndex (OpenGL workarounds): Disabled

*   emulateRGB10 (OpenGL workarounds): Enabled

*   ensureNonEmptyBufferIsBoundForDraw (OpenGL features): Disabled

*   explicitFragmentLocations (OpenGL workarounds): Disabled

*   finishDoesNotCauseQueriesToBeAvailable (OpenGL workarounds): Disabled

*   flushBeforeDeleteTextureIfCopiedTo (OpenGL workarounds): Disabled

*   flushOnFramebufferChange (OpenGL workarounds): Disabled

*   forceMaxCombinedShaderOutputResources (OpenGL features): Disabled

*   initFragmentOutputVariables (OpenGL workarounds): Disabled

*   initializeCurrentVertexAttributes (OpenGL workarounds): Disabled

*   keepBufferShadowCopy (OpenGL workarounds): Disabled

*   limitMax3dArrayTextureSizeTo1024 (OpenGL workarounds): Disabled

*   limitMaxMSAASamplesTo4 (OpenGL workarounds): Disabled

*   limitWebglMaxTextureSizeTo4096 (OpenGL workarounds): Disabled

*   limitWebglMaxTextureSizeTo8192 (OpenGL workarounds): Disabled

*   packLastRowSeparatelyForPaddingInclusion (OpenGL workarounds): Disabled

*   packOverlappingRowsSeparatelyPackBuffer (OpenGL workarounds): Disabled

*   passHighpToPackUnormSnormBuiltins (OpenGL workarounds): Disabled

*   preAddTexelFetchOffsets (OpenGL workarounds): Disabled

*   preTransformTextureCubeGradDerivatives (OpenGL workarounds): Disabled

*   promotePackedFormatsTo8BitPerChannel (OpenGL workarounds): Disabled

*   queryCounterBitsGeneratesErrors (OpenGL workarounds): Disabled

*   readPixelsUsingImplementationColorReadFormatForNorm16 (OpenGL workarounds): Disabled

*   reapplyUBOBindingsAfterUsingBinaryProgram (OpenGL workarounds): Enabled

*   regenerateStructNames (OpenGL workarounds): Disabled

*   removeDynamicIndexingOfSwizzledVector (OpenGL workarounds): Disabled

*   removeInvariantAndCentroidForESSL3 (OpenGL workarounds): Enabled

*   resetSampleCoverageOnFBOChange (OpenGL workarounds): Disabled

*   resetTexImage2DBaseLevel (OpenGL workarounds): Disabled

*   resyncDepthRangeOnClipControl (OpenGL workarounds): Disabled

*   rewriteRepeatedAssignToSwizzled (OpenGL workarounds): Disabled

*   rewriteRowMajorMatrices (OpenGL workarounds): Disabled

*   sanitizeAMDGPURendererString (OpenGL workarounds): Enabled

*   scalarizeVecAndMatConstructorArgs (OpenGL workarounds): Disabled

*   setPrimitiveRestartFixedIndexForDrawArrays (OpenGL workarounds): Disabled

*   setZeroLevelBeforeGenerateMipmap (OpenGL workarounds): Disabled

*   shiftInstancedArrayDataWithOffset (OpenGL workarounds): Disabled

*   srgbBlendingBroken (OpenGL workarounds): Disabled

*   supportsFragmentShaderInterlockARB (OpenGL features): Disabled

*   supportsFragmentShaderInterlockNV (OpenGL features): Disabled

*   supportsFragmentShaderOrderingINTEL (OpenGL features): Disabled

*   supportsShaderFramebufferFetchEXT (OpenGL features): Disabled

*   supportsShaderFramebufferFetchNonCoherentEXT (OpenGL features): Disabled

*   syncAllVertexArraysToDefault (OpenGL workarounds): Disabled

*   syncDefaultVertexArraysToDefault (OpenGL workarounds): Disabled

*   unbindFBOBeforeSwitchingContext (OpenGL workarounds): Disabled

*   unfoldShortCircuits (OpenGL workarounds): Disabled

*   unpackLastRowSeparatelyForPaddingInclusion (OpenGL workarounds): Disabled

*   unpackOverlappingRowsSeparatelyUnpackBuffer (OpenGL workarounds): Disabled

*   unsizedSRGBReadPixelsDoesntTransform (OpenGL workarounds): Disabled

*   uploadTextureDataInChunks (OpenGL workarounds): Disabled

*   useIntermediateTextureForGenerateMipmap (OpenGL workarounds): Disabled

*   useUnusedBlocksWithStandardOrSharedLayout (OpenGL workarounds): Enabled

*   vertexIDDoesNotIncludeBaseVertex (OpenGL workarounds): Disabled

Dawn Info
=========

<Unknown GPU>  OpenGLES backend - ANGLE (AMD, AMD Radeon 680M (radeonsi rembrandt LLVM 21.1.6), OpenGL 4.6 (Core Profile) Mesa 25.3.3-arch1.2) (Compatibility Mode)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------

[WebGPU Status]
---------------
*   Available

[Adapter Supported Features]
----------------------------
*   texture-compression-bc
*   float32blendable
*   dual-source-blending
*   texture-component-swizzle
*   dawn-internal-usages
*   dawn-native
*   implicit-device-synchronization
*   angle-texture-sharing
*   unorm16texture-formats
*   snorm16texture-formats
*   dawn-format-capabilities
*   norm16texture-formats

[Enabled Toggle Names]
----------------------
*   lazy_clear_resource_on_first_use: 
    (https://crbug.com/dawn/145):
    Clears resource to zero on first usage. This initializes the resource so
    that no dirty bits from recycled memory is present in the new resource.

*   disable_indexed_draw_buffers: 
    (https://crbug.com/dawn/582):
    Disables the use of indexed draw buffer state which is unsupported on some
    platforms.

*   flush_before_client_wait_sync: 
    (https://crbug.com/dawn/633):
    Call glFlush before glClientWaitSync to work around bugs in the latter

*   disallow_spirv: 
    (https://crbug.com/1214923):
    Disallow usage of SPIR-V completely so that only WGSL is used for shader
    modules. This is useful to prevent a Chromium renderer process from
    successfully sending SPIR-V code to be compiled in the GPU process.

*   use_placeholder_fragment_in_vertex_only_pipeline: 
    (https://crbug.com/dawn/136):
    Use a placeholder empty fragment shader in vertex only render pipeline.
    This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
    serves as a workaround by default enabled on some Metal devices with Intel
    GPU to ensure the depth result is correct.

*   timestamp_quantization: 
    (https://crbug.com/dawn/1800):
    Enable timestamp queries quantization to reduce the precision of timers
    that can be created with timestamp queries.

*   use_blit_for_buffer_to_stencil_texture_copy: 
    (https://crbug.com/dawn/1389):
    Use a blit instead of a copy command to copy buffer data to the stencil
    aspect of a texture. Works around an issue where stencil writes by copy
    commands are not visible to a render or compute pass.

*   use_blit_for_depth16unorm_texture_to_buffer_copy: 
    (https://crbug.com/dawn/1782):
    Use a blit instead of a copy command to copy depth aspect of a texture to
    a buffer.Workaround for OpenGL and OpenGLES.

*   use_blit_for_depth32float_texture_to_buffer_copy: 
    (https://crbug.com/dawn/1782):
    Use a blit instead of a copy command to copy depth aspect of a texture to
    a buffer.Workaround for OpenGLES.

*   use_blit_for_stencil_texture_to_buffer_copy: 
    (https://crbug.com/dawn/1782):
    Use a blit instead of a copy command to copy stencil aspect of a texture
    to a buffer.Workaround for OpenGLES.

*   use_blit_for_snorm_texture_to_buffer_copy: 
    (https://crbug.com/dawn/1781):
    Use a blit instead of a copy command to copy snorm texture to a
    buffer.Workaround for OpenGLES.

*   use_blit_for_rgb9e5ufloat_texture_copy: 
    (https://crbug.com/dawn/2079):
    Use a blit instead of a copy command to copy rgb9e5ufloat texture to a
    texture or a buffer.Workaround for OpenGLES.

*   use_t2b2t_for_srgb_texture_copy: 
    (https://crbug.com/dawn/2362):
    Use T2B and B2T copies to emulate a T2T copy between sRGB and non-sRGB
    textures.Workaround for OpenGLES.

*   gl_depth_bias_modifier: 
    (https://crbug.com/42241017):
    Empirically some GL drivers select n+1 when a depth value lies between 2^n
    and 2^(n+1), while the WebGPU CTS is expecting n. Scale the depth bias
    value by multiple 0.5 on certain backends to achieve conformant result.

*   enable_integer_range_analysis_in_robustness: 
    (https://crbug.com/348701956):
    Compute the range of the index with Integer Range Analysis in the
    robustness transform and skip doing index clamping when the out of bound
    access cannot happen.

*   blob_cache_hash_validation: 
    (https://crbug.com/429938352):
    Enable hash validation when loading/storing from/to the blob cache

*   decompose_uniform_buffers: 
    (https://crbug.com/448452698):
    Decompose uniform buffers into arrays of vec4<u32> on backends for Vulkan
    and OpenGL.

[WebGPU Required Toggles - enabled]
-----------------------------------
*   disallow_spirv: 
    (https://crbug.com/1214923):
    Disallow usage of SPIR-V completely so that only WGSL is used for shader
    modules. This is useful to prevent a Chromium renderer process from
    successfully sending SPIR-V code to be compiled in the GPU process.

*   timestamp_quantization: 
    (https://crbug.com/dawn/1800):
    Enable timestamp queries quantization to reduce the precision of timers
    that can be created with timestamp queries.

<Integrated GPU>  Vulkan backend - AMD Radeon 680M (RADV REMBRANDT)
-------------------------------------------------------------------

[WebGPU Status]
---------------
*   Available

[Adapter Supported Features]
----------------------------
*   core-features-and-limits
*   depth-clip-control
*   depth32float-stencil8
*   texture-compression-bc
*   texture-compression-bc-sliced-3d
*   timestamp-query
*   indirect-first-instance
*   shader-f16
*   rg11b10ufloat-renderable
*   bgra8unorm-storage
*   float32filterable
*   float32blendable
*   clip-distances
*   dual-source-blending
*   subgroups
*   texture-formats-tier1
*   texture-formats-tier2
*   primitive-index
*   texture-component-swizzle
*   dawn-internal-usages
*   dawn-multi-planar-formats
*   dawn-native
*   implicit-device-synchronization
*   transient-attachments
*   unorm16texture-formats
*   snorm16texture-formats
*   adapter-properties-memory-heaps
*   adapter-properties-vk
*   dawn-format-capabilities
*   dawn-drm-format-capabilities
*   norm16texture-formats
*   shared-texture-memory-dma-buf
*   shared-texture-memory-opaque-fd
*   shared-fence-vk-semaphore-opaque-fd
*   shared-fence-sync-fd
*   dawn-load-resolve-texture
*   flexible-texture-views

[Enabled Toggle Names]
----------------------
*   lazy_clear_resource_on_first_use: 
    (https://crbug.com/dawn/145):
    Clears resource to zero on first usage. This initializes the resource so
    that no dirty bits from recycled memory is present in the new resource.

*   use_temporary_buffer_in_texture_to_texture_copy: 
    (https://crbug.com/dawn/42):
    Split texture-to-texture copy into two copies: copy from source texture
    into a temporary buffer, and copy from the temporary buffer into the
    destination texture when copying between compressed textures that don't
    have block-aligned sizes. This workaround is enabled by default on all
    Vulkan drivers to solve an issue in the Vulkan SPEC about the
    texture-to-texture copies with compressed formats. See #1005
    (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more
    details.

*   vulkan_use_d32s8: 
    (https://crbug.com/dawn/286):
    Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When
    available the backend will use D32S8 (toggle to on) but setting the toggle
    to off will make it use the D24S8 format when possible.

*   vulkan_use_s8: 
    (https://crbug.com/dawn/666):
    Vulkan has a pure stencil8 format but it is not universally available.
    When this toggle is on, the backend will use S8 for the stencil8 format,
    otherwise it will fallback to D32S8 or D24S8.

*   disallow_spirv: 
    (https://crbug.com/1214923):
    Disallow usage of SPIR-V completely so that only WGSL is used for shader
    modules. This is useful to prevent a Chromium renderer process from
    successfully sending SPIR-V code to be compiled in the GPU process.

*   vulkan_use_demote_to_helper_invocation_extension: 
    (https://crbug.com/42250787):
    Sets the use of the vulkan demote to helper extension

*   use_placeholder_fragment_in_vertex_only_pipeline: 
    (https://crbug.com/dawn/136):
    Use a placeholder empty fragment shader in vertex only render pipeline.
    This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
    serves as a workaround by default enabled on some Metal devices with Intel
    GPU to ensure the depth result is correct.

*   timestamp_quantization: 
    (https://crbug.com/dawn/1800):
    Enable timestamp queries quantization to reduce the precision of timers
    that can be created with timestamp queries.

*   use_vulkan_zero_initialize_workgroup_memory_extension: 
    (https://crbug.com/dawn/1302):
    Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan
    extension VK_KHR_zero_initialize_workgroup_memory is supported.

*   vulkan_use_image_robust_access_2: 
    (https://crbug.com/tint/1890):
    Disable Tint robustness transform on textures when VK_EXT_robustness2 is
    supported and robustImageAccess2 == VK_TRUE.

*   vulkan_use_buffer_robust_access_2: 
    (https://crbug.com/tint/1890):
    Disable index clamping on the runtime-sized arrays on buffers in Tint
    robustness transform when VK_EXT_robustness2 is supported and
    robustBufferAccess2 == VK_TRUE.

*   vulkan_use_storage_input_output_16: 
    (https://crbug.com/tint/2161):
    Use the StorageInputOutput16 SPIR-V capability for f16 shader IO types
    when the device supports it.

*   use_vulkan_memory_model: 
    (https://crbug.com/392606604):
    Use the Vulkan Memory Model if available.

*   enable_integer_range_analysis_in_robustness: 
    (https://crbug.com/348701956):
    Compute the range of the index with Integer Range Analysis in the
    robustness transform and skip doing index clamping when the out of bound
    access cannot happen.

*   use_spirv_1_4: 
    (https://crbug.com/422421915):
    Use SPIR-V 1.4 if available

*   blob_cache_hash_validation: 
    (https://crbug.com/429938352):
    Enable hash validation when loading/storing from/to the blob cache

*   decompose_uniform_buffers: 
    (https://crbug.com/448452698):
    Decompose uniform buffers into arrays of vec4<u32> on backends for Vulkan
    and OpenGL.

[WebGPU Required Toggles - enabled]
-----------------------------------
*   disallow_spirv: 
    (https://crbug.com/1214923):
    Disallow usage of SPIR-V completely so that only WGSL is used for shader
    modules. This is useful to prevent a Chromium renderer process from
    successfully sending SPIR-V code to be compiled in the GPU process.

*   timestamp_quantization: 
    (https://crbug.com/dawn/1800):
    Enable timestamp queries quantization to reduce the precision of timers
    that can be created with timestamp queries.

<Discrete GPU>  Vulkan backend - AMD Radeon RX 6800S (RADV NAVI23)
------------------------------------------------------------------

[WebGPU Status]
---------------
*   Available

[Adapter Supported Features]
----------------------------
*   core-features-and-limits
*   depth-clip-control
*   depth32float-stencil8
*   texture-compression-bc
*   texture-compression-bc-sliced-3d
*   timestamp-query
*   indirect-first-instance
*   shader-f16
*   rg11b10ufloat-renderable
*   bgra8unorm-storage
*   float32filterable
*   float32blendable
*   clip-distances
*   dual-source-blending
*   subgroups
*   texture-formats-tier1
*   texture-formats-tier2
*   primitive-index
*   texture-component-swizzle
*   dawn-internal-usages
*   dawn-multi-planar-formats
*   dawn-native
*   implicit-device-synchronization
*   transient-attachments
*   unorm16texture-formats
*   snorm16texture-formats
*   adapter-properties-memory-heaps
*   adapter-properties-vk
*   dawn-format-capabilities
*   dawn-drm-format-capabilities
*   norm16texture-formats
*   shared-texture-memory-dma-buf
*   shared-texture-memory-opaque-fd
*   shared-fence-vk-semaphore-opaque-fd
*   shared-fence-sync-fd
*   dawn-load-resolve-texture
*   flexible-texture-views

[Enabled Toggle Names]
----------------------
*   lazy_clear_resource_on_first_use: 
    (https://crbug.com/dawn/145):
    Clears resource to zero on first usage. This initializes the resource so
    that no dirty bits from recycled memory is present in the new resource.

*   use_temporary_buffer_in_texture_to_texture_copy: 
    (https://crbug.com/dawn/42):
    Split texture-to-texture copy into two copies: copy from source texture
    into a temporary buffer, and copy from the temporary buffer into the
    destination texture when copying between compressed textures that don't
    have block-aligned sizes. This workaround is enabled by default on all
    Vulkan drivers to solve an issue in the Vulkan SPEC about the
    texture-to-texture copies with compressed formats. See #1005
    (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more
    details.

*   vulkan_use_d32s8: 
    (https://crbug.com/dawn/286):
    Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When
    available the backend will use D32S8 (toggle to on) but setting the toggle
    to off will make it use the D24S8 format when possible.

*   vulkan_use_s8: 
    (https://crbug.com/dawn/666):
    Vulkan has a pure stencil8 format but it is not universally available.
    When this toggle is on, the backend will use S8 for the stencil8 format,
    otherwise it will fallback to D32S8 or D24S8.

*   disallow_spirv: 
    (https://crbug.com/1214923):
    Disallow usage of SPIR-V completely so that only WGSL is used for shader
    modules. This is useful to prevent a Chromium renderer process from
    successfully sending SPIR-V code to be compiled in the GPU process.

*   vulkan_use_demote_to_helper_invocation_extension: 
    (https://crbug.com/42250787):
    Sets the use of the vulkan demote to helper extension

*   use_placeholder_fragment_in_vertex_only_pipeline: 
    (https://crbug.com/dawn/136):
    Use a placeholder empty fragment shader in vertex only render pipeline.
    This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
    serves as a workaround by default enabled on some Metal devices with Intel
    GPU to ensure the depth result is correct.

*   timestamp_quantization: 
    (https://crbug.com/dawn/1800):
    Enable timestamp queries quantization to reduce the precision of timers
    that can be created with timestamp queries.

*   use_vulkan_zero_initialize_workgroup_memory_extension: 
    (https://crbug.com/dawn/1302):
    Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan
    extension VK_KHR_zero_initialize_workgroup_memory is supported.

*   vulkan_use_image_robust_access_2: 
    (https://crbug.com/tint/1890):
    Disable Tint robustness transform on textures when VK_EXT_robustness2 is
    supported and robustImageAccess2 == VK_TRUE.

*   vulkan_use_buffer_robust_access_2: 
    (https://crbug.com/tint/1890):
    Disable index clamping on the runtime-sized arrays on buffers in Tint
    robustness transform when VK_EXT_robustness2 is supported and
    robustBufferAccess2 == VK_TRUE.

*   vulkan_use_storage_input_output_16: 
    (https://crbug.com/tint/2161):
    Use the StorageInputOutput16 SPIR-V capability for f16 shader IO types
    when the device supports it.

*   use_vulkan_memory_model: 
    (https://crbug.com/392606604):
    Use the Vulkan Memory Model if available.

*   enable_integer_range_analysis_in_robustness: 
    (https://crbug.com/348701956):
    Compute the range of the index with Integer Range Analysis in the
    robustness transform and skip doing index clamping when the out of bound
    access cannot happen.

*   use_spirv_1_4: 
    (https://crbug.com/422421915):
    Use SPIR-V 1.4 if available

*   blob_cache_hash_validation: 
    (https://crbug.com/429938352):
    Enable hash validation when loading/storing from/to the blob cache

*   decompose_uniform_buffers: 
    (https://crbug.com/448452698):
    Decompose uniform buffers into arrays of vec4<u32> on backends for Vulkan
    and OpenGL.

[WebGPU Required Toggles - enabled]
-----------------------------------
*   disallow_spirv: 
    (https://crbug.com/1214923):
    Disallow usage of SPIR-V completely so that only WGSL is used for shader
    modules. This is useful to prevent a Chromium renderer process from
    successfully sending SPIR-V code to be compiled in the GPU process.

*   timestamp_quantization: 
    (https://crbug.com/dawn/1800):
    Enable timestamp queries quantization to reduce the precision of timers
    that can be created with timestamp queries.

<CPU>  Vulkan backend - SwiftShader Device (Subzero)
----------------------------------------------------

[WebGPU Status]
---------------
*   Blocklisted - crbug.com/40057808: CPU adapters not fully tested or conformant.

[Adapter Supported Features]
----------------------------
*   core-features-and-limits
*   depth-clip-control
*   depth32float-stencil8
*   texture-compression-bc
*   texture-compression-bc-sliced-3d
*   texture-compression-etc2
*   texture-compression-astc
*   texture-compression-astc-sliced-3d
*   timestamp-query
*   indirect-first-instance
*   rg11b10ufloat-renderable
*   bgra8unorm-storage
*   float32filterable
*   float32blendable
*   clip-distances
*   subgroups
*   texture-component-swizzle
*   dawn-internal-usages
*   dawn-multi-planar-formats
*   dawn-native
*   implicit-device-synchronization
*   transient-attachments
*   unorm16texture-formats
*   adapter-properties-memory-heaps
*   adapter-properties-vk
*   dawn-format-capabilities
*   shared-texture-memory-opaque-fd
*   shared-fence-vk-semaphore-opaque-fd
*   dawn-load-resolve-texture
*   flexible-texture-views

[Enabled Toggle Names]
----------------------
*   lazy_clear_resource_on_first_use: 
    (https://crbug.com/dawn/145):
    Clears resource to zero on first usage. This initializes the resource so
    that no dirty bits from recycled memory is present in the new resource.

*   use_temporary_buffer_in_texture_to_texture_copy: 
    (https://crbug.com/dawn/42):
    Split texture-to-texture copy into two copies: copy from source texture
    into a temporary buffer, and copy from the temporary buffer into the
    destination texture when copying between compressed textures that don't
    have block-aligned sizes. This workaround is enabled by default on all
    Vulkan drivers to solve an issue in the Vulkan SPEC about the
    texture-to-texture copies with compressed formats. See #1005
    (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more
    details.

*   vulkan_use_d32s8: 
    (https://crbug.com/dawn/286):
    Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When
    available the backend will use D32S8 (toggle to on) but setting the toggle
    to off will make it use the D24S8 format when possible.

*   vulkan_use_s8: 
    (https://crbug.com/dawn/666):
    Vulkan has a pure stencil8 format but it is not universally available.
    When this toggle is on, the backend will use S8 for the stencil8 format,
    otherwise it will fallback to D32S8 or D24S8.

*   disallow_spirv: 
    (https://crbug.com/1214923):
    Disallow usage of SPIR-V completely so that only WGSL is used for shader
    modules. This is useful to prevent a Chromium renderer process from
    successfully sending SPIR-V code to be compiled in the GPU process.

*   vulkan_use_demote_to_helper_invocation_extension: 
    (https://crbug.com/42250787):
    Sets the use of the vulkan demote to helper extension

*   use_placeholder_fragment_in_vertex_only_pipeline: 
    (https://crbug.com/dawn/136):
    Use a placeholder empty fragment shader in vertex only render pipeline.
    This toggle must be enabled for OpenGL ES backend, the Vulkan Backend, and
    serves as a workaround by default enabled on some Metal devices with Intel
    GPU to ensure the depth result is correct.

*   timestamp_quantization: 
    (https://crbug.com/dawn/1800):
    Enable timestamp queries quantization to reduce the precision of timers
    that can be created with timestamp queries.

*   use_vulkan_zero_initialize_workgroup_memory_extension: 
    (https://crbug.com/dawn/1302):
    Initialize workgroup memory with OpConstantNull on Vulkan when the Vulkan
    extension VK_KHR_zero_initialize_workgroup_memory is supported.

*   use_vulkan_memory_model: 
    (https://crbug.com/392606604):
    Use the Vulkan Memory Model if available.

*   vulkan_direct_variable_access_transform_handle: 
    (https://crbug.com/387000529):
    Transform handles using direct variable access.

*   enable_integer_range_analysis_in_robustness: 
    (https://crbug.com/348701956):
    Compute the range of the index with Integer Range Analysis in the
    robustness transform and skip doing index clamping when the out of bound
    access cannot happen.

*   use_spirv_1_4: 
    (https://crbug.com/422421915):
    Use SPIR-V 1.4 if available

*   blob_cache_hash_validation: 
    (https://crbug.com/429938352):
    Enable hash validation when loading/storing from/to the blob cache

*   decompose_uniform_buffers: 
    (https://crbug.com/448452698):
    Decompose uniform buffers into arrays of vec4<u32> on backends for Vulkan
    and OpenGL.

[WebGPU Required Toggles - enabled]
-----------------------------------
*   disallow_spirv: 
    (https://crbug.com/1214923):
    Disallow usage of SPIR-V completely so that only WGSL is used for shader
    modules. This is useful to prevent a Chromium renderer process from
    successfully sending SPIR-V code to be compiled in the GPU process.

*   timestamp_quantization: 
    (https://crbug.com/dawn/1800):
    Enable timestamp queries quantization to reduce the precision of timers
    that can be created with timestamp queries.

Compositor Information
======================
Tile Update Mode: One-copy
Partial Raster  : Enabled

Display(s) Information
======================
Info                          : Display[23002025062984018] bounds=[2560,0 1920x1200], workarea=[2560,0 1920x1200], scale=1, rotation=0, panel_rotation=0 internal detected
Color space (all)             : {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (all)           : BGRA_8888
Color volume                  : {name:'srgb', r:[0.6400, 0.3300], g:[0.3000, 0.6000], b:[0.1500, 0.0600], w:[0.3127, 0.3290]}
SDR white level in nits       : 203
HDR relative maximum luminance: 1
Bits per color component      : 8
Bits per pixel                : 24
Refresh Rate in Hz            : 144.00343322753906
Info                          : Display[1657019440458893] bounds=[0,0 2560x1440], workarea=[0,0 2560x1440], scale=1, rotation=0, panel_rotation=0 external detected
Color space (all)             : {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (all)           : BGRA_8888
Color volume                  : {name:'srgb', r:[0.6400, 0.3300], g:[0.3000, 0.6000], b:[0.1500, 0.0600], w:[0.3127, 0.3290]}
SDR white level in nits       : 203
HDR relative maximum luminance: 1
Bits per color component      : 8
Bits per pixel                : 24
Refresh Rate in Hz            : 143.9115447998047

Video Acceleration Information
==============================
Decoding                      : 
Decode h264 baseline          : 64x64 to 4096x4096 pixels
Decode h264 main              : 64x64 to 4096x4096 pixels
Decode h264 high              : 64x64 to 4096x4096 pixels
Decode vp9 profile0           : 16x16 to 8192x4352 pixels
Decode vp9 profile2           : 16x16 to 8192x4352 pixels
Decode hevc main              : 64x64 to 8192x4352 pixels
Decode hevc main 10           : 64x64 to 8192x4352 pixels
Decode hevc main still-picture: 64x64 to 8192x4352 pixels
Decode av1 profile main       : 16x16 to 8192x4352 pixels
Encoding                      :

Vulkan Information
==================

Device Performance Information
==============================

Log Messages
============
[8657:8657:0116/131853.060482:WARNING:sandbox/policy/linux/sandbox_linux.cc:404] : InitializeSandbox() called with multiple threads in process gpu-process.
[8657:8657:0116/131905.083426:ERROR:ui/gfx/linux/gbm_wrapper.cc:456] : nullptr returned from gbm_bo_import
[8657:8657:0116/131905.083534:ERROR:gpu/command_buffer/service/shared_image/shared_image_factory.cc:1008] : CreateSharedImage: could not create backing.
[8657:8657:0116/131905.083976:ERROR:components/viz/service/gl/exit_code.cc:13] : Restarting GPU process due to unrecoverable error. Context was lost.
GpuProcessHost: The GPU process exited with code 8704.
[9479:9479:0116/131905.243483:WARNING:sandbox/policy/linux/sandbox_linux.cc:404] : InitializeSandbox() called with multiple threads in process gpu-process.
[9479:9479:0116/131907.973870:ERROR:ui/gfx/linux/gbm_wrapper.cc:456] : nullptr returned from gbm_bo_import
[9479:9479:0116/131907.973998:ERROR:gpu/command_buffer/service/shared_image/shared_image_factory.cc:1008] : CreateSharedImage: could not create backing.
[9479:9479:0116/131907.974119:ERROR:components/viz/service/gl/exit_code.cc:13] : Restarting GPU process due to unrecoverable error. Context was lost.
GpuProcessHost: The GPU process exited with code 8704.
[9587:9587:0116/131908.103426:WARNING:sandbox/policy/linux/sandbox_linux.cc:404] : InitializeSandbox() called with multiple threads in process gpu-process.
[9587:9634:0116/132357.763344:ERROR:components/viz/service/display/display.cc:277] : Frame latency is negative: -0.008 ms

Any help greatly appreciated, thank you!

Offline

#2 2026-01-16 14:17:07

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,424

Re: WebGL issues in Chrome

Report downloaded from `chrome://gpu`:

Before or after it fails?
Also check the corresponding time in the system journal - there's probably some amdgpu errors, context losses, resets, etc and perhaps some more specific errors?

Online

#3 2026-01-19 09:32:30

satoshich
Member
Registered: 2023-01-30
Posts: 13

Re: WebGL issues in Chrome

Hi seth, thank you very much for your reply.

Those are the errors that are shown after the problem has occurred. I check the journal and there are some errors when trying to blur the backround on Google Meet but before the problem occurs:

Jan 19 10:24:32 hexago /usr/lib/gdm-x-session[15232]: [15282:15282:0119/102432.191500:ERROR:ui/gfx/linux/gbm_wrapper.cc:456] nullptr returned from gbm_bo_import
Jan 19 10:24:32 hexago /usr/lib/gdm-x-session[15232]: [15282:15282:0119/102432.191718:ERROR:gpu/command_buffer/service/shared_image/shared_image_factory.cc:1008] CreateSharedImage: could not create backing.
Jan 19 10:24:32 hexago /usr/lib/gdm-x-session[15232]: [15282:15282:0119/102432.192229:ERROR:components/viz/service/gl/exit_code.cc:13] Restarting GPU process due to unrecoverable error. Context was lost.
Jan 19 10:24:32 hexago /usr/lib/gdm-x-session[15232]: [15226:15226:0119/102432.244291:ERROR:content/browser/gpu/gpu_process_host.cc:1004] GPU process exited unexpectedly: exit_code=8704
Jan 19 10:24:32 hexago /usr/lib/gdm-x-session[15232]: [15226:15252:0119/102451.984104:ERROR:google_apis/gcm/engine/registration_request.cc:291] Registration response error message: QUOTA_EXCEEDED
Jan 19 10:24:33 hexago /usr/lib/gdm-x-session[15232]: [17592:17592:0119/102433.628836:ERROR:gpu/command_buffer/service/gl_utils.cc:382] [.WebGL-0x2c5c10d83200] GL_INVALID_FRAMEBUFFER_OPERATION: glReadPixelsRobustANGLE: Framebuffer is incomplete: Attachment is not renderable.
Jan 19 10:24:33 hexago /usr/lib/gdm-x-session[15232]: [17592:17592:0119/102433.660380:ERROR:gpu/command_buffer/service/gl_utils.cc:382] [.WebGL-0x2c5c10d83200] GL_INVALID_FRAMEBUFFER_OPERATION: glReadPixelsRobustANGLE: Framebuffer is incomplete: Attachment is not renderable.
Jan 19 10:24:38 hexago /usr/lib/gdm-x-session[15232]: [15778:16892:0119/102438.674140:ERROR:media/capture/video/linux/v4l2_capture_delegate.cc:1136] Dequeued v4l2 buffer contains corrupted data (385344 bytes).
Jan 19 10:24:38 hexago /usr/lib/gdm-x-session[15232]: [15778:16892:0119/102438.734122:ERROR:media/capture/video/linux/v4l2_capture_delegate.cc:1136] Dequeued v4l2 buffer contains corrupted data (385344 bytes).

Then when Google Meet stops working I see this error:

Jan 19 10:25:26 hexago /usr/lib/gdm-x-session[15232]: [18529:18529:0119/102526.152273:ERROR:services/video_capture/video_capture_service_impl.cc:187] Bind context provider failed

Thanks

Offline

#4 2026-01-19 10:14:13

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 73,424

Re: WebGL issues in Chrome

You're running an X11 session started from gdm?
Can you cut out gdm and start the session using startx or so? (lightdm might do, the main aspect is to not have a gnome wayland server running on another terminal)

Online

Board footer

Powered by FluxBB