Embedded Flutter

Overview

flutter_embedded

This repo is used for CI automation to build flutter-engine embedder for Linux.

Project Status

x86_86 and aarch64 functional

No external toolchain is required, it uses toolchain pulled as part of engine build - Clang Toolchain.

If your are using a sysroot different than that included as default, you will need to override a few variables. See examples below.

The original Yocto Layer to build Engine with variety of Flutter embedders: meta-flutter

Build Example

See CI build jobs here: https://github.com/jwinarske/flutter_embedded/blob/ci/.github/workflows/blank.yml

Switching channels

To switch channels add variable CHANNEL to cmake invocation. Like this

cmake .. -DCHANNEL=beta
make package -j8

To build all channels of Engine/GLFW shell for Raspberry Pi armv7 in your nightly CI build job, you could do this

git clone https://github.com/jwinarske/flutter_embedded
cd flutter_embedded
mkdir build && cd build
cmake ..
make package -j8
cmake .. -DCHANNEL=beta
make package -j8
cmake .. -DCHANNEL=dev
make package -j8
cmake .. -DCHANNEL=master
make package -j8
cmake .. -DCHANNEL=stable -DENGINE_RUNTIME_MODE=release
make package -j8
cmake .. -DCHANNEL=beta
make package -j8
cmake .. -DCHANNEL=dev
make package -j8
cmake .. -DCHANNEL=master
make package -j8

Override Variables

To use the override variables, pass them in with the cmake command. One example

cmake -DTOOLCHAIN_DIR=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64 -DTARGET_SYSROOT=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot  -DENGINE_REPO=https://github.com/jwinarske/engine -DCMAKE_BUILD_TYPE=Release

TARGET_SYSROOT

This is the location of the target sysroot. The default value is "${CMAKE_SOURCE_DIR}/sdk/sysroot". One approach would be to download target image such as a Raspberry Pi image, and mount it. Setting TARGET_SYSROOT to the rootfs directory.

TARGET_ARCH

This is the target architecture of your build. It must match your toolchain, and that which the flutter engine build supports.

ENGINE_REPO

This is the repo of the flutter engine. The default value is https://github.com/flutter/engine.git. If you want to use your own fork, set this variable to point to your fork's url.

ENGINE_UNOPTIMIZED

Unoptimized flag, defaults to OFF

ENGINE_RUNTIME_MODE

If ENGINE_RUNTIME_MODE is not set to debug, profile, or release, it defaults to debug.

ENGINE_SIMULATOR

Enable simulator, defaults to OFF

ENGINE_INTERPRETER

Enable interpreter, defaults to OFF

ENGINE_DART_DEBUG

Enable dart-debug, defaults to OFF

ENGINE_CLANG

Enable clang, defaults to ON

ENGINE_GOMA

Enable goma, defaults to OFF

ENGINE_LTO

Enable link-time optimization, defaults to ON

ENGINE_EMBEDDER_FOR_TARGET

Embedder for Target, defaults to ON

ENGINE_ENABLE_VULKAN

Enable Vulkan, defaults to OFF

Native Flutter Target Debug

I am successfully able to single step the Flutter Embedder using Host Side gdb-multiarch, and latest Eclipse release. Target side requires gdbserver installed. LLDB will be at a later date.

sudo apt-get install gdbserver

Change build flags in this file

{build folder}/engine-prefix/src/engine/src/build/config/compiler/BUILD.gn

To include

if (is_linux) {
    if (current_cpu != "x86") {
        cflags_cc += [ 
        "-ggdb",
        "-ggdb3",

Rebuild Engine

Copy Artifact

scp {absolute build folder}/engine-prefix/src/engine/src/out/linux_debug_arm/so.unstripped/libflutter_engine.so [email protected]:/home/pi/lib

Inside Eclipse - Import C/C++ Executable, and select the Flutter binary.

Configuration - via Debugger Dialog

Main / C/C++ Application: flutter

Main / Connection: Remote Host

Main / Remote Absolute File Path for C/C++ Application: /home/pi/bin/flutter

Main / Commands to execute before application

    export LD_LIBRARY_PATH=/home/pi/lib

Main / Skip download to target path [TRUE]

Arguments: /home/pi/build/flutter_assets/

Debugger / Main / GDB Debugger

    gdb-multiarch

Debugger / Shared Libraries

    {absolute build folder}/engine-prefix/src/engine/src/out/linux_debug_arm/so.unstripped
    {absolute sdk folder}/sysroot/lib
    {absolute sdk folder}/toolchain/lib

Debugger / Shared Libraries / Load shared library symbols automatically [TRUE]  

Set breakpoint at FlutterEngineRun().

Run the debugger, once breakpoint hits, change to the Debugger Console window, and issue

set step-mode on

Step into FlutterEngineRun()

Comments
  • Unable to build in Ubuntu 18.04

    Unable to build in Ubuntu 18.04

    Appears my version of arm-linux-gnueabihf-ld doesn't support --color-diagnostics

    [1/11] Building C object src/CMakeFiles/unwind_objects.dir/UnwindRegistersSave.S.o
    [2/11] Building C object src/CMakeFiles/unwind_objects.dir/UnwindRegistersRestore.S.o
    [3/11] Building C object src/CMakeFiles/unwind_objects.dir/Unwind-sjlj.c.o
    [4/11] Building C object src/CMakeFiles/unwind_objects.dir/UnwindLevel1.c.o
    [5/11] Building CXX object src/CMakeFiles/unwind_objects.dir/Unwind-seh.cpp.o
    [6/11] Building C object src/CMakeFiles/unwind_objects.dir/UnwindLevel1-gcc-ext.c.o
    [7/11] Building CXX object src/CMakeFiles/unwind_objects.dir/Unwind-EHABI.cpp.o
    [8/11] Building CXX object src/CMakeFiles/unwind_objects.dir/libunwind.cpp.o
    [9/11] Linking CXX static library lib/libunwind.a
    [10/11] Linking CXX shared library lib/libunwind.so.1.0
    FAILED: lib/libunwind.so.1.0
    : && /home/drew/Development/flutter_embedded/sdk/toolchain/bin/clang++ --target=arm-linux-gnueabihf --sysroot=/home/drew/Development/flutter_embedded/sdk/sysroot -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -std=c++11 -w -fdiagnostics-color -ffunction-sections -fdata-sections --target=arm-linux-gnueabihf --sysroot=/home/drew/Development/flutter_embedded/sdk/sysroot -std=c++11 -Os -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete -Wl,--color-diagnostics  --target=arm-linux-gnueabihf --sysroot=/home/drew/Development/flutter_embedded/sdk/sysroot -nodefaultlibs -shared -Wl,-soname,libunwind.so.1 -o lib/libunwind.so.1.0 src/CMakeFiles/unwind_objects.dir/libunwind.cpp.o src/CMakeFiles/unwind_objects.dir/Unwind-EHABI.cpp.o src/CMakeFiles/unwind_objects.dir/Unwind-seh.cpp.o src/CMakeFiles/unwind_objects.dir/UnwindLevel1.c.o src/CMakeFiles/unwind_objects.dir/UnwindLevel1-gcc-ext.c.o src/CMakeFiles/unwind_objects.dir/Unwind-sjlj.c.o src/CMakeFiles/unwind_objects.dir/UnwindRegistersRestore.S.o src/CMakeFiles/unwind_objects.dir/UnwindRegistersSave.S.o  -Wl,-rpath,"\$ORIGIN/../lib" -lc -lgcc_s -lgcc -ldl -lpthread && :
    /home/drew/Development/flutter_embedded/sdk/toolchain/bin/arm-linux-gnueabihf-ld: unrecognized option '--color-diagnostics'
    
    opened by drewcovi 38
  • Missing flutter_linux library

    Missing flutter_linux library

    I've compiled it via the cmake .. -DBUILD_FLUTTER_RPI=On then I've got the following error: ranciere@ranciere:~/work/flutter_embedded/build$ make [ 16%] Built target engine [ 18%] Performing build step for 'rpi_flutter' [ 12%] Linking CXX executable flutter /usr/lib/gcc-cross/arm-linux-gnueabihf/9/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lflutter_linux collect2: error: ld returned 1 exit status make[5]: *** [CMakeFiles/flutter.dir/build.make:174: flutter] Error 1 make[4]: *** [CMakeFiles/Makefile2:76: CMakeFiles/flutter.dir/all] Error 2 make[3]: *** [Makefile:130: all] Error 2 make[2]: *** [CMakeFiles/rpi_flutter.dir/build.make:113: rpi_flutter-prefix/src/rpi_flutter-stamp/rpi_flutter-build] Error 2 make[1]: *** [CMakeFiles/Makefile2:86: CMakeFiles/rpi_flutter.dir/all] Error 2 make: *** [Makefile:84: all] Error 2 How can I build this lib?

    opened by ranciere 28
  • libflutter so cannot be loaded

    libflutter so cannot be loaded

    The library loading problem is still an issue. Output of running flutter_glfw: /flutter_glfw: error while loading shared libraries: libflutter_engine.so: cannot open shared object file: No such file or directory The libflutter_engine.so is in usr/lib/arm-linux-gnueabihf/libflutter_engine.so. The executable tries to load it, but it is unsuccessful.

    bug clang-8.0.0 
    opened by ranciere 26
  • Build failed due to missing header

    Build failed due to missing header

    The compiler-rt build step failed because it couldn't find <cstdint>. Below is the build output.

    /home/jake/pax/depot_tools/ninja [0/1] Re-running CMake... -- Generator .............. Ninja -- Build Type ............. Release -- llvm-config ............ /home/jake/pax/flutter_embedded/sdk/toolchain/bin/llvm-config -- Flutter ................ -- Configuring done -- Generating done -- Build files have been written to: /home/jake/pax/flutter_embedded/out [1/36] Performing configure step for 'compiler-rt' -- The C compiler identification is Clang 8.0.0 -- The CXX compiler identification is Clang 8.0.0 -- The ASM compiler identification is Clang -- Found assembler: /home/jake/pax/flutter_embedded/sdk/toolchain/bin/clang -- Check for working C compiler: /home/jake/pax/flutter_embedded/sdk/toolchain/bin/clang -- Check for working C compiler: /home/jake/pax/flutter_embedded/sdk/toolchain/bin/clang -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /home/jake/pax/flutter_embedded/sdk/toolchain/bin/clang++ -- Check for working CXX compiler: /home/jake/pax/flutter_embedded/sdk/toolchain/bin/clang++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for unwind.h -- Looking for unwind.h - found -- Looking for rpc/xdr.h -- Looking for rpc/xdr.h - found CMake Warning at cmake/Modules/CompilerRTUtils.cmake:261 (message): testingsupport library not installed, some tests will be skipped Call Stack (most recent call first): CMakeLists.txt:69 (load_llvm_config)

    -- Found PythonInterp: /usr/bin/python2.7 (found version "2.7.15") -- Looking for fopen in c -- Looking for fopen in c - found -- Looking for __gcc_personality_v0 in gcc_s -- Looking for __gcc_personality_v0 in gcc_s - found -- Performing Test COMPILER_RT_HAS_NODEFAULTLIBS_FLAG -- Performing Test COMPILER_RT_HAS_NODEFAULTLIBS_FLAG - Success -- Performing Test COMPILER_RT_HAS_FFREESTANDING_FLAG -- Performing Test COMPILER_RT_HAS_FFREESTANDING_FLAG - Success -- Performing Test COMPILER_RT_HAS_FPIE_FLAG -- Performing Test COMPILER_RT_HAS_FPIE_FLAG - Success -- Performing Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG -- Performing Test COMPILER_RT_HAS_FNO_BUILTIN_FLAG - Success -- Performing Test COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG -- Performing Test COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG - Success -- Performing Test COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG -- Performing Test COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG - Success -- Performing Test COMPILER_RT_HAS_FUNWIND_TABLES_FLAG -- Performing Test COMPILER_RT_HAS_FUNWIND_TABLES_FLAG - Success -- Performing Test COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG -- Performing Test COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG - Success -- Performing Test COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG -- Performing Test COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG - Success -- Performing Test COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG -- Performing Test COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG - Success -- Performing Test COMPILER_RT_HAS_FRTTI_FLAG -- Performing Test COMPILER_RT_HAS_FRTTI_FLAG - Success -- Performing Test COMPILER_RT_HAS_FNO_RTTI_FLAG -- Performing Test COMPILER_RT_HAS_FNO_RTTI_FLAG - Success -- Performing Test COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG -- Performing Test COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG - Success -- Performing Test COMPILER_RT_HAS_STD_CXX11_FLAG -- Performing Test COMPILER_RT_HAS_STD_CXX11_FLAG - Success -- Performing Test COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC -- Performing Test COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC - Success -- Performing Test COMPILER_RT_HAS_FNO_LTO_FLAG -- Performing Test COMPILER_RT_HAS_FNO_LTO_FLAG - Success -- Performing Test COMPILER_RT_HAS_MSSE3_FLAG -- Performing Test COMPILER_RT_HAS_MSSE3_FLAG - Failed -- Performing Test COMPILER_RT_HAS_MSSE4_2_FLAG -- Performing Test COMPILER_RT_HAS_MSSE4_2_FLAG - Failed -- Performing Test COMPILER_RT_HAS_SYSROOT_FLAG -- Performing Test COMPILER_RT_HAS_SYSROOT_FLAG - Success -- Performing Test COMPILER_RT_HAS_MCRC_FLAG -- Performing Test COMPILER_RT_HAS_MCRC_FLAG - Success -- Performing Test COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG -- Performing Test COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success -- Performing Test COMPILER_RT_HAS_GR_FLAG -- Performing Test COMPILER_RT_HAS_GR_FLAG - Failed -- Performing Test COMPILER_RT_HAS_GS_FLAG -- Performing Test COMPILER_RT_HAS_GS_FLAG - Failed -- Performing Test COMPILER_RT_HAS_MT_FLAG -- Performing Test COMPILER_RT_HAS_MT_FLAG - Failed -- Performing Test COMPILER_RT_HAS_Oy_FLAG -- Performing Test COMPILER_RT_HAS_Oy_FLAG - Failed -- Performing Test COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG -- Performing Test COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG - Success -- Performing Test COMPILER_RT_HAS_G_FLAG -- Performing Test COMPILER_RT_HAS_G_FLAG - Success -- Performing Test COMPILER_RT_HAS_Zi_FLAG -- Performing Test COMPILER_RT_HAS_Zi_FLAG - Failed -- Performing Test COMPILER_RT_HAS_WALL_FLAG -- Performing Test COMPILER_RT_HAS_WALL_FLAG - Success -- Performing Test COMPILER_RT_HAS_WERROR_FLAG -- Performing Test COMPILER_RT_HAS_WERROR_FLAG - Success -- Performing Test COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG -- Performing Test COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG - Success -- Performing Test COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG -- Performing Test COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG - Success -- Performing Test COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG -- Performing Test COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG - Success -- Performing Test COMPILER_RT_HAS_WGNU_FLAG -- Performing Test COMPILER_RT_HAS_WGNU_FLAG - Success -- Performing Test COMPILER_RT_HAS_WNON_VIRTUAL_DTOR_FLAG -- Performing Test COMPILER_RT_HAS_WNON_VIRTUAL_DTOR_FLAG - Success -- Performing Test COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG -- Performing Test COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG - Success -- Performing Test COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG -- Performing Test COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG - Success -- Performing Test COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG -- Performing Test COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG - Success -- Performing Test COMPILER_RT_HAS_W4_FLAG -- Performing Test COMPILER_RT_HAS_W4_FLAG - Failed -- Performing Test COMPILER_RT_HAS_WX_FLAG -- Performing Test COMPILER_RT_HAS_WX_FLAG - Failed -- Performing Test COMPILER_RT_HAS_WD4146_FLAG -- Performing Test COMPILER_RT_HAS_WD4146_FLAG - Failed -- Performing Test COMPILER_RT_HAS_WD4291_FLAG -- Performing Test COMPILER_RT_HAS_WD4291_FLAG - Failed -- Performing Test COMPILER_RT_HAS_WD4221_FLAG -- Performing Test COMPILER_RT_HAS_WD4221_FLAG - Failed -- Performing Test COMPILER_RT_HAS_WD4391_FLAG -- Performing Test COMPILER_RT_HAS_WD4391_FLAG - Failed -- Performing Test COMPILER_RT_HAS_WD4722_FLAG -- Performing Test COMPILER_RT_HAS_WD4722_FLAG - Failed -- Performing Test COMPILER_RT_HAS_WD4800_FLAG -- Performing Test COMPILER_RT_HAS_WD4800_FLAG - Failed -- Looking for func -- Looking for func - found -- Looking for dlopen in dl -- Looking for dlopen in dl - found -- Looking for shm_open in rt -- Looking for shm_open in rt - found -- Looking for pow in m -- Looking for pow in m - found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Looking for setupterm in terminfo -- Looking for setupterm in terminfo - not found -- Looking for setupterm in tinfo -- Looking for setupterm in tinfo - not found -- Looking for setupterm in curses -- Looking for setupterm in curses - found -- Looking for __cxa_throw in c++ -- Looking for __cxa_throw in c++ - not found -- Looking for __cxa_throw in stdc++ -- Looking for __cxa_throw in stdc++ - found -- Compiler-RT supported architectures: arm;armv6m -- Performing Test COMPILER_RT_HAS_STD_C11_FLAG -- Performing Test COMPILER_RT_HAS_STD_C11_FLAG - Success -- Performing Test COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG -- Performing Test COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG - Success -- Performing Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG -- Performing Test COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG - Success -- Performing Test COMPILER_RT_HAS_FREESTANDING_FLAG -- Performing Test COMPILER_RT_HAS_FREESTANDING_FLAG - Success -- Performing Test COMPILER_RT_HAS_XRAY_COMPILER_FLAG -- Performing Test COMPILER_RT_HAS_XRAY_COMPILER_FLAG - Success -- Performing Test COMPILER_RT_HAS_ATOMIC_KEYWORD -- Performing Test COMPILER_RT_HAS_ATOMIC_KEYWORD - Success -- Builtin supported architectures: arm;armv6m -- Looking for VFP_FP -- Looking for VFP_FP - not found -- Performing Test COMPILER_RT_TARGET_HAS_ATOMICS -- Performing Test COMPILER_RT_TARGET_HAS_ATOMICS - Success -- Performing Test COMPILER_RT_TARGET_HAS_FCNTL_LCK -- Performing Test COMPILER_RT_TARGET_HAS_FCNTL_LCK - Success -- Performing Test COMPILER_RT_TARGET_HAS_UNAME -- Performing Test COMPILER_RT_TARGET_HAS_UNAME - Success -- Configuring done -- Generating done -- Build files have been written to: /home/jake/pax/flutter_embedded/out/compiler-rt-prefix/src/compiler-rt-build [2/36] Performing build step for 'compiler-rt' FAILED: compiler-rt-prefix/src/compiler-rt-stamp/compiler-rt-build cd /home/jake/pax/flutter_embedded/out/compiler-rt-prefix/src/compiler-rt-build && /opt/cmake/bin/cmake --build . && /opt/cmake/bin/cmake -E touch /home/jake/pax/flutter_embedded/out/compiler-rt-prefix/src/compiler-rt-stamp/compiler-rt-build Scanning dependencies of target RTXrayBASIC.arm [ 0%] Building CXX object lib/xray/CMakeFiles/RTXrayBASIC.arm.dir/xray_basic_flags.cc.o [ 0%] Building CXX object lib/xray/CMakeFiles/RTXrayBASIC.arm.dir/xray_basic_logging.cc.o In file included from /home/jake/pax/flutter_embedded/out/llvm/projects/compiler-rt/lib/xray/xray_basic_logging.cc:31: /home/jake/pax/flutter_embedded/out/llvm/projects/compiler-rt/lib/xray/../../include/xray/xray_records.h:20:10: fatal error: 'cstdint' file not found #include ^~~~~~~~~ 1 error generated. make[2]: *** [lib/xray/CMakeFiles/RTXrayBASIC.arm.dir/build.make:76: lib/xray/CMakeFiles/RTXrayBASIC.arm.dir/xray_basic_logging.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:5365: lib/xray/CMakeFiles/RTXrayBASIC.arm.dir/all] Error 2 make: *** [Makefile:130: all] Error 2 ninja: build stopped: subcommand failed.

    opened by jakesays-old 15
  • Ubuntu 20.04:

    Ubuntu 20.04: "Performing download step for 'engine'" - error

    Because engine.cmake contains

    ExternalProject_Add(engine
        DOWNLOAD_COMMAND
            ${CMAKE_COMMAND} -E make_directory ${ENGINE_SRC_PATH} && cd ${ENGINE_SRC_PATH} &&
    	PATH=${THIRD_PARTY_DIR}/depot_tools:$ENV{PATH} gclient config --spec ${GCLIENT_CONFIG} 
    

    PATH is converted to '"PATH' And we receive incorrect result:

    cd /home/dis/workspace/flutter/flutter_embedded/build/engine-prefix/src && /usr/bin/cmake -E make_directory /home/dis/workspace/flutter/flutter_embedded/third_party/engine && cd /home/dis/workspace/flutter/flutter_embedded/third_party/engine && "PATH=/home/dis/workspace/flutter/flutter_embedded/third_party/depot_tools:/home/dis/.local/bin:/home/dis/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/dis/bin/flutter/bin:/home/dis/Android/Sdk/platform-tools:~/.pub-cache/bin:/usr/lib/dart/bin:/home/dis/workspace/dart/sdk/depot_tools:/home/dis/workspace/dart/sdk/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:/home/dis/.local/bin:/home/dis/bin/flutter/bin:/home/dis/Android/Sdk/platform-tools:~/.pub-cache/bin:/usr/lib/dart/bin:/home/dis/workspace/dart/sdk/depot_tools:/home/dis/workspace/dart/sdk/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:/home/dis/.local/bin" gclient config --spec solutions=[{"managed":False,"name":"src/flutter","url":"[email protected]:flutter/engine.git","custom_vars":{"download_android_deps":False,"download_windows_deps":False,}}]

    It work when i change engine.cmake:

    ExternalProject_Add(engine
        DOWNLOAD_COMMAND
            ${CMAKE_COMMAND} -E make_directory ${ENGINE_SRC_PATH} && cd ${ENGINE_SRC_PATH} &&
    	export PATH=${THIRD_PARTY_DIR}/depot_tools:$ENV{PATH} && gclient config --spec ${GCLIENT_CONFIG} &&
    	export PATH=${THIRD_PARTY_DIR}/depot_tools:$ENV{PATH} && gclient sync --no-history --revision ${FLUTTER_ENGINE_SHA} -R -D -j ${NUM_PROC} -v
    
    opened by DisDis 10
  • subprocess.CalledProcessError: Command '['pkg-config', '--variable=prefix', 'freetype2']' returned non-zero exit status 1

    subprocess.CalledProcessError: Command '['pkg-config', '--variable=prefix', 'freetype2']' returned non-zero exit status 1

    python /mnt/storage/home/skinkie/Sources/flutter_embedded/third_party/engine/src/build/config/linux/pkg-config.py -s /home/skinkie/Sources/flutter_embedded/sysroot -a arm --system_libdir lib freetype2
    Traceback (most recent call last):
      File "/mnt/storage/home/skinkie/Sources/flutter_embedded/third_party/engine/src/build/config/linux/pkg-config.py", line 249, in <module>
        sys.exit(main())
      File "/mnt/storage/home/skinkie/Sources/flutter_embedded/third_party/engine/src/build/config/linux/pkg-config.py", line 144, in main
        prefix = GetPkgConfigPrefixToStrip(options, args)
      File "/mnt/storage/home/skinkie/Sources/flutter_embedded/third_party/engine/src/build/config/linux/pkg-config.py", line 82, in GetPkgConfigPrefixToStrip
        "--variable=prefix"] + args, env=os.environ).decode('utf-8')
      File "/usr/lib64/python2.7/subprocess.py", line 223, in check_output
        raise CalledProcessError(retcode, cmd, output=output)
    subprocess.CalledProcessError: Command '['pkg-config', '--variable=prefix', 'freetype2']' returned non-zero exit status 1
    
    opened by skinkie 10
  • Error building due to --color-diagnostics

    Error building due to --color-diagnostics

    /home/paul/flutter_embedded/sdk/toolchain/bin/arm-linux-gnueabihf-ld: unrecognized option '--color-diagnostics' /home/paul/flutter_embedded/sdk/toolchain/bin/arm-linux-gnueabihf-ld: use the --help option for usage information clang-8: error: linker command failed with exit code 1 (use -v to see invocation)

    Possibly related to #13

    opened by pauldemarco 8
  • Build failed in rpi_flutter step

    Build failed in rpi_flutter step

    Hi, I'm using the latest Raspbian Buster Lite (2019-06-20) for the build, however it stopped with the following messages:

    [1/3] Performing build step for 'rpi_flutter'
    FAILED: rpi_flutter-prefix/src/rpi_flutter-stamp/rpi_flutter-build 
    cd /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter-build && /usr/bin/cmake --build . && /usr/bin/cmake -E touch /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter-stamp/rpi_flutter-build
    [1/1] Linking CXX executable flutter
    FAILED: flutter 
    : && /home/lee/flutter_embedded/sdk/toolchain/bin/clang++ --target=arm-linux-gnueabihf --sysroot=/home/lee/flutter_embedded/sdk/sysroot  -stdlib=libc++ -I/home/lee/flutter_embedded/third_party/libcxx/include -U_FORTIFY_SOURCE -Wall -g -ftree-vectorize -pipe -O3 -DNDEBUG --rtlib=compiler-rt -fuse-ld=gold -lc++abi -lunwind  CMakeFiles/flutter.dir/flutter/main.cc.o CMakeFiles/flutter.dir/flutter/utils.cc.o CMakeFiles/flutter.dir/flutter/cpp_client_wrapper/engine_method_result.cc.o CMakeFiles/flutter.dir/flutter/cpp_client_wrapper/flutter_window_controller.cc.o CMakeFiles/flutter.dir/flutter/cpp_client_wrapper/json_message_codec.cc.o CMakeFiles/flutter.dir/flutter/cpp_client_wrapper/plugin_registrar.cc.o CMakeFiles/flutter.dir/flutter/cpp_client_wrapper/standard_codec.cc.o  -o flutter -L/home/lee/flutter_embedded/sdk/sysroot/opt/vc/lib  -L/home/lee/flutter_embedded/build/engine-prefix/src/engine/src/out/linux_dynamic_release_arm -Wl,-rpath,/opt/vc/lib:/home/lee/flutter_embedded/build/engine-prefix/src/engine/src/out/linux_dynamic_release_arm: -lts -lbrcmGLESv2 -lbrcmEGL -lbcm_host -lflutter_engine -lpthread -ldl -lflutter_linux && :
    /home/lee/flutter_embedded/sdk/toolchain/bin/arm-linux-gnueabihf-ld.gold: error: cannot find -lflutter_linux
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/flutter_window_controller.cc:15: error: undefined reference to 'FlutterDesktopInit'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/flutter_window_controller.cc:20: error: undefined reference to 'FlutterDesktopDestroyWindow'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/flutter_window_controller.cc:23: error: undefined reference to 'FlutterDesktopTerminate'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/flutter_window_controller.cc:50: error: undefined reference to 'FlutterDesktopCreateWindow'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/flutter_window_controller.cc:58: error: undefined reference to 'FlutterDesktopGetWindow'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/flutter_window_controller.cc:70: error: undefined reference to 'FlutterDesktopGetPluginRegistrar'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/flutter_window_controller.cc:75: error: undefined reference to 'FlutterDesktopRunWindowLoop'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/plugin_registrar.cc:86: error: undefined reference to 'FlutterDesktopMessengerSend'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/plugin_registrar.cc:94: error: undefined reference to 'FlutterDesktopMessengerSetCallback'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/plugin_registrar.cc:102: error: undefined reference to 'FlutterDesktopMessengerSetCallback'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/plugin_registrar.cc:110: error: undefined reference to 'FlutterDesktopRegistrarGetMessenger'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/plugin_registrar.cc:122: error: undefined reference to 'FlutterDesktopRegistrarEnableInputBlocking'
    /home/lee/flutter_embedded/build/rpi_flutter-prefix/src/rpi_flutter/flutter/cpp_client_wrapper/plugin_registrar.cc:36: error: undefined reference to 'FlutterDesktopMessengerSendResponse'
    clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
    ninja: build stopped: subcommand failed.
    ninja: build stopped: subcommand failed.
    
    
    opened by poky 7
  • Touchscreen not working

    Touchscreen not working

    Hi, I have made it to run in CLI mode with the following outputs: It's on Raspberry Pi 3B with Official 7" Touchscreen I can confirm that the touchscreen works under startx, and if I run flutter under startx, the touch can work, but not under pure CLI mode, can someone advise, thanks!

    [ERROR:flutter/shell/platform/embedder/embedder_surface_gl.cc(95)] Could not create a resource context for async texture uploads. Expect degraded performance. Set a valid make_resource_current callback on FlutterOpenGLRendererConfig.
    flutter: Observatory listening on http://127.0.0.1:41495/ugnN4EAk8o4=/
    [ERROR:flutter/shell/platform/embedder/embedder_surface_gl.cc(95)] Could not create a resource context for async texture uploads. Expect degraded performance. Set a valid make_resource_current callback on FlutterOpenGLRendererConfig.
    [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Exception: operation failed
    #0      ShaderWarmUp.execute (package:flutter/src/painting/shader_warm_up.dart:90:5)
    <asynchronous suspension>
    #1      _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding.initInstances (package:flutter/src/painting/binding.dart:25:20)
    #2      _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding.initInstances (package:flutter/src/semantics/binding.dart:22:11)
    #3      _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding.initInstances (package:flutter/src/rendering/binding.dart:29:11)
    #4      _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.initInstances (package:flutter/src/widgets/binding.dart:252:11)
    #5      new BindingBase (package:flutter/src/foundation/binding.dart:56:5)
    #6      new _WidgetsFlutterBinding&BindingBase&GestureBinding (package:flutter/src/widgets/binding.dart)
    #7      new _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding (package:flutter/src/widgets/binding.dart)
    #8      new _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding (package:flutter/src/widgets/binding.dart)
    #9      new _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding (package:flutter/src/widgets/binding.dart)
    #10     new _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding (package:flutter/src/widgets/binding.dart)
    #11     new _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding (package:flutter/src/widgets/binding.dart)
    #12     new _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding (package:flutter/src/widgets/binding.dart)
    #13     new WidgetsFlutterBinding (package:flutter/src/widgets/binding.dart)
    #14     WidgetsFlutterBinding.ensureInitialized (package:flutter/src/widgets/binding.dart:994:7)
    #15     runApp (package:flutter/src/widgets/binding.dart:785:25)
    #16     main (package:example_flutter/main.dart:23:3)
    #17     _runMainZoned.<anonymous closure>.<anonymous closure> (dart:ui/hooks.dart:216:25)
    #18     _rootRun (dart:async/zone.dart:1124:13)
    #19     _CustomZone.run (dart:async/zone.dart:1021:19)
    #20     _runZoned (dart:async/zone.dart:1516:10)
    #21     runZoned (dart:async/zone.dart:1500:12)
    #22     _runMainZoned.<anonymous closure> (dart:ui/hooks.dart:208:5)
    #23     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:19)
    #24     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
    
    opened by poky 7
  • lubflutter_linux.so not created

    lubflutter_linux.so not created

    Following the build process without mods (except for the --color-diagnostics flag removal).

    No issues besides those two hiccups. Any reason libflutter_linux.so wouldn't exist?

    Error copying file "/path/to/flutter_embedded/build/engine-prefix/src/engine/src/out/linux_dynamic_release_arm/libflutter_linux.so" to "/path/to/flutter_embedded/build/target/lib".
    
    -rw-rw-r-- 2 drew drew  36K Jun 25 12:54 flutter_embedder.h
    -rw-rw-r-- 3 drew drew 9.8M Jun 25 12:55 icudtl.dat
    -rw-rw-r-- 1 drew drew 1.1K Jun 25 12:59 args.gn
    -rw-rw-r-- 1 drew drew 208K Jun 25 12:59 toolchain.ninja
    -rw-rw-r-- 1 drew drew 8.2K Jun 25 12:59 build.ninja.d
    -rw-rw-r-- 1 drew drew  71K Jun 25 12:59 build.ninja
    drwxrwxr-x 3 drew drew 4.0K Jun 25 12:59 ..
    drwx------ 5 drew drew 4.0K Jun 25 12:59 gen
    -rw-rw-r-- 1 drew drew 795K Jun 25 13:00 vm_outline_strong.dill
    -rw-rw-r-- 1 drew drew 5.4M Jun 25 13:00 vm_platform_strong.dill
    -rw-rw-r-- 1 drew drew  68K Jun 25 13:00 vm_platform_strong.dill.d
    drwxrwxr-x 2 drew drew 4.0K Jun 25 13:03 flutter_patched_sdk
    drwx------ 5 drew drew 4.0K Jun 25 13:10 clang_x86
    -rw-rw-r-- 1 drew drew 1.6M Jun 25 13:11 .ninja_deps
    drwxrwxr-x 2 drew drew 4.0K Jun 25 13:11 so.unstripped
    -rw-rw-r-- 1 drew drew  30K Jun 25 13:11 libflutter_engine.so.TOC
    -rwxrwxr-x 1 drew drew  21M Jun 25 13:11 libflutter_engine.so
    drwx------ 7 drew drew 4.0K Jun 25 13:11 .
    drwx------ 5 drew drew 4.0K Jun 25 13:11 obj
    -rw-rw-r-- 1 drew drew 391K Jun 25 13:11 .ninja_log
    
    opened by drewcovi 7
  • gclient.py: error: Inconsistent arguments. Use either --spec or one or 2 args

    gclient.py: error: Inconsistent arguments. Use either --spec or one or 2 args

    I have checked out the latest depot_tools.

    export PATH=$PATH:/home/skinkie/Sources/depot_tools
    

    In order to prevent the Python3 warning:

    export GCLIENT_PY3=0
    
    ~/Sources/flutter_embedded/build $ make
    Scanning dependencies of target engine
    [  4%] Creating directories for 'engine'
    [  8%] Performing download step for 'engine'
    Usage: gclient.py config [options] [url]
    
    gclient.py: error: Inconsistent arguments. Use either --spec or one or 2 args
    make[2]: *** [CMakeFiles/engine.dir/build.make:110: engine-prefix/src/engine-stamp/engine-download] Error 2
    make[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/engine.dir/all] Error 2
    make: *** [Makefile:104: all] Error 2
    
    opened by skinkie 6
  • x86_64 3.x segfault

    x86_64 3.x segfault

    Segfault is happening in 3.x x86_64 builds on Ubuntu 20.04. aarch64 builds do not exhibit this problem. Ubuntu22 via WSL does not segfault.

    Build flags: --unoptimized --runtime-mode debug --no-goma --lto --clang --embedder-for-target --full-dart-sdk --target-os linux --linux-cpu x64 --target-triple x86_64-linux-gnu

    Repro happens with or without --unoptimized.

    Seg fault happens with: https://github.com/freetype/freetype/blob/3f83daeecb1a78d851b660eed025eeba362c0e4a/src/base/ftobjs.c#L5656

    The function that calls it has this note: https://github.com/freetype/freetype/blob/3f83daeecb1a78d851b660eed025eeba362c0e4a/include/freetype/ftcolor.h#L1620

    • @since: * 2.11 -- currently experimental only! There might be changes without retaining backward compatibility of both the API and ABI.

    It looks like it happens when it is trying to display the hello world text: "Futter Demo Home Page" https://github.com/google/skia/blob/main/modules/skparagraph/src/OneLineShaper.cpp#L705

    libfreetype.so.6![Unknown/Just-In-Time compiled code] (Unknown Source:0)
    libflutter_engine.so!FT_Get_Color_Glyph_Paint(FT_Face face, FT_UInt base_glyph, FT_Color_Root_Transform root_transform, FT_OpaquePaint * paint) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\freetype2\src\base\ftobjs.c:5737)
    libflutter_engine.so!SkScalerContext_FreeType::generateMetrics(SkScalerContext_FreeType * this, SkGlyph * glyph, SkArenaAlloc * alloc) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\ports\SkFontHost_FreeType.cpp:1174)
    libflutter_engine.so!SkScalerContext::internalMakeGlyph(SkScalerContext * this, SkPackedGlyphID packedID, SkMask::Format format, SkArenaAlloc * alloc) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerContext.cpp:190)
    libflutter_engine.so!SkScalerContext::makeGlyph(SkScalerContext * this, SkPackedGlyphID packedID, SkArenaAlloc * alloc) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerContext.cpp:183)
    libflutter_engine.so!SkScalerCache::digest(SkScalerCache * this, SkPackedGlyphID packedGlyphID) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerCache.cpp:50)
    libflutter_engine.so!SkScalerCache::glyph(SkScalerCache * this, SkPackedGlyphID packedGlyphID) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerCache.cpp:39)
    libflutter_engine.so!SkScalerCache::internalPrepare(SkScalerCache * this, SkSpan<unsigned short const> glyphIDs, SkScalerCache::PathDetail pathDetail, const SkGlyph ** results) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerCache.cpp:116)
    libflutter_engine.so!SkScalerCache::metrics(SkScalerCache * this, SkSpan<unsigned short const> glyphIDs, const SkGlyph ** results) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkScalerCache.cpp:164)
    libflutter_engine.so!SkStrike::metrics(SkStrike * this, SkSpan<unsigned short const> glyphIDs, const SkGlyph ** results) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkStrikeCache.h:87)
    libflutter_engine.so!SkBulkGlyphMetrics::glyphs(SkBulkGlyphMetrics * this, SkSpan<unsigned short const> glyphIDs) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkStrikeSpec.cpp:232)
    libflutter_engine.so!SkFont::getWidthsBounds(const SkFont * this, const SkGlyphID * glyphIDs, int count, SkScalar * widths, SkRect * bounds, const SkPaint * paint) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\src\core\SkFont.cpp:212)
    libflutter_engine.so!SkFont::getWidths(const SkFont * this, const SkGlyphID * glyphs, int count, SkScalar * widths) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\include\core\SkFont.h:385)
    libflutter_engine.so!(anonymous namespace)::skhb_glyph_h_advances(hb_font_t * hb_font, void * font_data, unsigned int count, const hb_codepoint_t * glyphs, unsigned int glyph_stride, hb_position_t * advances, unsigned int advance_stride, void * user_data) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skshaper\src\SkShaper_harfbuzz.cpp:156)
    libflutter_engine.so!hb_font_t::get_glyph_h_advances(hb_font_t * this, unsigned int count, const hb_codepoint_t * first_glyph, unsigned int glyph_stride, hb_position_t * first_advance, unsigned int advance_stride) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-font.hh:271)
    libflutter_engine.so!hb_ot_position_default(const hb_ot_shape_context_t * c) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-ot-shape.cc:1008)
    libflutter_engine.so!hb_ot_position(const hb_ot_shape_context_t * c) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-ot-shape.cc:1116)
    libflutter_engine.so!hb_ot_shape_internal(hb_ot_shape_context_t * c) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-ot-shape.cc:1191)
    libflutter_engine.so!_hb_ot_shape(hb_shape_plan_t * shape_plan, hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-ot-shape.cc:1214)
    libflutter_engine.so!_hb_shape_plan_execute_internal(hb_shape_plan_t * shape_plan, hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-shaper-list.hh:42)
    libflutter_engine.so!hb_shape_plan_execute(hb_shape_plan_t * shape_plan, hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-shape-plan.cc:453)
    libflutter_engine.so!hb_shape_full(hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features, const char * const * shaper_list) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-shape.cc:133)
    libflutter_engine.so!hb_shape(hb_font_t * font, hb_buffer_t * buffer, const hb_feature_t * features, unsigned int num_features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\harfbuzz\src\hb-shape.cc:161)
    libflutter_engine.so!(anonymous namespace)::ShaperHarfBuzz::shape(const (anonymous namespace)::ShaperHarfBuzz * this, const char * const utf8, const size_t utf8Bytes, const char * const utf8Start, const char * const utf8End, const SkShaper::BiDiRunIterator & bidi, const SkShaper::LanguageRunIterator & language, const SkShaper::ScriptRunIterator & script, const SkShaper::FontRunIterator & font, const SkShaper::Feature * const features, const size_t featuresSize) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skshaper\src\SkShaper_harfbuzz.cpp:1395)
    libflutter_engine.so!(anonymous namespace)::ShapeDontWrapOrReorder::wrap(const (anonymous namespace)::ShapeDontWrapOrReorder * this, const char * const utf8, size_t utf8Bytes, const SkShaper::BiDiRunIterator & bidi, const SkShaper::LanguageRunIterator & language, const SkShaper::ScriptRunIterator & script, const SkShaper::FontRunIterator & font, (anonymous namespace)::RunIteratorQueue & runSegmenter, const SkShaper::Feature * features, size_t featuresSize, SkScalar width, SkShaper::RunHandler * handler) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skshaper\src\SkShaper_harfbuzz.cpp:1241)
    libflutter_engine.so!(anonymous namespace)::ShaperHarfBuzz::shape(const (anonymous namespace)::ShaperHarfBuzz * this, const char * utf8, size_t utf8Bytes, SkShaper::FontRunIterator & font, SkShaper::BiDiRunIterator & bidi, SkShaper::ScriptRunIterator & script, SkShaper::LanguageRunIterator & language, const SkShaper::Feature * features, size_t featuresSize, SkScalar width, SkShaper::RunHandler * handler) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skshaper\src\SkShaper_harfbuzz.cpp:864)
    libflutter_engine.so!skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}::operator()(SkTypeface) const(const class {...} * this, sk_sp<SkTypeface> typeface) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:693)
    libflutter_engine.so!std::__1::__invoke<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}&, SkTypeface>(class {...} & __f, sk_sp<SkTypeface> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\type_traits:3530)
    libflutter_engine.so!std::__1::__invoke_void_return_wrapper<skia::textlayout::OneLineShaper::Resolved>::__call<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}&, SkTypeface>(skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}&, SkTypeface&&)(sk_sp<SkTypeface> && __args, sk_sp<SkTypeface> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\__functional_base:317)
    libflutter_engine.so!std::__1::__function::__alloc_func<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}, std::__1::allocator<sk_sp<SkTypeface> >, skia::textlayout::OneLineShaper::Resolved (SkTypeface)>::operator()(SkTypeface&&)(std::__1::__function::__alloc_func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:653:52), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:653:52)>, skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> * this, sk_sp<SkTypeface> && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1533)
    libflutter_engine.so!std::__1::__function::__func<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const::{lambda(sk_sp<SkTypeface>)#1}, std::__1::allocator<sk_sp<SkTypeface> >, skia::textlayout::OneLineShaper::Resolved (SkTypeface)>::operator()(SkTypeface&&)(std::__1::__function::__func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:653:52), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:653:52)>, skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> * this, sk_sp<SkTypeface> && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1707)
    libflutter_engine.so!std::__1::__function::__value_func<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)>::operator()(sk_sp<SkTypeface>&&) const(const std::__1::__function::__value_func<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> * this, sk_sp<SkTypeface> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1860)
    libflutter_engine.so!std::__1::function<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)>::operator()(sk_sp<SkTypeface>) const(const std::__1::function<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> * this, sk_sp<SkTypeface> __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:2419)
    libflutter_engine.so!skia::textlayout::OneLineShaper::matchResolvedFonts(skia::textlayout::TextStyle const&, std::__1::function<skia::textlayout::OneLineShaper::Resolved (sk_sp<SkTypeface>)> const&)(skia::textlayout::OneLineShaper * this, const skia::textlayout::TextStyle & textStyle, const skia::textlayout::OneLineShaper::TypefaceVisitor & visitor) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:482)
    libflutter_engine.so!skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const(const class {...} * this, skia::textlayout::Block block, SkTArray<SkShaper::Feature, false> features) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:653)
    libflutter_engine.so!std::__1::__invoke<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}&, skia::textlayout::Block, SkTArray<SkShaper::Feature, false> >(class {...} & __f, SkTArray<SkShaper::Feature, false> && __args, SkTArray<SkShaper::Feature, false> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\type_traits:3530)
    libflutter_engine.so!std::__1::__invoke_void_return_wrapper<void>::__call<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}&, skia::textlayout::Block, SkTArray<SkShaper::Feature, false> >(skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}&, skia::textlayout::Block&&, SkTArray<SkShaper::Feature, false>&&)(SkTArray<SkShaper::Feature, false> && __args, SkTArray<SkShaper::Feature, false> && __args, SkTArray<SkShaper::Feature, false> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\__functional_base:348)
    libflutter_engine.so!std::__1::__function::__alloc_func<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}, std::__1::allocator<{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}>, void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)>::operator()(skia::textlayout::Block&&, SkTArray<SkShaper::Feature, false>&&)(std::__1::__function::__alloc_func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:641:17), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:641:17)>, void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> * this, SkTArray<SkShaper::Feature, false> && __arg, SkTArray<SkShaper::Feature, false> && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1533)
    libflutter_engine.so!std::__1::__function::__func<skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const::{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}, std::__1::allocator<{lambda(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)#1}>, void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)>::operator()(skia::textlayout::Block&&, SkTArray<SkShaper::Feature, false>&&)(std::__1::__function::__func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:641:17), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:641:17)>, void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> * this, SkTArray<SkShaper::Feature, false> && __arg, SkTArray<SkShaper::Feature, false> && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1707)
    libflutter_engine.so!std::__1::__function::__value_func<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)>::operator()(skia::textlayout::Block&&, SkTArray<SkShaper::Feature, false>&&) const(const std::__1::__function::__value_func<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> * this, SkTArray<SkShaper::Feature, false> && __args, SkTArray<SkShaper::Feature, false> && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1860)
    libflutter_engine.so!std::__1::function<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)>::operator()(skia::textlayout::Block, SkTArray<SkShaper::Feature, false>) const(const std::__1::function<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> * this, SkTArray<SkShaper::Feature, false> __arg, SkTArray<SkShaper::Feature, false> __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:2419)
    libflutter_engine.so!skia::textlayout::OneLineShaper::iterateThroughFontStyles(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, std::__1::function<void (skia::textlayout::Block, SkTArray<SkShaper::Feature, false>)> const&)(skia::textlayout::OneLineShaper * this, skia::textlayout::TextRange textRange, SkSpan<skia::textlayout::Block> styleSpan, const skia::textlayout::OneLineShaper::ShapeSingleFontVisitor & visitor) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:471)
    libflutter_engine.so!skia::textlayout::OneLineShaper::shape()::$_7::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const(const class {...} * this, skia::textlayout::TextRange textRange, SkSpan<skia::textlayout::Block> styleSpan, SkScalar & advanceX, skia::textlayout::TextIndex textStart, uint8_t defaultBidiLevel) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:640)
    libflutter_engine.so!std::__1::__invoke<skia::textlayout::OneLineShaper::shape()::$_7&, skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char>(class {...} & __f, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\type_traits:3530)
    libflutter_engine.so!std::__1::__invoke_void_return_wrapper<float>::__call<skia::textlayout::OneLineShaper::shape()::$_7&, skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char>(skia::textlayout::OneLineShaper::shape()::$_7&, skia::textlayout::SkRange<unsigned long>&&, SkSpan<skia::textlayout::Block>&&, float&, unsigned long&&, unsigned char&&)(unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\__functional_base:317)
    libflutter_engine.so!std::__1::__function::__alloc_func<skia::textlayout::OneLineShaper::shape()::$_7, std::__1::allocator<skia::textlayout::OneLineShaper::shape()::$_7>, float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)>::operator()(skia::textlayout::SkRange<unsigned long>&&, SkSpan<skia::textlayout::Block>&&, float&, unsigned long&&, unsigned char&&)(std::__1::__function::__alloc_func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:630:13), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:630:13)>, float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float &, unsigned long, unsigned char)> * this, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1533)
    libflutter_engine.so!std::__1::__function::__func<skia::textlayout::OneLineShaper::shape()::$_7, std::__1::allocator<skia::textlayout::OneLineShaper::shape()::$_7>, float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)>::operator()(skia::textlayout::SkRange<unsigned long>&&, SkSpan<skia::textlayout::Block>&&, float&, unsigned long&&, unsigned char&&)(std::__1::__function::__func<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:630:13), std::__1::allocator<(lambda at ../../third_party/skia/modules/skparagraph/src/OneLineShaper.cpp:630:13)>, float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float &, unsigned long, unsigned char)> * this, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg, unsigned char && __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1707)
    libflutter_engine.so!std::__1::__function::__value_func<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)>::operator()(skia::textlayout::SkRange<unsigned long>&&, SkSpan<skia::textlayout::Block>&&, float&, unsigned long&&, unsigned char&&) const(const std::__1::__function::__value_func<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float &, unsigned long, unsigned char)> * this, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args, unsigned char && __args) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:1860)
    libflutter_engine.so!std::__1::function<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)>::operator()(skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char) const(const std::__1::function<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float &, unsigned long, unsigned char)> * this, unsigned char __arg, unsigned char __arg, unsigned char __arg, unsigned char __arg, unsigned char __arg) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\libcxx\include\functional:2419)
    libflutter_engine.so!skia::textlayout::OneLineShaper::iterateThroughShapingRegions(std::__1::function<float (skia::textlayout::SkRange<unsigned long>, SkSpan<skia::textlayout::Block>, float&, unsigned long, unsigned char)> const&)(skia::textlayout::OneLineShaper * this, const skia::textlayout::OneLineShaper::ShapeVisitor & shape) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:574)
    libflutter_engine.so!skia::textlayout::OneLineShaper::shape(skia::textlayout::OneLineShaper * this) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\OneLineShaper.cpp:629)
    libflutter_engine.so!skia::textlayout::ParagraphImpl::shapeTextIntoEndlessLine(skia::textlayout::ParagraphImpl * this) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\ParagraphImpl.cpp:415)
    libflutter_engine.so!skia::textlayout::ParagraphImpl::layout(skia::textlayout::ParagraphImpl * this, SkScalar rawWidth) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\skia\modules\skparagraph\src\ParagraphImpl.cpp:142)
    libflutter_engine.so!txt::ParagraphSkia::Layout(txt::ParagraphSkia * this, double width) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\third_party\txt\src\skia\paragraph_skia.cc:166)
    libflutter_engine.so!flutter::Paragraph::layout(flutter::Paragraph * this, double width) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\lib\ui\text\paragraph.cc:87)
    libflutter_engine.so!tonic::DartDispatcher<tonic::IndicesHolder<0ul>, void (flutter::Paragraph::*)(double)>::Dispatch(tonic::DartDispatcher<tonic::IndicesHolder<0ul>, void (flutter::Paragraph::*)(double)> * this, tonic::DartDispatcher<tonic::IndicesHolder<0ul>, void (flutter::Paragraph::*)(double)>::FunctionPtr func) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\third_party\tonic\dart_args.h:159)
    libflutter_engine.so!tonic::DartCall<void (flutter::Paragraph::*)(double)>(void (flutter::Paragraph::*)(flutter::Paragraph * const, double) func, Dart_NativeArguments args) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\third_party\tonic\dart_args.h:216)
    libflutter_engine.so!flutter::Paragraph_layout(Dart_NativeArguments args) (\home\aik\repos\flutter_embedded\third_party\engine\src\flutter\lib\ui\text\paragraph.cc:40)
    libflutter_engine.so!dart::NativeEntry::AutoScopeNativeCallWrapperNoStackCheck(Dart_NativeArguments args, Dart_NativeFunction func) (\home\aik\repos\flutter_embedded\third_party\engine\src\third_party\dart\runtime\vm\native_entry.cc:217)
    [Unknown/Just-In-Time compiled code] (Unknown Source:0)
    

    @aikalant

    opened by jwinarske 0
Releases(0.8.0)
  • 0.8.0(May 28, 2020)

    Raspberry Pi armv7

    • resolves jit build break

    • resolves flutter_gflw missing lib

    • Default build is GLFW Example shell for RPI armv7

    • flutter-pi project is available as a build option

    • Channel and Runtime Mode switching supported

    • deb packaging for engine, flutter-glfw, and flutter-pi

    • rpath on executables set to /usr/lib/arm/arm-linux-gnueabihf

    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(May 19, 2020)

    Raspberry Pi armv7

    • Default build is GLFW Example shell for RPI armv7
    • flutter-pi project is available as a build option
    • Channel and Runtime Mode switching supported
    • deb packaging for engine, flutter-glfw, and flutter-pi
    • rpath on executables set to /usr/lib/arm/arm-linux-gnueabihf
    Source code(tar.gz)
    Source code(zip)
Owner
Joel Winarske
Joel Winarske
Embedded Linux embedding for Flutter

Embedded Linux (eLinux) embedding for Flutter This project was created to develop non-official embedded Linux embeddings of Flutter. This embedder is

Sony 918 Dec 30, 2022
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
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Miguel Ruivo 987 Jan 6, 2023
Flutter Community Plus Plugins

Flutter Community Plus Plugins Plus plugins PlusPlugins is a set of Flutter plugins that is developed based on existing Flutter plugins with extra fun

Flutter Community 1.1k Jan 5, 2023
Flutter plugin to store data behind biometric authentication (ie. fingerprint)

biometric_storage Encrypted file store, optionally secured by biometric lock for Android, iOS, MacOS and partial support for Linux, Windows and Web. M

AuthPass 125 Dec 28, 2022
The Chicago widget set for Flutter

Chicago widget library The Chicago widget set is a retro 32-bit desktop design language for Flutter. It was discussed in the Building a desktop design

Todd Volkert 405 Dec 30, 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
Flutter plugins used in Mixin

flutter-plugins This repo contains the source code for Flutter plugins which used in Mixin. Check the packages directory for all plugins. Plugins Plug

Mixin Network 246 Jan 3, 2023
Implements Microsoft's Fluent Design System in Flutter.

fluent_ui Design beautiful native windows apps using Flutter Unofficial implementation of Fluent UI for Flutter. It's written based on the official do

Bruno D'Luka 1.8k Dec 30, 2022
Windows95 UI components for Flutter apps. Bring back the nostalgic look and feel of old operating systems with this set of UI components ready to use.

Flutter95 Windows95 UI components for Flutter apps. UNDER CONSTRUCTION Screenshots Components Scaffold95 Scaffold as a Windows95 styled window. Provid

Miguel Beltran 141 Dec 26, 2022
Flutter library for window blur & transparency effects for on Windows & Linux. πŸ’™

flutter_acrylic Window blur & transparency effects for Flutter on Windows & Linux Installation Mention in your pubspec.yaml. dependencies: ... flu

Hitesh Kumar Saini 437 Dec 31, 2022
A Javascript engine to use with flutter. It uses quickjs on Android and JavascriptCore on IOS

Flutter JS plugin A Javascript engine to use with flutter. Now it is using QuickJS on Android through Dart ffi and JavascriptCore on IOS also through

Ábner Oliveira 334 Jan 3, 2023