{"id":13784046,"url":"https://github.com/jwinarske/meta-flutter","last_synced_at":"2025-05-11T19:32:04.828Z","repository":{"id":46955784,"uuid":"250917795","full_name":"jwinarske/meta-flutter","owner":"jwinarske","description":"Yocto meta layer for recipes related to using Google Flutter Engine","archived":true,"fork":false,"pushed_at":"2021-10-21T15:55:44.000Z","size":2982,"stargazers_count":44,"open_issues_count":0,"forks_count":22,"subscribers_count":7,"default_branch":"dunfell","last_synced_at":"2024-08-03T19:08:27.278Z","etag":null,"topics":["bitbake","flutter","flutter-engine","meta-flutter","pugixml","wayland","yocto","yocto-layer","yocto-meta-layer"],"latest_commit_sha":null,"homepage":"","language":"BitBake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwinarske.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-28T23:53:23.000Z","updated_at":"2024-04-20T14:27:07.000Z","dependencies_parsed_at":"2022-09-10T12:20:21.411Z","dependency_job_id":null,"html_url":"https://github.com/jwinarske/meta-flutter","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwinarske%2Fmeta-flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwinarske%2Fmeta-flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwinarske%2Fmeta-flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwinarske%2Fmeta-flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwinarske","download_url":"https://codeload.github.com/jwinarske/meta-flutter/tar.gz/refs/heads/dunfell","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225086553,"owners_count":17418746,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitbake","flutter","flutter-engine","meta-flutter","pugixml","wayland","yocto","yocto-layer","yocto-meta-layer"],"created_at":"2024-08-03T19:00:34.805Z","updated_at":"2024-11-17T20:31:21.881Z","avatar_url":"https://github.com/jwinarske.png","language":"BitBake","funding_links":[],"categories":["Projects"],"sub_categories":[],"readme":"# meta-flutter\n\n# _Notice: Layer has moved to https://github.com/meta-flutter/meta-flutter.  Redirection will be automatic in the next couple of weeks._\n\nYocto Layer for Flutter related artifacts.\n\nRecommended development flow starts with making an embedder run on desktop, then target.  This approach will save you a good deal of time and aggrevation.\n\nNote: 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.\n\nNote: 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`\n\n## Layers dependencies\n\n* meta-clang Toyota and Sony embedders\n\n## Overview\n\nTarget BSP is expected to have a GPU with OpenGLES v3.0+ support.\n\nThis layer includes recipes to build\n\n* flutter-engine (channel selection, default is beta)\n* flutter-sdk (channel selection, default is beta)\n* fltter-gallery Application (interpreted and AOT - requires master channel override)\n* flutter-pi (DRM w/VSync)\n* flutter-wayland (basic POC) / waylandpp/ipugxml (archived)\n* Toyota ivi-homescreen (Recommended)\n* Sony embedders\n\n## Notes\n\nTargets flutter-engine is known to work on\n\n* AGL QEMU images - x86_64\n* DragonBoard 410c - aarch64\n* Intel MinnowBoard Max (BayTrail) - intel-icore7-64\n* NVIDIA Nano Dev Kit - aarch64\n* NVIDIA Xavier NX Dev Kit - aarch64\n* Raspberry Pi 3 / Compute - aarch64 / armv7hf\n* Raspberry Pi 4 / Compute - aarch64\n* Renesas R-Car m3ulcb - aarch64\n* STM32MP157x - cortexa7t2hf\n* etc, etc\n\nBuilding for ARM (32-bit) has an outstanding P4 bug on this:  https://github.com/flutter/flutter/issues/83765\n\n\n### NVIDIA Xavier/Nano\n\nlocal.conf changes\n\n    TARGET_GCC_VERSION = \"8.3.0\"\n    FLUTTER_CHANNEL = \"master\"\n    IMAGE_INSTALL_append = \" flutter-drm-eglstream-backend\"\n    IMAGE_INSTALL_append = \" flutter-gallery\"\n\nOR\n\n    TARGET_GCC_VERSION = \"8.3.0\"\n    FLUTTER_CHANNEL = \"master\"\n    CORE_IMAGE_EXTRA_INSTALL += \"\\\n        flutter-drm-eglstream-backend \\\n        flutter-gallery \\\n    \"\n\nBuild EGL image\n\n    bitbake demo-image-egl\n\nRun Flutter application on target (defaults to AOT)\n\n    FLUTTER_DRM_DEVICE=/dev/dri/card0 flutter-drm-eglstream-backend -b /usr/share/flutter-gallery/sony\n\n### NXP i.MX 8QuadXPlus MEK\n\n```\nrepo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-gatesgarth -m imx-5.10.9-1.0.0.xml\nrepo sync -j20\nDISTRO=fslc-wayland MACHINE=imx8qxpmek source setup-environment build\npushd ../sources\ngit clone -b dunfell https://github.com/jwinarske/meta-flutter.git\npopd\nbitbake-layers add-layer ../sources/meta-clang ../sources/meta-flutter\necho -e 'TARGET_GCC_VERSION = \"10.2.0\"' \u003e\u003e conf/local.conf\necho -e 'FLUTTER_CHANNEL = \"dev\"' \u003e\u003e conf/local.conf\necho -e 'IMAGE_INSTALL_append = \" flutter-wayland\"' \u003e\u003e conf/local.conf\necho -e 'IMAGE_INSTALL_append = \" flutter-gallery\"' \u003e\u003e conf/local.conf\nbitbake fsl-image-multimedia\n...\nBuild Configuration:\nBB_VERSION           = \"1.48.0\"\nBUILD_SYS            = \"x86_64-linux\"\nNATIVELSBSTRING      = \"universal\"\nTARGET_SYS           = \"aarch64-fslc-linux\"\nMACHINE              = \"imx8qxpmek\"\nDISTRO               = \"fslc-wayland\"\nDISTRO_VERSION       = \"3.2-snapshot-20210616\"\nTUNE_FEATURES        = \"aarch64 armv8a crc cortexa35 crypto\"\nTARGET_FPU           = \"\"\n```\n\n### Raspberry PI 3/4 (aarch64)\n\n```\nexport MACHINE=raspberrypi4-64\n```\nor\n```\nexport MACHINE=raspberrypi3-64\n```\n\n```\nmkdir rpi_yocto \u0026\u0026 cd rpi_yocto\nrepo init -u https://github.com/jwinarske/manifests.git -m rpi64.xml -b dunfell\nrepo sync -j20\nsource ./setup-environment $MACHINE\nbitbake-layers add-layer ../sources/meta-clang ../sources/meta-flutter\necho -e 'FLUTTER_CHANNEL = \"dev\"' \u003e\u003e conf/local.conf\necho -e 'IMAGE_INSTALL_append = \" flutter-pi\"' \u003e\u003e conf/local.conf\necho -e 'IMAGE_INSTALL_append = \" flutter-gallery\"' \u003e\u003e conf/local.conf\nbitbake core-image-minimal\n```\nNote: you may want/need to increase the `GPU_MEM` value.  It's defaulting to 64.\n\n### STM32MP157x Discovery Board (doesn't include build hack)\n\nSetup Ubuntu 16.04 for building Yocto images.  envsetup.sh will complain if you're missing a package.  \n\n\n```\nmkdir openstlinux-5.10-dunfell-mp1-21-03-31 \u0026\u0026 cd openstlinux-5.10-dunfell-mp1-21-03-31\nrepo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.10-dunfell-mp1-21-03-31\nrepo sync -j20\nDISTRO=openstlinux-eglfs MACHINE=stm32mp1-disco source layers/meta-st/scripts/envsetup.sh\npushd ../layers\ngit clone -b dunfell https://github.com/jwinarske/meta-flutter.git\ngit clone -b dunfell https://github.com/kraj/meta-clang.git\npopd\nbitbake-layers add-layer ../layers/meta-flutter ../layers/meta-clang\necho -e 'MACHINE_FEATURES_remove = \"fip\"\\n' \u003e\u003e conf/local.conf\necho -e 'DISTRO_FEATURES_remove = \"wayland\"\\n' \u003e\u003e conf/local.conf\necho -e 'DISTRO_FEATURES_remove = \"x11\"\\n' \u003e\u003e conf/local.conf\necho -e 'FLUTTER_CHANNEL = \"master\"\\n' \u003e\u003e conf/local.conf\necho -e 'CORE_IMAGE_EXTRA_INSTALL += \" \\' \u003e\u003e conf/local.conf\necho -e '  flutter-pi \\' \u003e\u003e conf/local.conf\necho -e '  flutter-drm-gbm-backend \\' \u003e\u003e conf/local.conf\necho -e '  flutter-gallery \\' \u003e\u003e conf/local.conf\necho -e '\"' \u003e\u003e conf/local.conf\ncat conf/local.conf\nbitbake st-image-core\n...\nTARGET_SYS      = \"arm-ostl-linux-gnueabi\"\nMACHINE         = \"stm32mp1-disco\"\nDISTRO          = \"openstlinux-eglfs\"\nDISTRO_VERSION  = \"3.1-snapshot-20210602\"\nTUNE_FEATURES   = \"arm vfp cortexa7 neon vfpv4 thumb callconvention-hard\"\nTARGET_FPU      = \"hard\"\n```\n\nSee release notes regarding \"fip\": https://wiki.st.com/stm32mpu/wiki/STM32MP15_OpenSTLinux_release_note\n\nBuild EGL image\n\n    bitbake demo-image-egl\n\nRun Flutter application on target (defaults to AOT)\n\n    FLUTTER_DRM_DEVICE=/dev/dri/card0 flutter-drm-eglstream-backend -b /usr/share/flutter-gallery/sony\n\n### General Yocto Notes\n\nWhen building on systems with GCC version \u003e than uninative in Yocto distro add the following to conf/local.conf\n\n    INHERIT_remove = \"uninative\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwinarske%2Fmeta-flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwinarske%2Fmeta-flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwinarske%2Fmeta-flutter/lists"}