Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sony/flutter-elinux
Flutter tools for embedded Linux (eLinux)
https://github.com/sony/flutter-elinux
embedded-linux embedded-systems flutter linux
Last synced: about 7 hours ago
JSON representation
Flutter tools for embedded Linux (eLinux)
- Host: GitHub
- URL: https://github.com/sony/flutter-elinux
- Owner: sony
- License: bsd-3-clause
- Created: 2021-07-16T02:58:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-15T22:37:27.000Z (3 months ago)
- Last Synced: 2024-09-16T00:21:57.399Z (3 months ago)
- Topics: embedded-linux, embedded-systems, flutter, linux
- Language: Dart
- Homepage:
- Size: 386 KB
- Stars: 430
- Watchers: 10
- Forks: 44
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
# Flutter for Embedded Linux (eLinux)
![flutter-elinux](doc/images/overview.png)[![Analysis](https://github.com/sony/flutter-elinux/actions/workflows/analysis.yml/badge.svg)](https://github.com/sony/flutter-elinux/actions/workflows/analysis.yml)
This software is a **non-official** extension to the [Flutter SDK](https://github.com/flutter/flutter) to build and debug Flutter apps for Embedded Linux devices using [flutter-embedded-linux](https://github.com/sony/flutter-embedded-linux), which is the flutter embedder for eLinux.
### Repositories
- [flutter-elinux-plugins](https://github.com/sony/flutter-elinux-plugins): Flutter plugins for eLinux
- [flutter-embedded-linux](https://github.com/sony/flutter-embedded-linux): eLinux embedding for Flutter
- [meta-flutter](https://github.com/sony/meta-flutter): Yocto recipes of eLinux embedding for Flutter### Contributing
Welcome to this project. We welcome all your contribution and feedback. See: [CONTRIBUTING.md](CONTRIBUTING.md).## 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
- [Wayland](https://wayland.freedesktop.org/)
- Direct rendering module ([DRM](https://en.wikipedia.org/wiki/Direct_Rendering_Manager))
- Generic Buffer Management ([GBM](https://en.wikipedia.org/wiki/Mesa_(computer_graphics)))
- [EGLStream](https://docs.nvidia.com/drive/drive_os_5.1.6.1L/nvvib_docs/index.html#page/DRIVE_OS_Linux_SDK_Development_Guide/Graphics/graphics_eglstream_user_guide.html) for NVIDIA devices
- X11
- 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 themIf you want to know more details, see also [flutter-embedded-linux](https://github.com/sony/flutter-embedded-linux).
## Plugins
Flutter plugins for eLinux such as video_player and camera can be found at [flutter-elinux-plugins](https://github.com/sony/flutter-elinux-plugins).## User documentation
User documentation including quick start guides can be found at [Wiki](https://github.com/sony/flutter-elinux/wiki).## Quick start
### Install flutter-elinux
```Shell
$ git clone https://github.com/sony/flutter-elinux.git
$ sudo mv flutter-elinux /opt/
$ export PATH=$PATH:/opt/flutter-elinux/bin
```### Install required tools
```Shell
$ sudo apt install unzip curl clang cmake pkg-config
```### Run Flutter sample app on Wayland compositor
You need to install a Wayland compositor such as [Sway](https://github.com/swaywm/sway) and [Weston](https://gitlab.freedesktop.org/wayland/weston/-/tree/master), and launch it before launching your Flutter apps. There are some known issues with Weston version 9. Therefore, we recomend using other compositors such as Sway.```Shell
$ sudo apt install sway
$ sway &
``````Shell
$ 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
``````Shell
$ 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`:
```Shell
$ flutter-elinux run -d elinux-x11
```## Forked from flutter-tizen
This software was created by branching from [flutter-tizen](https://github.com/flutter-tizen/flutter-tizen) (branched from [this version](https://github.com/flutter-tizen/flutter-tizen/commit/ed128233c0bce33c77dd0df69afa59f0888d2d00)). Special thanks to the flutter-tizen team.