Published July 12, 2026

Flutter Removes Skia from Android — Impeller Vulkan Is Now Mandatory

A quiet but consequential change has taken effect in the Flutter ecosystem. Starting with Flutter 3.44, which shipped at Google I/O 2026, the Skia rendering backend has been removed from Android 10 (API 29) and above. Impeller with Vulkan is now the only rendering path available on modern Android devices. For developers who have been following along with Flutter's rendering roadmap, this was the inevitable next step after Impeller became the default on iOS with Flutter 3.29.

The move marks the end of a multi-year transition. Impeller was first introduced as an experimental opt-in in Flutter 3.22, with the Flutter team gradually expanding its coverage and stability over subsequent releases. By Flutter 3.38, Impeller was enabled by default on Android API 29+ devices, though developers could still fall back to Skia by setting a flag. With 3.44, that fallback is simply gone — the Skia GPU backend code has been removed from the engine for API 29 and above.

This decision was not made lightly. The Flutter team cited several compelling factors in their decision to remove Skia from the Android target:

  • Binary size reduction — removing Skia GPU support trims roughly 17 percent from the Flutter engine binary size, a meaningful saving for mobile app distribution
  • Engine complexity — maintaining two rendering backends with different shader compilation pipelines, performance characteristics, and bug surfaces placed a significant maintenance burden on the core team
  • Shader compilation jank elimination — Impeller's offline shader compilation approach eliminates the early-frame stutter that plagued Skia-based Flutter apps on Android since the framework's earliest days
  • Vulkan is now universal — Android 10 introduced mandatory Vulkan 1.1 support, and by API 29 virtually all devices in active use have capable Vulkan drivers

What This Means for Android Developers

For the vast majority of Flutter developers, this change will be invisible. If your app targets API 29 or above — which is essentially every modern Android app — your app has already been running on Impeller if you are on Flutter 3.38 or later. The removal of the Skia fallback simply ensures that everyone gets the same performant rendering experience without the ability to accidentally opt into an inferior path.

However, there are a few scenarios where developers may need to take action:

  • Custom shaders — if your app uses custom fragment shaders written for Skia's shading language (SKSL), you will need to port them to Impeller's shading language. The Flutter team has published migration documentation and a compatibility layer for common patterns
  • Emulator testing — older emulator images running Android 9 or below still use Skia. Developers testing on API 28 emulators will see different rendering behavior than their users on API 29+ devices
  • Enterprise devices — some Android-based point-of-sale systems and industrial tablets ship with older Android versions. If you target such devices, you will need to continue using a Flutter 3.38 or earlier build for those specific deployments

Performance and Stability Improvements

The forced migration to Impeller has already yielded measurable improvements across the Android ecosystem. The Flutter team's internal benchmarks show a 40 percent reduction in 99th-percentile frame render times on Android devices after the switch. First-frame jank, the most common user-facing performance complaint in Flutter apps, has been effectively eliminated on Vulkan-capable devices.

Developers in the community have reported similar results. Apps that previously required performance workarounds — reducing backdrop filter usage, avoiding certain animation patterns, or limiting widget complexity — now run smoothly without modification. The Impeller backend handles complex visual effects like blurs, transformations, and clipping paths with consistent frame pacing that Skia could never quite achieve on Android's fragmented GPU landscape.

Battery life has also improved. Impeller's offline shader compilation means the GPU spends less time compiling shaders at runtime, which translates to lower peak power draw during UI-intensive operations. In long-running applications like games and media apps, users may notice extended battery life compared to Skia-based builds.

Additional platform-level changes that accompanied the Skia removal include:

  • Vulkan validation layers disabled in release builds — removing development-only overhead from production APKs
  • Improved Impeller diagnostic tools — new profiling markers in Flutter DevTools for Impeller-specific performance analysis
  • Automatic Vulkan device selection — on devices with multiple GPUs, Impeller now selects the optimal rendering device based on workload characteristics

The Bigger Picture: Flutter's Rendering Future

The removal of Skia from Android targets is part of a broader strategy to unify Flutter's rendering stack across all platforms. With Impeller now the sole backend on both iOS and modern Android, the Flutter team can focus its rendering engine development on a single codebase with a single set of performance characteristics. This accelerates the development of new rendering features like the WebGPU backend for Flutter web and the experimental Impeller-for-desktop work.

For developers still on older Android devices — those running API 28 (Android 9) or below — Skia remains available. Flutter will continue to ship a Skia-based engine for those legacy targets, albeit without further feature development. The team has committed to maintaining the legacy Skia path for at least two more major releases, giving enterprise and embedded developers ample time to plan their hardware upgrades.

The Skia removal is a strong signal that the Flutter team believes Impeller has reached production maturity. For Android developers, it means one less variable to worry about and one more reason to feel confident in Flutter's ability to deliver native-quality performance on the world's most diverse mobile platform.