Closed limbouser closed 4 years ago
From a build attempt yesterday for Pi Zero Wifi, it looks like the engine requires a patch for arm. It does build for rpi3-64.
I see that you have used a core-image-weston image. How can I make it run in any other image? Like a core-image-base or any other without all this GUI, but just a CLI.
I use core-image-weston as it pulls in the base dependencies, and provides a functional platform. If I were doing a custom scenario, I would choose a plugin to fit the requirements.
You can swap out the weston plugins. The default is the desktop. Weston.ini is where things get adjusted, such as rotation, screen size, plugin, plugin config, etc. You can either auto start the app in weston.ini, pick a different plugin, or write your own.
I've been looking at wlroots for headless. Healthy development, and a small footprint. It can be scaled up depending on the requirements.
Can this application run within a Westeros Compositor? If I have a Westeros based image, how can I make this application run in it? And why go for waylandpp?
I did a quick check of the wiki and homepage. Pre-requisite looks like access to a private BSP.
Based on a brief look, it looks like these are the focus areas to run on a Westeros image:
I switched to waylandpp to make things cleaner. I may switch back.
I figured out the patches. I have Flutter Engine building for Pi0-W outside of Yocto. It does require an external Clang toolchain setup for building ARM. I'll create a 32-bit recipe.
Can you be more specific about the type of image I choose thing? What if I have a
core-image-base
or core-image-minimal
?
How would I run flutter_wayland in it?
If you try to run it with a core-image-base
or core-image-minimal
it won't have the required dependencies to run. You also need to have linked against the libraries from the target's sysroot. It's fairly straight forward to rsync the remote sysroot, and cross-compile on host. I have this logic in my clang_toolchain project - sysroot.cmake.
If you don't build and use a Yocto image, you would cross-compile on your host with:
/usr/lib/
for the triple folder32-bit build supported starting with https://github.com/jwinarske/meta-flutter/commit/2f6fc2ea8e2d05ca9e1dcdf872490c2ce74285b8.
armv6 is not/will not be supported by Dart, so armv7+. https://github.com/flutter/flutter/issues/55439#event-3267901549
Do you know if I can set up weston.ini such that the application gets started up when I launch core-image-weston image.?
This is not an optimized config, but should get you close:
#!/bin/bash
weston &
sleep 5s # could be less
export WAYLAND_DISPLAY=wayland-0
export DISPLAY=:1
exec /path/to/myapp
I see that you have made this layer such that it supports rpi-64, won't this work with a normal raspberrypi3?, ie, when machine is set as raspberrypi3