Skip to content

[Linux][Wayland] 3.50: app intermittently freezes at startup on Raspberry Pi (labwc, Mesa V3D); raster thread spins in eglMakeCurrent / wl_display_roundtrip_queue #196529

Open

Description

@kekko7072

Steps to reproduce

  1. Build a Flutter Linux app with Flutter 3.50.0 (stable) using flutter build linux --release on a Raspberry Pi (arm64). Our app plays a media_kit video right after startup.
  2. Run it fullscreen in a native Wayland session: Raspberry Pi OS 13 (Trixie), labwc, Mesa 26.2 (gallium V3D).
  3. Restart the app repeatedly.

Expected results

The app starts every time. It does when the same app is built with Flutter 3.47.8 on the same device.

Actual results

4 of 11 launches froze right after the first frame:

  • The screen keeps showing that frame.
  • The app's Dart code stops making progress: no more log output, and its local HTTP server stops answering.
  • The process stays at ~55% CPU for as long as we waited (8+ minutes).

stderr repeatedly shows Timed out waiting for subsurface frame of size 1130x1970 (have 1080x766). This never appeared with the 3.47.8 build.

gdb -p <pid> -batch -ex "thread apply all bt", two samples 4 s apart, identical. The busy thread is io.flutter.raster:

#3  ppoll () libc.so.6
#5  wl_display_dispatch_queue_timeout () libwayland-client.so.0
#7  wl_display_roundtrip_queue () libwayland-client.so.0
#8  ??? libEGL_mesa.so.0
#16 driBindContext () libgallium-26.2.0
#19 ??? libEGL.so.1
#20-#29 ??? libflutter_linux_gtk.so

The main thread is in syscall().

Workaround

Building with Flutter 3.47.8, which doesn't use FlViewRendererSubsurface. In 3.50 the subsurface renderer is chosen for every Wayland display (fl_view.cc), so there is no opt-out other than GDK_BACKEND=x11.

Possibly related: #195822 (same renderer and same warning, on GNOME + NVIDIA).

Environment

  • Flutter 3.50.0 stable, Linux arm64, Impeller OpenGLES
  • Raspberry Pi, Raspberry Pi OS 13 (Trixie), labwc (Wayland), Mesa 26.2.0 (gallium V3D), GTK 3

Activity

  1. changed the title [-][Linux][Wayland] 3.50: app freezes at startup about half the time on Raspberry Pi (Mesa V3D, labwc): raster thread busy-loops in eglMakeCurrent → wl_display_roundtrip_queue while the GTK thread waits in FlViewRendererSubsurface[/-] [+][Linux][Wayland] 3.50: app intermittently freezes at startup on Raspberry Pi (labwc, Mesa V3D); raster thread spins in eglMakeCurrent / wl_display_roundtrip_queue[/+] on Nov 13, 2026
  2. added
    c: regressionIt was better in the past than it is now
    engineflutter/engine related. See also e: labels.
    platform-linuxBuilding on or for Linux specifically
    team-linuxOwned by the Linux platform team
    on Nov 13, 2026
  3. mbcorona commented on Nov 13, 2026

    @mbcorona
    Member

    Thanks for the detailed report and the backtraces @kekko7072.
    Related to #195822 (same renderer and warning, but a black window on GNOME + NVIDIA rather than a freeze), so keeping both open.

    Routing to the linux team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    a: desktopRunning on desktopc: regressionIt was better in the past than it is nowe: device-specificOnly manifests on certain devicesengineflutter/engine related. See also e: labels.found in release: 3.47Found to occur in 3.47found in release: 3.50Found to occur in 3.50platform-linuxBuilding on or for Linux specificallyteam-linuxOwned by the Linux platform team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions