Skip to content

arm64 Flatpak compositor crash on ChromeOS Crostini (virgl / Mesa 25.x regression) #12276

@fjwood69

Description

@fjwood69

Preliminary Checks

  • I have read and understood the important section above.
  • I have searched existing issues and avoided creating duplicates.
  • I am not filing an enhancement request.
  • I have checked that this issue cannot be reproduced on Mozilla Firefox.
  • I have checked that this issue can be reproduced once I removed all my Mods and Custom CSS.

What happened?

Description
Zen Browser arm64 Flatpak crashes within 15–60 seconds of launching on ChromeOS Crostini with virgl GPU passthrough (Mali-G925-Immortalis). The crash is a compositor failure: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown.
The same browser worked perfectly on the same Chromebook prior to reinstalling the Linux (Crostini) environment. The only change was the Flatpak Freedesktop runtime upgrading from 24.08 to 25.08, which ships Mesa 25.3.3.
Firefox ESR 140 using the system Mesa 22.3.6 (Debian Bookworm) works flawlessly on the same hardware, including 4K YouTube playback.
The arm64 AppImage also crashes with the same error, suggesting it bundles the same problematic Mesa version.
Environment

Chromebook GPU: Mali-G925-Immortalis (via virgl passthrough)
ChromeOS version: 145
Crostini container: Debian Bookworm (arm64)
System Mesa: 22.3.6-1+deb12u1
Zen version: 1.18.5b (Flatpak and AppImage both tested)
Flatpak runtime (current/broken): org.freedesktop.Platform/aarch64/25.08 (Mesa 25.3.3)
Flatpak runtime (previous/working): org.freedesktop.Platform/aarch64/24.08
RAM: 13.7 GB
GPU passthrough: Enabled via chrome://flags/#crostini-gpu-support
GL renderer: virgl (Mali-G925-Immortalis) (confirmed via glxinfo)

Steps to Reproduce

Set up a Chromebook with Crostini (Linux dev environment) on ChromeOS 145
Enable crostini-gpu-support in chrome://flags and restart
Install Zen Browser arm64 via Flatpak (pulls Freedesktop runtime 25.08)
Launch Zen — it will crash within 15–60 seconds
Crash occurs faster when loading heavier content (e.g. YouTube)

Crash Output
libEGL warning: failed to get driver name for fd -1
libEGL warning: MESA-LOADER: failed to retrieve device information
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
GetShaderInfoLog() ->
0:2(12): error: extension `GL_EXT_shader_texture_lod' unsupported in fragment shader
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown
Exiting due to channel error.
On some attempts with Wayland:
Warning: WaylandMessage::Write() failed : Broken pipe
Error: ProxiedConnection::Process(): Failed to read data from client! : Broken pipe
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown
Workarounds Attempted (none resolved the issue)

MOZ_WEBRENDER=0 — extended time before crash but did not prevent it
LIBGL_ALWAYS_SOFTWARE=1 / MOZ_ACCELERATED=0 — no effect
MESA_LOADER_DRIVER_OVERRIDE=virgl / GALLIUM_DRIVER=virgl — no effect
GDK_BACKEND=x11 / MOZ_ENABLE_WAYLAND=0 — Crostini is Wayland-only, X11 unavailable
FISSION_AUTOSTART=0 — no effect
layers.acceleration.disabled=true in about:config — could not set all values before crash
AppImage (non-Flatpak) — same crash

Root Cause Analysis
The ZINK: failed to choose pdev error shows that Mesa 25.x in the 25.08 runtime is attempting to use the Zink (Vulkan-over-OpenGL) driver path, which is incompatible with Crostini's virgl GPU passthrough. This causes the compositor process to crash, which cascades to all content processes ("Exiting due to channel error").
The previous Flatpak runtime 24.08 did not exhibit this behavior — Zen worked perfectly with virgl on the same hardware.
Firefox ESR 140 using system Mesa 22.3.6 handles virgl correctly, confirming the issue is specific to the Mesa version shipped in the 25.08 runtime.
Expected Behavior
Zen Browser should function correctly with virgl GPU passthrough on arm64, as it did when using the Freedesktop 24.08 runtime.
Related Issues
Possibly related to #11562 which also shows crashes in Mesa 25.x (libgallium-25.3.1), though on x86_64 with a different GPU. Both issues point to a Mesa 25.x regression affecting the compositor.
Possible Fixes

Allow Zen arm64 Flatpak to use Freedesktop runtime 24.08 as an alternative
Set MESA_LOADER_DRIVER_OVERRIDE=virgl or GALLIUM_DRIVER=virgl as defaults when virgl is detected, to prevent Mesa 25.x from attempting the broken Zink path
Report upstream to Mesa as a virgl regression in Mesa 25.x on arm64

Expected behavior

Zen should be stable

Actual behavior

Crashes after 15-60 seconds

Steps to reproduce

Set up a Chromebook with Crostini (Linux dev environment) on ChromeOS 145
Enable crostini-gpu-support in chrome://flags and restart
Install Zen Browser arm64 via Flatpak (pulls Freedesktop runtime 25.08)
Launch Zen — it will crash within 15–60 seconds
Crash occurs faster when loading heavier content (e.g. YouTube)

Screenshots and videos

No response

Version

1.18.5b (Flatpak and AppImage both tested)

What platform are you seeing the problem on?

Linux (Flatpak)

What component is this issue related to?

Other

Relevant log output if applicable

libEGL warning: failed to get driver name for fd -1
libEGL warning: MESA-LOADER: failed to retrieve device information
MESA: error: ZINK: failed to choose pdev
libEGL warning: egl: failed to create dri2 screen
GetShaderInfoLog() ->
0:2(12): error: extension `GL_EXT_shader_texture_lod' unsupported in fragment shader
Exiting due to channel error.
Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: CompositorBridgeChild receives IPC close with reason=AbnormalShutdown
Exiting due to channel error.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions