WebGPU doesn't work on Raspberry Pi 5

:pushpin:Question Description

Have you searched the community for related issues?

  • [v] No similar issues found.

Description:
WebGPU is not available in the latest FydeOS 21 on RPI 5.
I have installed a fresh fydeOS 21 on the RPI and am trying to use web applications leveraging the WebGPU feature. I have activated proper flags in Chromium:

  • enable-vulkan
  • enable-unsafe-webgpu
  • enable-webgpu-developer-features

In the chrome://gpu/ page, everything is in order:

  • Video Decode: Hardware accelerated
  • Video Encode: Hardware accelerated
  • Vulkan: Enabled
  • WebGL: Hardware accelerated
  • WebGL2: Hardware accelerated
  • WebGPU: Hardware accelerated

No policies are active.

When I try to call an adapter from JS code, I get a message: Error: requestAdapter returned null - this sample can't run on this system.

Can anyone help with a solution?


:computer:System & Device Information

  • Hardware & System Configuration:

    • Processor:ARM Cortex-A76 (ARM v8) 64-bit
    • Graphics Card: integrated VideoCore VII GPU, supporting OpenGL ES 3.1, Vulkan 1.3
    • RAM:4GB
    • FydeOS Version: 21, rpi5-fydeos-io, version 138.16295.21
  • Relevant System Logs:

logs from chrome://gpu

2025-12-03T17:24:20.365895Z WARNING chrome[3566:3566]: [gpu/ipc/service/gpu_init.cc:335] : Starting gpu initialization.
2025-12-03T17:24:20.373384Z WARNING chrome[3566:3566]: [ui/ozone/platform/drm/gpu/gbm_surface_factory.cc:183] : Platform device extensions not found.
2025-12-03T17:24:20.394962Z WARNING chrome[3566:3566]: [gpu/ipc/service/gpu_init.cc:567] : Using passthrough command decoder. NOTE: This log is to help triage feedback reports and does not by itself mean there is an issue.
2025-12-03T17:24:20.405855Z VERBOSE1 chrome[3566:3566]: [ui/ozone/platform/drm/gpu/gbm_surface_factory.cc:232] : Found Gbm Device at /dev/dri/renderD128
2025-12-03T17:24:20.421873Z WARNING chrome[3566:3566]: [content/gpu/gpu_main.cc:377] : gpu initialization completed init_success:1
2025-12-03T17:24:20.857422Z VERBOSE1 chrome[3566:3585]: [ui/ozone/platform/drm/gpu/drm_device_manager.cc:42] : Primary DRM device added: /sys/devices/platform/axi/axi:gpu/drm/card1
2025-12-03T17:24:20.865899Z ERROR chrome[3566:3600]: [components/viz/service/display/display.cc:295] : Max Texture Size=8192
2025-12-03T17:24:20.866127Z WARNING chrome[3566:3585]: [ui/ozone/platform/drm/gpu/drm_gpu_display_manager.cc:646] : GetHDCPState: there is no display with ID 4693230602890240
2025-12-03T17:24:22.148694Z VERBOSE1 chrome[3566:3585]: [ui/ozone/platform/drm/gpu/screen_manager.cc:379] : DRM testing: {“card1”:{“base_connector=32”:[“{connector=32 crtc=93 [email protected]+(0,0)}”]}}
2025-12-03T17:24:22.159646Z VERBOSE1 chrome[3566:3585]: [ui/ozone/platform/drm/gpu/screen_manager.cc:389] : Test-modeset succeeded.
2025-12-03T17:24:22.187165Z VERBOSE1 chrome[3566:3585]: [ui/ozone/platform/drm/gpu/screen_manager.cc:379] : DRM configuring: {“card1”:{“base_connector=32”:[“{connector=32 crtc=93 [email protected]+(0,0)}”]}}
2025-12-03T17:24:22.245844Z VERBOSE1 chrome[3566:3585]: [ui/ozone/platform/drm/gpu/screen_manager.cc:402] : Modeset succeeded.
2025-12-03T17:24:29.087658Z WARNING chrome[3566:3566]: [cc/paint/skottie_wrapper_impl.cc:131] : Encountered unknown property node with hash: 13059051
2025-12-03T17:24:29.087871Z WARNING chrome[3566:3566]: [cc/paint/skottie_wrapper_impl.cc:131] : Encountered unknown property node with hash: 392516648
2025-12-03T17:24:29.087939Z WARNING chrome[3566:3566]: [cc/paint/skottie_wrapper_impl.cc:131] : Encountered unknown property node with hash: 457785601

Problems detected

Driver Bug Workarounds

  • enable_webgl_timer_query_extensions
  • exit_on_context_lost
  • disabled_extension_GL_KHR_blend_equation_advanced
  • disabled_extension_GL_KHR_blend_equation_advanced_coherent

Problems Detected

  • GPU rasterization on CrOS is blocklisted on anything but Intel, Mali T8/G, Imagination, Freedreno, or AMD GPU/drivers for now.:
    Disabled Features: gpu_tile_rasterization

  • Disable KHR_blend_equation_advanced until cc shaders are updated:
    Applied Workarounds: disable(GL_KHR_blend_equation_advanced),
    disable(GL_KHR_blend_equation_advanced_coherent)

  • Expose WebGL’s disjoint_timer_query extensions on platforms with site isolation:
    Applied Workarounds: enable_webgl_timer_query_extensions

  • Context loss recovery often fails on Chrome OS:
    Applied Workarounds: exit_on_context_lost