Closed limbouser closed 4 years ago
The default configuration is configured for hardware as opposed to software rendering. That's done with Engine build flags. That said you can still have a target such as some iMX devices don't have a GPU, and the bottom of the stack is a software framebuffer.
The primary source of start delay is from not running an Ahead of Time (AOT) image.
Does this work on a Pi with h/w acceleration or without ? ie, on a Pi with Zeus image using your layer.
I suspect your start delay has to do with not running the application as compiled (AOT). If you don't build app as AOT, then it will be interpreted, which results in the app taking a long time to load. This is unrelated to the engine build.
I was trying the flutter gallery application itself provided by the Flutter team.
Unless you build the app as AOT, it will be built as interpreted.
Can I run an AOT app using flutter_wayland?
Yes
And how would that be actually? I want to minimize the delay on start and there is a significant amount of delay for the icons to load
The current implementation is single threaded. The engine can support more.
I documented the steps to build AOT here https://github.com/jwinarske/meta-flutter/issues/7
I need some clarification about steps to build AOT from #7
These are the manual steps in master to generate ELF shared library
you have mentioned 'master' in the beginning of step, does that mean I have try all this on a master commit of flutter engine?
Build engine of same commit for Host, to get the following
For host means, I have to bitbake the flutter-engine-native recipe file? If yes, do I have add the flag
--runtime-mode release
to flutter-engine-native recipe?
I bitbaked flutter-engine with the --runtime-mode release flag
, and no file named dart
or frontend_server.dart.snapshot
were not present in this path
cortexa7*/flutter-engine/git-r0/git/src/out/linux_release_arm/
I assume flutter-engine-aot
mentioned in the steps you have taken is the flutter-engine
package itself.
Edit: All the files you mentioned dart
and frontend_server.dart.snapshot
were obtained in
tmp/work/x86_64-linux/flutter-engine-native/git-r0/git/src/out/host_release_unopt
when I built the flutter-engine-native with the '--runtime-mode release' flag but according to your #7 it should be in tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/flutter-engine-aot/git-r0/git/src/out/linux_release_arm/
Edit: I have used flutter-engine-native recipe file without the release flags and used the files in out/host_release/unopt to generate app.dill and libapp.so . Do I need anyother files to run flutter-wayland, how do I package them and run it on flutter-wayland?
There's work in the tools support area. AOT toolset generation is currently manual. One of the key host side artifacts are built during the target build. Manual building of tools isn't a regular activity, so a low priority.
Sorry for all the trouble caused over this AOT, the commit for flutter_wayland hasn't been changed so as to include AOT mode. It worked when that change was made.
Does flutter-wayland provide hardware acceleration by default, I had observed a delay while running the flutter gallery app provided by the flutter team on flutter-wayland. Do you have an idea about those?