Yocto meta layer for recipes related to using Google Flutter Engine

Overview

meta-flutter

Notice: Layer has moved to https://github.com/meta-flutter/meta-flutter. Redirection will be automatic in the next couple of weeks.

Yocto Layer for Flutter related artifacts.

Recommended development flow starts with making an embedder run on desktop, then target. This approach will save you a good deal of time and aggrevation.

Note: In theory Swift Shader (CPU render) engine builds should work with the right build flags. Be warned it won't work out of the box. Select a SoC with a GPU that supports OpenGL 3.0+ and save yourself the Engineering NRE.

Note: If you get a gray screen running the Gallery app, chances are you don't have LC_ALL set. Check /usr/share/locale/ on your target for available locale, and set LC_ALL appropriately. Example: export LC_ALL=en_GB

Layers dependencies

  • meta-clang Toyota and Sony embedders

Overview

Target BSP is expected to have a GPU with OpenGLES v3.0+ support.

This layer includes recipes to build

  • flutter-engine (channel selection, default is beta)
  • flutter-sdk (channel selection, default is beta)
  • fltter-gallery Application (interpreted and AOT - requires master channel override)
  • flutter-pi (DRM w/VSync)
  • flutter-wayland (basic POC) / waylandpp/ipugxml (archived)
  • Toyota ivi-homescreen (Recommended)
  • Sony embedders

Notes

Targets flutter-engine is known to work on

  • AGL QEMU images - x86_64
  • DragonBoard 410c - aarch64
  • Intel MinnowBoard Max (BayTrail) - intel-icore7-64
  • NVIDIA Nano Dev Kit - aarch64
  • NVIDIA Xavier NX Dev Kit - aarch64
  • Raspberry Pi 3 / Compute - aarch64 / armv7hf
  • Raspberry Pi 4 / Compute - aarch64
  • Renesas R-Car m3ulcb - aarch64
  • STM32MP157x - cortexa7t2hf
  • etc, etc

Building for ARM (32-bit) has an outstanding P4 bug on this: https://github.com/flutter/flutter/issues/83765

NVIDIA Xavier/Nano

local.conf changes

TARGET_GCC_VERSION = "8.3.0"
FLUTTER_CHANNEL = "master"
IMAGE_INSTALL_append = " flutter-drm-eglstream-backend"
IMAGE_INSTALL_append = " flutter-gallery"

OR

TARGET_GCC_VERSION = "8.3.0"
FLUTTER_CHANNEL = "master"
CORE_IMAGE_EXTRA_INSTALL += "\
    flutter-drm-eglstream-backend \
    flutter-gallery \
"

Build EGL image

bitbake demo-image-egl

Run Flutter application on target (defaults to AOT)

FLUTTER_DRM_DEVICE=/dev/dri/card0 flutter-drm-eglstream-backend -b /usr/share/flutter-gallery/sony

NXP i.MX 8QuadXPlus MEK

repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-gatesgarth -m imx-5.10.9-1.0.0.xml
repo sync -j20
DISTRO=fslc-wayland MACHINE=imx8qxpmek source setup-environment build
pushd ../sources
git clone -b dunfell https://github.com/jwinarske/meta-flutter.git
popd
bitbake-layers add-layer ../sources/meta-clang ../sources/meta-flutter
echo -e 'TARGET_GCC_VERSION = "10.2.0"' >> conf/local.conf
echo -e 'FLUTTER_CHANNEL = "dev"' >> conf/local.conf
echo -e 'IMAGE_INSTALL_append = " flutter-wayland"' >> conf/local.conf
echo -e 'IMAGE_INSTALL_append = " flutter-gallery"' >> conf/local.conf
bitbake fsl-image-multimedia
...
Build Configuration:
BB_VERSION           = "1.48.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "aarch64-fslc-linux"
MACHINE              = "imx8qxpmek"
DISTRO               = "fslc-wayland"
DISTRO_VERSION       = "3.2-snapshot-20210616"
TUNE_FEATURES        = "aarch64 armv8a crc cortexa35 crypto"
TARGET_FPU           = ""

Raspberry PI 3/4 (aarch64)

export MACHINE=raspberrypi4-64

or

export MACHINE=raspberrypi3-64
mkdir rpi_yocto && cd rpi_yocto
repo init -u https://github.com/jwinarske/manifests.git -m rpi64.xml -b dunfell
repo sync -j20
source ./setup-environment $MACHINE
bitbake-layers add-layer ../sources/meta-clang ../sources/meta-flutter
echo -e 'FLUTTER_CHANNEL = "dev"' >> conf/local.conf
echo -e 'IMAGE_INSTALL_append = " flutter-pi"' >> conf/local.conf
echo -e 'IMAGE_INSTALL_append = " flutter-gallery"' >> conf/local.conf
bitbake core-image-minimal

Note: you may want/need to increase the GPU_MEM value. It's defaulting to 64.

STM32MP157x Discovery Board (doesn't include build hack)

Setup Ubuntu 16.04 for building Yocto images. envsetup.sh will complain if you're missing a package.

mkdir openstlinux-5.10-dunfell-mp1-21-03-31 && cd openstlinux-5.10-dunfell-mp1-21-03-31
repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.10-dunfell-mp1-21-03-31
repo sync -j20
DISTRO=openstlinux-eglfs MACHINE=stm32mp1-disco source layers/meta-st/scripts/envsetup.sh
pushd ../layers
git clone -b dunfell https://github.com/jwinarske/meta-flutter.git
git clone -b dunfell https://github.com/kraj/meta-clang.git
popd
bitbake-layers add-layer ../layers/meta-flutter ../layers/meta-clang
echo -e 'MACHINE_FEATURES_remove = "fip"\n' >> conf/local.conf
echo -e 'DISTRO_FEATURES_remove = "wayland"\n' >> conf/local.conf
echo -e 'DISTRO_FEATURES_remove = "x11"\n' >> conf/local.conf
echo -e 'FLUTTER_CHANNEL = "master"\n' >> conf/local.conf
echo -e 'CORE_IMAGE_EXTRA_INSTALL += " \' >> conf/local.conf
echo -e '  flutter-pi \' >> conf/local.conf
echo -e '  flutter-drm-gbm-backend \' >> conf/local.conf
echo -e '  flutter-gallery \' >> conf/local.conf
echo -e '"' >> conf/local.conf
cat conf/local.conf
bitbake st-image-core
...
TARGET_SYS      = "arm-ostl-linux-gnueabi"
MACHINE         = "stm32mp1-disco"
DISTRO          = "openstlinux-eglfs"
DISTRO_VERSION  = "3.1-snapshot-20210602"
TUNE_FEATURES   = "arm vfp cortexa7 neon vfpv4 thumb callconvention-hard"
TARGET_FPU      = "hard"

See release notes regarding "fip": https://wiki.st.com/stm32mpu/wiki/STM32MP15_OpenSTLinux_release_note

Build EGL image

bitbake demo-image-egl

Run Flutter application on target (defaults to AOT)

FLUTTER_DRM_DEVICE=/dev/dri/card0 flutter-drm-eglstream-backend -b /usr/share/flutter-gallery/sony

General Yocto Notes

When building on systems with GCC version > than uninative in Yocto distro add the following to conf/local.conf

INHERIT_remove = "uninative"
Comments
  • support for gatesgarth

    support for gatesgarth

    The flutter-sdk_git.bb recipe leaks out of the sysroot and attempts to read files in the user's home directory.

    $ rm -rf ~/.pub-cache
    $ touch ~/.pub-cache
    $ Loading cache: 100% |##############################################################################################| Time: 0:00:00
    Loaded 4859 entries from dependency cache.
    Parsing recipes: 100% |############################################################################################| Time: 0:00:03
    Parsing of 3296 .bb files complete (3286 cached, 10 parsed). 4871 targets, 499 skipped, 1 masked, 0 errors.
    NOTE: Resolving any missing task queue dependencies
    
    Build Configuration:
    BB_VERSION           = "1.48.0"
    BUILD_SYS            = "x86_64-linux"
    NATIVELSBSTRING      = "ubuntu-20.04"
    TARGET_SYS           = "aarch64-poky-linux"
    MACHINE              = "imx8qxpmek"
    DISTRO               = "fsl-imx-wayland"
    DISTRO_VERSION       = "5.10-gatesgarth"
    TUNE_FEATURES        = "aarch64 armv8a crc cortexa35 crypto"
    TARGET_FPU           = ""
    meta
    meta-poky            = "HEAD:943ef2fad8428f002850e3655a3312e13d0dcb2c"
    meta-oe
    meta-multimedia
    meta-python          = "HEAD:ac4ccd2fbbb599d75ca4051911fcbaca39dbe6d7"
    meta-freescale       = "HEAD:41d4f625c6db7a778f0f9a735c2cb48e023bc49b"
    meta-freescale-3rdparty = "HEAD:b85d08a55cb833bfc4e8b5034ff804286c67620e"
    meta-freescale-distro = "HEAD:11be3f01962df8436c5c7b0d61cd3dbd1b872905"
    meta-bsp
    meta-sdk
    meta-ml              = "HEAD:478d788fc1ecb4783a2702752a61f1035fe9ab9f"
    meta-nxp-demo-experience = "HEAD:c7263d9f3cc7bbf44e7164ffeda494cf283d3dec"
    meta-browser         = "HEAD:ee3be3b5986a4aa0e73df2204a625ae1fe5df37e"
    meta-rust            = "HEAD:53bfa324891966a2daf5d36dc13d4a43725aebed"
    meta-clang           = "HEAD:61faae011fb95712064f2c58abe6293f0daeeab5"
    meta-gnome
    meta-networking
    meta-filesystems     = "HEAD:ac4ccd2fbbb599d75ca4051911fcbaca39dbe6d7"
    meta-qt5             = "HEAD:8d5672cc6ca327576a814d35dfb5d59ab24043cb"
    meta-python2         = "HEAD:c43c29e57f16af4e77441b201855321fbd546661"
    meta-flutter         = "dunfell:9d50ce85de4d249d3bdf194753d38276c567b949"
    
    Initialising tasks: 100% |#########################################################################################| Time: 0:00:02
    Sstate summary: Wanted 421 Found 397 Missed 24 Current 2850 (94% match, 99% complete)
    NOTE: Executing Tasks
    ERROR: flutter-gallery-git-r0 do_compile: Execution of '/opt/Ion/yocto/imx-yocto-bsp/mek-build/tmp/work/cortexa35-poky-linux/flutter-gallery/git-r0/temp/run.do_compile.31770' failed with exit code 66:
    Running "flutter pub get" in flutter_tools...
    Creation failed, path = '/home/user/.pub-cache' (OS Error: Not a directory, errno = 20)
    pub get failed (66; Creation failed, path = '/home/user/.pub-cache' (OS Error: Not a directory, errno = 20))
    WARNING: exit code 66 from a shell command.
    ...
    
    opened by xobs 19
  • ===== CRASH ===== while building flutter engine for arm

    ===== CRASH ===== while building flutter engine for arm

    Trying to build the flutter-engine recipe for qemuarm machine leads to this crash error:

    FAILED: gen/strong.sum
    | python ../../third_party/dart/build/gn_run_binary.py compiled_action clang_x64/dart -Dsdk_hash=7c8c6b3053 --packages=/mnt/poky/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/flutter-engine/git-r0/src/third_party/dart/.packages /mnt/poky/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/flutter-engine/git-r0/src/third_party/dart/pkg/analyzer/tool/summary/build_sdk_summaries.dart build /mnt/poky/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/flutter-engine/git-r0/src/out/linux_release_arm/gen/strong.sum /mnt/poky/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/flutter-engine/git-r0/src/out/linux_release_arm/dart-sdk
    | Command failed: ./clang_x64/dart -Dsdk_hash=7c8c6b3053 --packages=/mnt/poky/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/flutter-engine/git-r0/src/third_party/dart/.packages /mnt/poky/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/flutter-engine/git-r0/src/third_party/dart/pkg/analyzer/tool/summary/build_sdk_summaries.dart build /mnt/poky/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/flutter-engine/git-r0/src/out/linux_release_arm/gen/strong.sum /mnt/poky/build/tmp/work/armv7vet2hf-neon-poky-linux-gnueabi/flutter-engine/git-r0/src/out/linux_release_arm/dart-sdk
    | output:
    | ===== CRASH =====
    | si_signo=Segmentation fault(11), si_code=1, si_addr=0x7fc0fae5ceac
    |
    | [2421/2536] ACTION //flutter/lib/snapshot:isolate_snapshot_data_linkable(//build/toolchain/custom:custom)
    | [2422/2536] ACTION //flutter/lib/snapshot:platform_strong_dill_linkable(//build/toolchain/custom:custom)
    | [2423/2536] ACTION //third_party/dart/runtime/bin:kernel_service_dill_linkable(//build/toolchain/custom:custom)
    | [2424/2536] ACTION //third_party/dart/utils/dds:generate_dds_snapshot_dill(//build/toolchain/custom:custom)
    | [2425/2536] ACTION //third_party/dart/utils/dart2native:generate_dart2native_snapshot_dill(//build/toolchain/custom:custom)
    | [2426/2536] ACTION //third_party/dart/utils/gen_kernel:gen_kernel_dill(//build/toolchain/custom:custom)
    | [2427/2536] ACTION //third_party/dart/utils/dartfmt:dartfmt_dill(//build/toolchain/custom:custom)
    | [2428/2536] ACTION //flutter/flutter_frontend_server:frontend_server_dill(//build/toolchain/custom:custom)
    | [2429/2536] ACTION //third_party/dart/utils/pub:pub_dill(//build/toolchain/custom:custom)
    | [2430/2536] ACTION //third_party/dart/utils/dartanalyzer:generate_dartanalyzer_snapshot_dill(//build/toolchain/custom:custom)
    | [2431/2536] ACTION //third_party/dart/utils/dartdoc:dartdoc_dill(//build/toolchain/custom:custom)
    | ninja: build stopped: subcommand failed.
    | WARNING: exit code 1 from a shell command.
    |
    ERROR: Task (/mnt/poky/meta-flutter/recipes-graphics/flutter-engine/flutter-engine_git.bb:do_compile) failed with exit code '1'
    
    opened by kivr 17
  • Build error vpython3: No such file or directory

    Build error vpython3: No such file or directory

    Hi,

    when building with meta-flutter I get the following error:

    ERROR: depot-tools-native-git-r0 do_compile: Execution of '/var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/temp/run.do_compile.35155' failed with exit code 127:
    /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/git/vpython3: line 52: /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/git/.cipd_bin/vpython3: No such file or directory
    WARNING: /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/temp/run.do_compile.35155:1 exit 127 from 'gclient --version'
    
    ERROR: Logfile of failure stored in: /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/temp/log.do_compile.35155
    Log data follows:
    | DEBUG: Executing shell function do_compile
    | /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/git/vpython3: line 52: /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/git/.cipd_bin/vpython3: No such file or directory
    | WARNING: /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/temp/run.do_compile.35155:1 exit 127 from 'gclient --version'
    | ERROR: Execution of '/var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/temp/run.do_compile.35155' failed with exit code 127:
    | /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/git/vpython3: line 52: /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/git/.cipd_bin/vpython3: No such file or directory
    | WARNING: /var/data/flutter/flutter-build/build/tmp/work/x86_64-linux/depot-tools-native/git-r0/temp/run.do_compile.35155:1 exit 127 from 'gclient --version'
    | 
    NOTE: recipe depot-tools-native-git-r0: task do_compile: Failed
    ERROR: Task (virtual:native:/var/data/flutter/flutter-build/sources/poky/../meta-flutter/recipes-devtools/depot-tools/depot-tools_git.bb:do_compile) failed with exit code '1'
    NOTE: recipe icu-native-66.1-r0: task do_unpack: Succeeded
    
    
    opened by embetrix 14
  • Hardware acceleration in flutter-wayland

    Hardware acceleration in flutter-wayland

    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?

    opened by limbouser 13
  • Support on raspberrypi3

    Support on raspberrypi3

    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

    opened by limbouser 11
  • Erro when building image: python’: No such file or directory

    Erro when building image: python’: No such file or directory

    Apologies. I'm rather new to yocto/OE and feel a little like I'm fumbling around. I've attempted to run the flutter example app build and get the following.

    NOTE: Executing Tasks
    ERROR: flutter-engine-git-r0 do_patch: Execution of '/home/luke/Projects/JTE/stm32-testing/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/flutter-engine/git-r0/temp/run.do_patch.3405252' failed with exit code 127:
    /usr/bin/env: ‘python’: No such file or directory
    WARNING: /home/luke/Projects/JTE/stm32-testing/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/flutter-engine/git-r0/temp/run.do_patch.3405252:1 exit 127 from 'gclient.py config --spec 'solutions = [
            {
                "managed" : False,
                "name" : "src/flutter",
                "url" : "[email protected]:flutter/engine.git",
                "custom_vars" : {
                    "download_android_deps" : False,
                    "download_windows_deps" : False,
                }
            }
        ]''
    
    ERROR: Logfile of failure stored in: /home/luke/Projects/JTE/stm32-testing/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/flutter-engine/git-r0/temp/log.do_patch.3405252
    Log data follows:
    | DEBUG: Executing python function extend_recipe_sysroot
    | NOTE: Direct dependencies are ['/home/luke/Projects/JTE/stm32-testing/poky/meta/recipes-devtools/quilt/quilt-native_0.66.bb:do_populate_sysroot', 'virtual:native:/home/luke/Projects/JTE/stm32-testing/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot', 'virtual:native:/home/luke/Projects/JTE/stm32-testing/poky/meta-flutter/recipes-support/depot-tools/depot-tools_git.bb:do_populate_sysroot']
    | NOTE: Installed into sysroot: []
    | NOTE: Skipping as already exists in sysroot: ['quilt-native', 'patch-native', 'depot-tools-native', 'libtool-native', 'gnu-config-native', 'autoconf-native', 'attr-native', 'automake-native', 'texinfo-dummy-native', 'm4-native', 'gettext-minimal-native']
    | DEBUG: Python function extend_recipe_sysroot finished
    | DEBUG: Executing shell function do_patch
    | /usr/bin/env: ‘python’: No such file or directory
    | WARNING: /home/luke/Projects/JTE/stm32-testing/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/flutter-engine/git-r0/temp/run.do_patch.3405252:1 exit 127 from 'gclient.py config --spec 'solutions = [
    |         {
    |             "managed" : False,
    |             "name" : "src/flutter",
    |             "url" : "[email protected]:flutter/engine.git",
    |             "custom_vars" : {
    |                 "download_android_deps" : False,
    |                 "download_windows_deps" : False,
    |             }
    |         }
    |     ]''
    | ERROR: Execution of '/home/luke/Projects/JTE/stm32-testing/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/flutter-engine/git-r0/temp/run.do_patch.3405252' failed with exit code 127:
    | /usr/bin/env: ‘python’: No such file or directory
    | WARNING: /home/luke/Projects/JTE/stm32-testing/poky/build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/flutter-engine/git-r0/temp/run.do_patch.3405252:1 exit 127 from 'gclient.py config --spec 'solutions = [
    |         {
    |             "managed" : False,
    |             "name" : "src/flutter",
    |             "url" : "[email protected]:flutter/engine.git",
    |             "custom_vars" : {
    |                 "download_android_deps" : False,
    |                 "download_windows_deps" : False,
    |             }
    |         }
    |     ]''
    | 
    
    opened by flukejones 9
  • example of running flutter application wayland

    example of running flutter application wayland

    I have built an image with the following setup added to my local.conf

    DISTRO_FEATURES_append = " opengl wayland"
    IMAGE_INSTALL_append = " flutter-gallery flutter-wayland-client flutter-wayland"
    

    How do I run the flutter-gallery App ? I couldn't find a lead

    the follwoing isn't working:

    # flutter_wayland /usr/share/flutter-gallery/sony/data/flutter_assets/
    LOG: /usr/src/debug/flutter-wayland/git-r0/git/src/main.cc:65: Arg: /usr/share/flutter-gallery/sony/data/flutter_assets/
    terminate called after throwing an instance of 'std::runtime_error'
    Bus error
    
    opened by embetrix 8
  • `arm_tune` argument not present in Gatesgarth on aarch64

    `arm_tune` argument not present in Gatesgarth on aarch64

    The arm_tune parameter does not appear to work with the version of the compiler generated by Dunfell. Or rather, I'm not sure if it's the compiler version or something Flutter related:

    ERROR: flutter-engine-git-r0 do_compile: Execution of '/opt/Ion/yocto/imx-yocto-bsp/mek-build/tmp/work/cortexa35-poky-linux/flutter-engine/git-r0/temp/run.do_compile.5061' failed with exit code 1:
    ninja: Entering directory `out/linux_release_arm64'
    [1/1] Regenerating ninja files
    FAILED: build.ninja
    ../../flutter/third_party/gn/gn --root=../.. -q --check --export-compile-commands gen .
    ERROR at build arg file (use "gn args <out_dir>" to edit):43:2: Undefined identifier
    -e arm_tune = "armv8a+crc+cortexa35+crypto"
     ^
    ninja: error: rebuilding 'build.ninja': subcommand failed
    WARNING: exit code 1 from a shell command.
    
    ERROR: Logfile of failure stored in: /opt/Ion/yocto/imx-yocto-bsp/mek-build/tmp/work/cortexa35-poky-linux/flutter-engine/git-r0/temp/log.do_compile.5061
    Log data follows:
    | DEBUG: Executing python function extend_recipe_sysroot
    | NOTE: Direct dependencies are ['/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-devtools/quilt/quilt-native_0.66.bb:do_populate_sysroot', 'virtual:native:/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot', '/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-devtools/gcc/gcc-cross_10.2.bb:do_populate_sysroot', 'virtual:native:/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', '/opt/Ion/yocto/imx-yocto-bsp/sources/meta-flutter/recipes-devtools/depot-tools/depot-tools-native_git.bb:do_populate_sysroot', 'virtual:native:/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-devtools/python/python3_3.8.5.bb:do_populate_sysroot', 'virtual:native:/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-extended/zip/zip_3.0.bb:do_populate_sysroot', '/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-graphics/fontconfig/fontconfig_2.13.1.bb:do_populate_sysroot', '/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-devtools/gcc/gcc-runtime_10.2.bb:do_populate_sysroot', '/opt/Ion/yocto/imx-yocto-bsp/sources/poky/meta/recipes-core/glibc/glibc_2.32.bb:do_populate_sysroot']
    | NOTE: Installed into sysroot: []
    | NOTE: Skipping as already exists in sysroot: ['quilt-native', 'patch-native', 'gcc-cross-aarch64', 'pseudo-native', 'depot-tools-native', 'python3-native', 'zip-native', 'fontconfig', 'gcc-runtime', 'glibc', 'autoconf-native', 'libtool-native', 'automake-native', 'gnu-config-native', 'attr-native', 'binutils-cross-aarch64', 'gmp-native', 'xz-native', 'texinfo-dummy-native', 'libmpc-native', 'linux-libc-headers', 'flex-native', 'mpfr-native', 'zlib-native', 'libtirpc-native', 'util-linux-native', 'libnsl2-native', 'libffi-native', 'sqlite3-native', 'pkgconfig-native', 'bzip2-native', 'gdbm-native', 'readline-native', 'openssl-native', 'util-linux', 'freetype', 'zlib', 'expat', 'libgcc', 'm4-native', 'gettext-minimal-native', 'libpcre2-native', 'ncurses-native', 'libcap-ng-native', 'opkg-utils', 'libpam', 'bash-completion', 'libxcrypt', 'ncurses', 'libcap-ng', 'libpng', 'cracklib', 'flex']
    | DEBUG: Python function extend_recipe_sysroot finished
    | DEBUG: Executing shell function do_compile
    | ninja: Entering directory `out/linux_release_arm64'
    | [1/1] Regenerating ninja files
    | FAILED: build.ninja
    | ../../flutter/third_party/gn/gn --root=../.. -q --check --export-compile-commands gen .
    | ERROR at build arg file (use "gn args <out_dir>" to edit):43:2: Undefined identifier
    | -e arm_tune = "armv8a+crc+cortexa35+crypto"
    |  ^
    | ninja: error: rebuilding 'build.ninja': subcommand failed
    | WARNING: exit code 1 from a shell command.
    | ERROR: Execution of '/opt/Ion/yocto/imx-yocto-bsp/mek-build/tmp/work/cortexa35-poky-linux/flutter-engine/git-r0/temp/run.do_compile.5061' failed with exit code 1:
    | ninja: Entering directory `out/linux_release_arm64'
    | [1/1] Regenerating ninja files
    | FAILED: build.ninja
    | ../../flutter/third_party/gn/gn --root=../.. -q --check --export-compile-commands gen .
    | ERROR at build arg file (use "gn args <out_dir>" to edit):43:2: Undefined identifier
    | -e arm_tune = "armv8a+crc+cortexa35+crypto"
    |  ^
    | ninja: error: rebuilding 'build.ninja': subcommand failed
    | WARNING: exit code 1 from a shell command.
    |
    ERROR: Task (/opt/Ion/yocto/imx-yocto-bsp/sources/meta-flutter/recipes-graphics/flutter-engine/flutter-engine_git.bb:do_compile) failed with exit code '1'
    NOTE: Tasks Summary: Attempted 4345 tasks of which 4310 didn't need to be rerun and 1 failed.
    
    Summary: 1 task failed:
      /opt/Ion/yocto/imx-yocto-bsp/sources/meta-flutter/recipes-graphics/flutter-engine/flutter-engine_git.bb:do_compile
    Summary: There were 3 WARNING messages shown.
    Summary: There was 1 ERROR message shown, returning a non-zero exit code.
    user@Cuboid:/opt/Ion/yocto/imx-yocto-bsp/mek-build$
    

    Regardless, this patch fixes the compile issue:

    diff --git a/recipes-graphics/flutter-engine/flutter-engine_git.bb b/recipes-graphics/flutter-engine/flutter-engine_git.bb
    index dcf7e7a..553f949 100644
    --- a/recipes-graphics/flutter-engine/flutter-engine_git.bb
    +++ b/recipes-graphics/flutter-engine/flutter-engine_git.bb
    @@ -91,7 +91,7 @@ GN_ARGS_append_armv7a = " --arm-float-abi ${TARGET_FPU}"
     GN_ARGS_append_armv7ve = " --arm-float-abi ${TARGET_FPU}"
    
     ARGS_GN = ""
    -ARGS_GN_append_aarch64 = "arm_tune = \"${@gn_get_tune_features(d)}\""
    +#ARGS_GN_append_aarch64 = "arm_tune = \"${@gn_get_tune_features(d)}\""
     ARGS_GN_append_armv7 = "arm_tune = \"${@gn_get_tune_features(d)}\""
     ARGS_GN_append_armv7a = "arm_tune = \"${@gn_get_tune_features(d)}\""
     ARGS_GN_append_armv7ve = "arm_tune = \"${@gn_get_tune_features(d)}\""
    
    opened by xobs 7
  • How do I run some flutter example?

    How do I run some flutter example?

    Can you please tell me how to run some example? I tried to make a bundle as described in https://github.com/ardera/flutter-pi However, it did not work that way:

    root@raspberrypi4-64:~# flutter_wayland ~/my_app 
    LOG: /usr/src/debug/flutter-wayland/git-r0/git/src/main.cc:61: Arg: /home/root/my_app
    error: XDG_RUNTIME_DIR not set in the environment.
    terminate called after throwing an instance of 'std::runtime_error'
    Bus error
    
    opened by james-bay 7
  • Fetch flutter-engine using https and upgrade to gcc 9.3.0

    Fetch flutter-engine using https and upgrade to gcc 9.3.0

    Hello,

    this pull request introduces two changes:

    Pull Flutter Engine using https Currently, the source is loaded using git which seems to be impossible without a valid ssh key registered at github. As this broke our CI, I want to propose using https for fetching this dependency.

    Link crtbeginS & crtendS from gcc 9.3.0 In my builds, i faced issues when linking those dependencies as in my environment, the used path was invalid and 9.3.0 was present. Thus I assume this is the current version on dunfell.

    Feedback appreciated!

    Thanks, Valentin

    opened by v-morlock 7
  • flutter-wayland segfaults

    flutter-wayland segfaults

    Reported as issue on i.MX target

    bash-5.0# gdb --args flutter_wayland /usr/share/flutter-gallery/sony/data/flutter_assets/
    GNU gdb (GDB) 9.2
    Copyright (C) 2020 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Type "show copying" and "show warranty" for details.
    This GDB was configured as "aarch64-poky-linux".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    <http://www.gnu.org/software/gdb/bugs/>.
    Find the GDB manual and other documentation resources online at:
        <http://www.gnu.org/software/gdb/documentation/>.
    
    For help, type "help".
    Type "apropos word" to search for commands related to "word"...
    Reading symbols from flutter_wayland...
    Reading symbols from /usr/bin/.debug/flutter_wayland...
    (gdb) run
    Starting program: /usr/bin/flutter_wayland /usr/share/flutter-gallery/sony/data/flutter_assets/
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/libthread_db.so.1".
    LOG: /usr/src/debug/flutter-wayland/git-r0/git/src/main.cc:65: Arg: /usr/share/flutter-gallery/sony/data/flutter_assets/
    
    Program received signal SIGSEGV, Segmentation fault.
    std::function<void (wayland::seat_capability)>::swap(std::function<void (wayland::seat_capability)>&) (__x=..., this=0xffffffffeee8)
        at /usr/include/c++/10.2.0/bits/std_function.h:483
    483             std::swap(_M_functor, __x._M_functor);
    (gdb) bt
    #0  std::function<void (wayland::seat_capability)>::swap(std::function<void (wayland::seat_capability)>&) (__x=...,
        this=0xffffffffeee8) at /usr/include/c++/10.2.0/bits/std_function.h:483
    #1  std::function<void(wayland::seat_capability)>::operator=<flutter::WaylandDisplay::WaylandDisplay(size_t, size_t, const std::vector<std::__cxx11::basic_string<char> >&)::<lambda(wayland::seat_capability)> > (__f=..., __f=..., this=0x8)
        at /usr/include/c++/10.2.0/bits/std_function.h:459
    #2  flutter::WaylandDisplay::WaylandDisplay (this=0xffffffffefd0, width=<optimized out>, height=<optimized out>, args=...)
        at /usr/src/debug/flutter-wayland/git-r0/git/src/wayland_display.cc:196
    #3  0x0000aaaaaaabce04 in flutter::Main (args=...) at /usr/src/debug/flutter-wayland/git-r0/git/src/main.cc:68
    #4  0x0000aaaaaaaa59e0 in main (argc=<optimized out>, argv=<optimized out>) at /usr/include/c++/10.2.0/bits/stl_vector.h:102
    (gdb)
    
    
    opened by jwinarske 6
Owner
Joel Winarske
Joel Winarske
A light-weight Flutter Engine Embedder for Raspberry Pi that runs without X.

?? NEWS The new latest flutter gallery commit for flutter 2.2 is 633be8a There's now a #custom-embedders channel on the flutter discord which you can

Hannes Winkler 1.1k Jan 1, 2023
Reversi Board with edax, which is the strongest reversi engine.

pedax pedax is Board GUI with edax, which is the strongest reversi program. pedax has 4 features. Mac/Windows/Linux are supported. I distribute on Mac

done 19 Dec 14, 2022
A cross-platform flutter plugin for C/C++/ObjC crash report via Google Breakpad

quick_breakpad A cross-platform flutter plugin for C/C++/ObjC crash report via Google Breakpad Use breakpad for quick_breakpad_example $CLI_BREAKPAD i

Woodemi Co., Ltd 16 Jul 30, 2022
A fresh and modern Google Contacts manager that integrates with GitHub and Twitter.

Flokk A fresh and modern Google Contacts manager that integrates with GitHub and Twitter. Demo Builds Web: https://flokk.app Linux: https://snapcraft.

gskinner team 1.3k Jan 3, 2023
Flokk - A fresh and modern Google Contacts manager that integrates with GitHub and Twitter.

Flokk A fresh and modern Google Contacts manager that integrates with GitHub and Twitter. Demo Builds Web: https://flokk.app Linux: https://snapcraft.

gskinner team 1.1k Jan 3, 2022
🎞 Flutter media playback, broadcast & recording library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. (Both audio & video)

dart_vlc Flutter media playback, broadcast, recording & chromecast library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. Install

Hitesh Kumar Saini 417 Dec 29, 2022
Youtube video downloader made using flutter.

FluTube Youtube video client made using flutter Features: Beautiful user interface Lightweight and fast No Login Required Keep your liked videos and c

Prateek SU 257 Jan 8, 2023
A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme

Building a Yaru app with Flutter Summary URL https://github.com/ubuntu/user_manager Category Environment Linux Status Feedback Link Author Frederik Fe

Ubuntu 22 Dec 21, 2022
A nice clean Portfolio Website for Designer or developers Built Using Flutter

A Portfolio Website - Flutter Web Watch it on YouTube This UI is not Responsive A nice clean Portfolio Website for Designer or developers. Which inclu

Elias Baya 1 Aug 17, 2022
A lightweight personal portfolio website template built using Flutter

Dev Portfolio Software Developer Portfolio Template that helps you showcase your

AbdulMomen 18 Dec 23, 2022
Photon is a cross-platform file-sharing application built using flutter.

Welcome to Photon ?? Photon is a cross-platform file-transfer application built using flutter. It uses http to transfer files between devices.You can

Abhilash Hegde 161 Jan 1, 2023
Flutter Installer is an installer for Flutter built with Flutter 💙😎✌

Flutter Installer Flutter Installer is an installer for Flutter built with Flutter ?? ?? ✌ Flutter and the related logo are trademarks of Google LLC.

Yazeed AlKhalaf 406 Dec 27, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app window.

bitsdojo_window A Flutter package that makes it easy to customize and work with your Flutter desktop app window on Windows, macOS and Linux. Watch the

Bits Dojo 607 Jan 4, 2023
Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size.

desktop_window Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size. Usage import 'package:desktop_window/desktop_window.dart

ChunKoo Park 72 Dec 2, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

AnTler 140 Dec 30, 2022
Fluttern is a web app made with Flutter to list Flutter internships/jobs for the community.

Fluttern Fluttern is a web app made with Flutter to list Flutter internships/jobs for the community. It uses Google Sheet as a backend, simplifying th

Aditya Thakur 3 Jan 5, 2022
Flutter on Windows, MacOS and Linux - based on Flutter Embedding, Go and GLFW.

go-flutter - A package that brings Flutter to the desktop Purpose Flutter allows you to build beautiful native apps on iOS and Android from a single c

null 5.5k Jan 6, 2023
A clean front-end plugin to Volumio, the Linux distribution for music playback. Volumio Touch Display Lite is written in Flutter and runs on flutter-pi.

EN | 中文 Touch Display Lite plugin for Volumio 3 Feng Zhou, 2021-12 Touch Display Lite is a clean and fast user interface for Volumio 3, the Linux dist

Feng Zhou 5 Jul 26, 2022
Ubuntu-flutter-plugins - A collection of Flutter plugins and packages for Ubuntu applications.

Flutter plugins for Ubuntu A collection of Flutter plugins and packages for Ubuntu applications. ubuntu_localizations - provides localizations for Flu

Canonical 25 Oct 12, 2022