Skip to content

Rive + Impeller: Animations, Scroll, and Native UI Freeze After Resuming App from Background (Android 11, Vulkan) #506

@someshkarthik07

Description

@someshkarthik07

Description:
We’re encountering a reproducible issue where Rive animations, native animations, and scroll views stop functioning when the app resumes from background after ~1 minute. This issue only occurs when Impeller is enabled and Rive is present in the widget tree during backgrounding.

Flutter Version:
3.32.7

Device Details:

  • Model: Asus 6Z
  • OS: Android 11
  • Renderer: Vulkan (Impeller enabled)

Steps to Reproduce:

  1. Launch an app with a screen containing a Rive animation.
  2. Background the app (e.g., press Home).
  3. Wait for ~1 minute or more.
  4. Resume the app.
  5. Observe that:
    • ❌ Rive animations freeze
    • ❌ Native animations & scroll views stop responding
    • ✅ Touch inputs still work (taps, gestures)

Expected Behavior:
The app should resume without animation/rendering issues after being backgrounded.

Actual Behavior:

  • Rive and native animations freeze.
  • Scroll views are unresponsive.
  • Touch inputs work fine.
  • The following error logs are printed:

[ERROR:flutter/impeller/renderer/backend/vulkan/swapchain/khr/khr_swapchain_impl_vk.cc(358)] Impeller validation: Could not wait for fence.
[ERROR:flutter/shell/gpu/gpu_surface_vulkan_impeller.cc(95)] No surface available.

Notes:

Impact:
This issue severely affects apps using Rive on Android with Impeller + Vulkan. Animations and scroll views become unusable until the app is restarted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions