Brussels / 3 & 4 February 2024


Flutter, Buildroot, and you!

Flutter is an open-source UI Software Development kit created by Google using the BSD-3-Clause license. It is used for developing multi-platform applications with a single codebase. While traditionally, Flutter has been used for Android and iOS development, it has been steadily gaining market share in the embedded Linux world. While the meta-flutter layer for Yocto has been usable since version 1.17.0 on March 31st, 2020, the Buildroot embedded Linux SDK has only recently added support, starting with Flutter version 3.13.9 on Buildroot version 2023.11.

This talk will cover three main points.

  • The first is a brief history of the numerous difficulties that had to be overcome when adding the Flutter packages and infrastructure to Buildroot. This topic covers several idiosyncrasies of obtaining the source code and cross-compiling Flutter, such as how the source code is downloaded, how it is not currently possible to create an automated reproducible tarball when downloading the source code, and generating a tarball because of a reliance on .git files, how every third-party dependency is bundled into the source tarball, and even a patched clang is included in the source tarball that must be used when compiling.

  • The second point covers the advantages and disadvantages of Flutter compared to Qt QML and LVGL.

  • The final point covers how to start and integrate an existing Flutter project into an existing Buildroot infrastructure using the flutter-gallery package as a reference. This includes using an external tree for development purposes, how to profile an application for performance, and problems/concerns to be aware of.

If you use or are interested in using Buildroot for your embedded Linux project and are interested in using Flutter for your next project, then this talk is for you!


Adam Duskett