flutter-pi icon indicating copy to clipboard operation
flutter-pi copied to clipboard

Vulkan does not support video.

Open DisDis opened this issue 7 months ago • 2 comments

my kernel, RaPi5: Linux dslideshow1 6.12.20+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.20-1+rpt1~bpo12+1 (2025-03-19) aarch64 GNU/Linux

When I execute: flutter-pi --vulkan ./flutter_assets/ I got: Video player: flutter-pi: gl_renderer.c:582: gl_renderer_supports_egl_extension: Assertion renderer != NULL' failed.`

Video works fine in EGL mode.

DisDis avatar Apr 28 '25 18:04 DisDis

I found that. flutter-pi does not support video in Vulkan mode :( https://github.com/ardera/flutter-pi/blob/master/src/plugins/gstreamer_video_player/frame.c#L16

DisDis avatar Apr 28 '25 19:04 DisDis

Yeah unfortunately the flutter engine does not yet support external textures (which are used to display the video frames) when using Vulkan: https://github.com/flutter/flutter/issues/117937

It is technically possible to work around this by using a platform view instead of an external texture, and have flutter-pi manually composite everything together. However that's basically adding a vulkan renderer to flutter-pi. That's definitely possible but seems a bit redundant. I'd really prefer the flutter engine does the rendering, given that it has its own very capable & widely compatible rendering engine, impeller.

ardera avatar Apr 29 '25 08:04 ardera