Skip to content

[Linux][Wayland] Beta 3.50: FlViewRendererSubsurface shows a black window on GNOME 50.6 + NVIDIA 615 (default flutter create app); GTK frame clock stops after the first paint #195822

Description

@NelsonScott

Steps to reproduce

  1. flutter create --platforms=linux subsurface_probe && cd subsurface_probe && flutter build linux --release
  2. Run build/linux/x64/release/bundle/subsurface_probe in a native GNOME Wayland session on an NVIDIA GPU.

Expected results

The counter demo appears.

Actual results

The window opens at the right size with the title bar, but the client area stays solid black for as long as the app runs (tested for minutes, moved/resized the window, forced redraws). No GL/EGL errors on stderr, only:

[IMPORTANT:flutter/shell/platform/embedder/embedder_surface_gl_impeller.cc(127)] Using the Impeller rendering backend (OpenGLESSDF).

The same binary with GDK_BACKEND=x11 (which takes the FlViewRendererOpenGL path) renders the app.

What I could observe from the outside

  • Attaching gdb to the running app and reading the toplevel's GdkFrameClock counter shows it stuck (e.g. 30) and it does not advance after gtk_widget_queue_draw(toplevel) + 2 s, i.e. GTK never paints the parent surface again after the first frames. io.flutter.ui / io.flutter.rast CPU time also stops growing.
  • Widget tree is as expected: GtkApplicationWindow > FlView > GtkEventBox > FlViewRendererSubsurface with a correct allocation and scale=2.
  • In a larger app (BlueBubbles, same engine) built the same way, the first resize logs
    WARNING **: Timed out waiting for subsurface frame of size 2160x1440 (have 2560x1534) on every launch, and moving the window made Mutter log
    meta_wayland_surface_role_notify_subsurface_state_changed: assertion 'klass->notify_subsurface_state_changed' failed (twice). The default app did not trigger the Mutter assertion in my runs.
  • The 3.47 stable engine (OpenGL renderer, EGLImage sibling path) renders fine on this machine apart from the separate stale-frame problem reported in a different issue.

Environment

  • Flutter 3.50.0-0.3.pre (beta), framework 13ced38, engine 13044fa4031ca303c88b69e4973a5b2d8188614d (revision 8ec493d), Dart 3.14.0-315.3.beta; host build, not Flatpak
  • Fedora 44, kernel 7.2.13, GNOME Shell / Mutter 50.6, GTK 3.24.52, native Wayland session, fractional scaling 1.25 on the primary 4K display (GTK scale factor 2) plus a second 1080x1920 display at scale 1
  • NVIDIA GeForce RTX 5090, proprietary driver 615.78.08 (EGL via libEGL_nvidia)

I can run further diagnostics on this machine (gdb against the host GTK with debug symbols, Wayland protocol dumps with WAYLAND_DEBUG) if it helps.

Flutter doctor

Flutter 3.50.0-0.3.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 13ced38318 (2026-10-28) 
Engine • hash 13044fa4031ca303c88b69e4973a5b2d8188614d (revision 8ec493d4d9) (2026-10-27)
Tools • Dart 3.14.0 (build 3.14.0-315.3.beta) • DevTools 2.61.0

Activity

  1. suryaKommana2662 commented on Nov 3, 2026

    @suryaKommana2662
    Contributor

    @NelsonScott I tested the provided reproduction on my Linux environment using Flutter 3.50.0-1.0.pre-374 (master). The counter application renders correctly in both native Wayland and X11 sessions.

    My environment uses Ubuntu 26.04 in a ChromeOS Linux container with llvmpipe, rather than an NVIDIA GPU. I couldn't reproduce the issue locally. Routing to team-linux for further investigation.

    Flutter Doctor Output

    [✓] Flutter (Channel master, 3.50.0-1.0.pre-374, on Ubuntu 26.04 LTS
        6.6.147-09648-g97ef00d8a343, locale C.UTF-8) [966ms]
        • Flutter version 3.50.0-1.0.pre-374 on channel master at /home/suryak2662/flutter
        • Upstream repository https://github.com/flutter/flutter.git
        • Framework revision c664bddfd1 (84 minutes ago), 2026-11-03 04:54:11 +0000
        • Engine revision c664bddfd1
        • Dart version 3.15.0 (build 3.15.0-101.0.dev)
        • DevTools version 2.62.0-dev.0
        • Feature flags: enable-web, enable-linux-desktop, enable-macos-desktop,
          enable-windows-desktop, enable-android, enable-ios, cli-animations,
          enable-native-assets, enable-record-use, enable-swift-package-manager,
          omit-legacy-version-file, enable-windowing, enable-lldb-debugging,
          enable-uiscene-migration, enable-riscv64, enable-hcpp
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0)
        [1,881ms]
        • Android SDK at /home/suryak2662/Android/Sdk
        • Emulator version 36.6.11.0 (build_id 15507667) (CL:N/A)
        • Platform android-36, build-tools 36.0.0
        • ANDROID_HOME = /home/suryak2662/Android/Sdk
        • Java binary at: /opt/android-studio/jbr/bin/java
          This JDK is specified in your Flutter configuration.
          To change the current JDK, run: `flutter config --jdk-dir="path/to/jdk"`.
        • Java version OpenJDK Runtime Environment (build 21.0.10+-14961533-b1163.108)
        • All Android licenses accepted.
    
    [✓] Chrome - develop for the web [15ms]
        • Chrome at google-chrome
    
    [✓] Linux toolchain - develop for Linux desktop [543ms]
        • Ubuntu clang version 21.1.8 (6ubuntu1)
        • cmake version 4.2.3
        • ninja version 1.13.2
        • pkg-config version 2.5.1
        • OpenGL core renderer: llvmpipe (LLVM 21.1.8, 256 bits)
        • OpenGL core version: 4.5 (Core Profile) Mesa 26.0.3-1ubuntu1
        • OpenGL core shading language version: 4.50
        • OpenGL ES renderer: llvmpipe (LLVM 21.1.8, 256 bits)
        • OpenGL ES version: OpenGL ES 3.2 Mesa 26.0.3-1ubuntu1
        • OpenGL ES shading language version: OpenGL ES GLSL ES 3.20
        • GL_EXT_framebuffer_blit: yes
        • GL_EXT_texture_format_BGRA8888: yes
    
    [✓] Connected device (2 available) [157ms]
        • Linux (desktop) • linux  • linux-x64      • Ubuntu 26.04 LTS
          6.6.147-09648-g97ef00d8a343
        • Chrome (web)    • chrome • web-javascript • Google Chrome 150.0.7871.128
    
    [✓] Network resources [876ms]
        • All expected network resources are available.
    
    • No issues found!
  2. added
    engineflutter/engine related. See also e: labels.
    platform-linuxBuilding on or for Linux specifically
    team-linuxOwned by the Linux platform team
    and removed
    in triagePresently being triaged by the triage team
    on Nov 3, 2026
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

    engineflutter/engine related. See also e: labels.platform-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