Flutter for Embedded Linux (eLinux)

flutter-elinux

Analysis

This software is a non-official extension to the Flutter SDK to build and debug Flutter apps for Embedded Linux devices using flutter-embedded-linux, which is the flutter embedder for eLinux.

Features

  • Flutter optimized for Embedded Systems
    • Lightweight than Flutter desktop for Linux (Not using X11 and GTK)
    • arm64/x64 devices support
    • Minimal dependent libraries
  • Embedded software development
    • Cross-building from x64 to arm64 support
    • Install/uninstall/debug to remote target devices
  • Flutter plugins support
  • Display backends
  • Keyboard, mouse and touch inputs support
  • Equivalent quality to Flutter desktops
  • API compatibility with Flutter desktop for Windows and GLFW
    • APIs such as MethodChannel and EventChannel are completely the same with them

If you want to know more details, see also flutter-embedded-linux.

Plugins

Flutter plugins for eLinux such as video_player and camera can be found at flutter-elinux-plugins.

User documentation

User documentation including quick start guides can be found at Wiki.

Contributing

Welcome to this project. We welcome all your contribution and feedback. See: CONTRIBUTING.md.

Quick start

Install flutter-elinux

$ git clone https://github.com/sony/flutter-elinux.git
$ sudo mv flutter-elinux /opt/
$ export PATH=$PATH:/opt/flutter-elinux/bin

Install required tools

$ sudo apt install unzip curl clang cmake pkg-config

Run Flutter sample app in Weston

You need to install a Wayland compositor such as Weston and launch it before launching your Flutter apps. Note that if you use Weston, Weston version 8.0 or above recommended. See also: Support status

$ sudo apt install weston
$ weston &

$ flutter-elinux devices
2 connected devices:

eLinux (desktop) • elinux-wayland • flutter-tester • Ubuntu 20.04.2 LTS 5.8.0-63-generic
eLinux (desktop) • elinux-x11     • flutter-tester • Ubuntu 20.04.2 LTS 5.8.0-63-generic

$ flutter-elinux create sample
$ cd sample
$ flutter-elinux run -d elinux-wayland

If you want to run your flutter app in X11, use elinux-x11 instead of elinux-wayland:

$ flutter-elinux run -d elinux-x11

Companion repos

Repo Purpose
flutter-elinux-plugins Flutter plugins for eLinux
flutter-embedded-linux eLinux embedding for Flutter
meta-flutter Yocto recipes of eLinux embedding for Flutter

Base software

This software was created by branching from flutter-tizen (branched from this version). Special thanks to the flutter-tizen team.

GitHub

View Github