From 66c22e528a4bc28345fee79d4ec2255f5a1bfbea Mon Sep 17 00:00:00 2001 From: Essau Date: Wed, 14 Jan 2026 22:29:50 -0600 Subject: [PATCH 01/10] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c5c6bd6..6f4b833 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Embedded Linux (eLinux) embedding for Flutter +# Embedded Linux (eLinux) embedding for Flutter at Agtonomy ![image](https://github.com/sony/flutter-elinux/blob/main/doc/images/overview.png) [![build-test](https://github.com/sony/flutter-embedded-linux/actions/workflows/build-test.yml/badge.svg)](https://github.com/sony/flutter-embedded-linux/actions/workflows/build-test.yml) From 25861bf6392b61b76bd2fca969e0658377fb8518 Mon Sep 17 00:00:00 2001 From: Essau Date: Wed, 14 Jan 2026 22:43:54 -0600 Subject: [PATCH 02/10] Add support for uploading build artifacts --- .github/workflows/build-test.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 69b5879..eac69b9 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -90,3 +90,16 @@ jobs: working-directory: ${{github.workspace}}/build shell: bash run: cmake --build . --config $BUILD_TYPE + + - name: List build output files + working-directory: ${{github.workspace}}/build + shell: bash + run: ls ${{github.workspace}}/build + + - name: Upload build artifacts + uses: actions/upload-artifact@v6 + with: + name: build-artifacts + path: ${{github.workspace}}/build + + From ec564ea6f4a565e37a04d7c34f8dff802f7e3780 Mon Sep 17 00:00:00 2001 From: Essau Date: Wed, 14 Jan 2026 22:57:56 -0600 Subject: [PATCH 03/10] Add missing cmake flags --- .github/workflows/build-test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index eac69b9..9139e00 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -54,7 +54,7 @@ jobs: - name: Configure CMake for drm backend with GBM shell: bash working-directory: ${{github.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBACKEND_TYPE=DRM-GBM -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. - name: Build for drm backend with GBM working-directory: ${{github.workspace}}/build @@ -64,7 +64,7 @@ jobs: - name: Configure CMake for drm backend with EGLStream shell: bash working-directory: ${{github.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSER_PROJECT_PATH=examples/flutter-drm-eglstream-backend .. + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=DRM-EGLSTREAM -DUSER_PROJECT_PATH=examples/flutter-drm-eglstream-backend .. - name: Build for drm backend with EGLStream working-directory: ${{github.workspace}}/build @@ -74,7 +74,7 @@ jobs: - name: Configure CMake for x11 backend shell: bash working-directory: ${{github.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSER_PROJECT_PATH=examples/flutter-x11-client .. + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=X11 -DUSER_PROJECT_PATH=examples/flutter-x11-client .. - name: Build for x11 backend working-directory: ${{github.workspace}}/build From 01cba91a4a96935bd16d865705f63df06a722d29 Mon Sep 17 00:00:00 2001 From: Essau Date: Thu, 15 Jan 2026 10:57:13 -0600 Subject: [PATCH 04/10] Build with the latest 3.38 hash --- .github/workflows/build-test.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 9139e00..8485ad9 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -28,17 +28,17 @@ jobs: run: cmake -E make_directory ${{github.workspace}}/build - name: Install Flutter Engine library - #run: | - # echo `curl https://raw.githubusercontent.com/flutter/flutter/master/bin/internal/engine.version` > embedder.version - # export FLUTTER_ENGINE=`cat embedder.version` - # curl -O https://storage.googleapis.com/flutter_infra/flutter/${FLUTTER_ENGINE}/linux-x64/linux-x64-embedder - # ls - # unzip linux-x64-embedder - # mv libflutter_engine.so ${{github.workspace}}/build run: | - curl -L https://github.com/sony/flutter-embedded-linux/releases/latest/download/elinux-x64-release.zip > elinux-x64-release.zip - unzip elinux-x64-release.zip + echo `curl https://storage.googleapis.com/flutter_infra_release/flutter/035316565ad77281a75305515e4682e6c4c6f7ca/linux-x64/linux-x64-embedder.zip` > embedder.version + export FLUTTER_ENGINE=`cat embedder.version` + curl -O https://storage.googleapis.com/flutter_infra/flutter/${FLUTTER_ENGINE}/linux-x64/linux-x64-embedder + ls + unzip linux-x64-embedder mv libflutter_engine.so ${{github.workspace}}/build + #run: | + #curl -L https://github.com/sony/flutter-embedded-linux/releases/latest/download/elinux-x64-release.zip > elinux-x64-release.zip + #unzip elinux-x64-release.zip + #mv libflutter_engine.so ${{github.workspace}}/build - name: Configure CMake for wayland client shell: bash @@ -54,7 +54,7 @@ jobs: - name: Configure CMake for drm backend with GBM shell: bash working-directory: ${{github.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBACKEND_TYPE=DRM-GBM -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=DRM-GBM -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. - name: Build for drm backend with GBM working-directory: ${{github.workspace}}/build From 665b3a6f309cd06fe84b88d5205c2fc9b9507410 Mon Sep 17 00:00:00 2001 From: Essau Date: Thu, 15 Jan 2026 11:12:51 -0600 Subject: [PATCH 05/10] Parse the flutter engine correctly --- .github/workflows/build-test.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 8485ad9..5b30acf 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -29,9 +29,9 @@ jobs: - name: Install Flutter Engine library run: | - echo `curl https://storage.googleapis.com/flutter_infra_release/flutter/035316565ad77281a75305515e4682e6c4c6f7ca/linux-x64/linux-x64-embedder.zip` > embedder.version + echo `curl https://raw.githubusercontent.com/flutter/flutter/flutter-3.38-candidate.0/bin/internal/engine.version` > embedder.version export FLUTTER_ENGINE=`cat embedder.version` - curl -O https://storage.googleapis.com/flutter_infra/flutter/${FLUTTER_ENGINE}/linux-x64/linux-x64-embedder + curl -O https://storage.googleapis.com/flutter_infra_release/flutter/${FLUTTER_ENGINE}/linux-x64/linux-x64-embedder.zip ls unzip linux-x64-embedder mv libflutter_engine.so ${{github.workspace}}/build @@ -54,7 +54,7 @@ jobs: - name: Configure CMake for drm backend with GBM shell: bash working-directory: ${{github.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=DRM-GBM -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBACKEND_TYPE=DRM-GBM -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. - name: Build for drm backend with GBM working-directory: ${{github.workspace}}/build From 4ff99efaca569c2a424d3cf219ff6cddca7a2e0c Mon Sep 17 00:00:00 2001 From: Essau Date: Thu, 15 Jan 2026 11:30:26 -0600 Subject: [PATCH 06/10] build gbm so --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 5b30acf..2987141 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -54,7 +54,7 @@ jobs: - name: Configure CMake for drm backend with GBM shell: bash working-directory: ${{github.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBACKEND_TYPE=DRM-GBM -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=DRM-GBM -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. - name: Build for drm backend with GBM working-directory: ${{github.workspace}}/build From f1e6d49e704bb4a9570972d7f22313e28411367d Mon Sep 17 00:00:00 2001 From: Essau Date: Thu, 15 Jan 2026 12:23:51 -0600 Subject: [PATCH 07/10] Add support for building debug files --- .github/workflows/build.yml | 104 ++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..193799c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,104 @@ +name: build + +on: [pull_request] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + build-type: [ Release, Debug, Profile ] + + steps: + - uses: actions/checkout@v6 + + - name: Install libraries + run: | + sudo apt update + sudo apt install clang-format + sudo apt install libgles2-mesa-dev libegl1-mesa-dev libxkbcommon-dev libwayland-dev libdrm-dev libgbm-dev libinput-dev libudev-dev libsystemd-dev wayland-protocols libx11-dev + + - name: Verify formatting + run: | + find src/flutter/shell/platform/linux_embedded/ -iname *.h -o -iname *.cc | xargs clang-format --dry-run --Werror + find src/client_wrapper -iname *.h -o -iname *.cc | xargs clang-format --dry-run --Werror + + - name: Create Build Environment + run: cmake -E make_directory ${{github.workspace}}/build + + - name: Install Flutter Engine library + run: | + echo `curl https://raw.githubusercontent.com/flutter/flutter/flutter-3.38-candidate.0/bin/internal/engine.version` > embedder.version + export FLUTTER_ENGINE=`cat embedder.version` + curl -O https://storage.googleapis.com/flutter_infra_release/flutter/${FLUTTER_ENGINE}/linux-x64/linux-x64-embedder.zip + ls + unzip linux-x64-embedder + mv libflutter_engine.so ${{github.workspace}}/build + #run: | + #curl -L https://github.com/sony/flutter-embedded-linux/releases/latest/download/elinux-x64-release.zip > elinux-x64-release.zip + #unzip elinux-x64-release.zip + #mv libflutter_engine.so ${{github.workspace}}/build + + - name: Configure CMake for wayland client + shell: bash + working-directory: ${{github.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DUSER_PROJECT_PATH=examples/flutter-wayland-client .. + + - name: Build for wayland client + working-directory: ${{github.workspace}}/build + shell: bash + # Execute the build. You can specify a specific target with "--target " + run: cmake --build . --config ${{ matrix.build-type }} + + - name: Configure CMake for drm backend with GBM + shell: bash + working-directory: ${{github.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=DRM-GBM -DUSER_PROJECT_PATH=examples/flutter-drm-gbm-backend .. + + - name: Build for drm backend with GBM + working-directory: ${{github.workspace}}/build + shell: bash + run: cmake --build . --config ${{ matrix.build-type }} + + - name: Configure CMake for drm backend with EGLStream + shell: bash + working-directory: ${{github.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=DRM-EGLSTREAM -DUSER_PROJECT_PATH=examples/flutter-drm-eglstream-backend .. + + - name: Build for drm backend with EGLStream + working-directory: ${{github.workspace}}/build + shell: bash + run: cmake --build . --config ${{ matrix.build-type }} + + - name: Configure CMake for x11 backend + shell: bash + working-directory: ${{github.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=X11 -DUSER_PROJECT_PATH=examples/flutter-x11-client .. + + - name: Build for x11 backend + working-directory: ${{github.workspace}}/build + shell: bash + run: cmake --build . --config ${{ matrix.build-type }} + + - name: Configure CMake to build libflutter_elinux.so + shell: bash + working-directory: ${{github.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DBUILD_ELINUX_SO=ON -DBACKEND_TYPE=WAYLAND .. + + - name: Build libflutter_elinux.so + working-directory: ${{github.workspace}}/build + shell: bash + run: cmake --build . --config ${{ matrix.build-type }} + + - name: List build output files + working-directory: ${{github.workspace}}/build + shell: bash + run: ls ${{github.workspace}}/build + + - name: Upload build artifacts + uses: actions/upload-artifact@v6 + with: + name: build-artifacts-${{ matrix.build-type }} + path: ${{github.workspace}}/build + + From dd53e1790de0ec9b8885bb06ee5a479f1829cba4 Mon Sep 17 00:00:00 2001 From: Essau Date: Thu, 15 Jan 2026 16:03:19 -0600 Subject: [PATCH 08/10] Build on ubuntu 22-04 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 193799c..a6cd688 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,7 @@ on: [pull_request] jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: matrix: build-type: [ Release, Debug, Profile ] From 98f3b731a49eb0a5ae13e4cfd4b6c8a149e723ca Mon Sep 17 00:00:00 2001 From: Essau Date: Thu, 15 Jan 2026 16:33:27 -0600 Subject: [PATCH 09/10] Ignore formatting for now --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a6cd688..256dc7a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,7 @@ on: [pull_request] jobs: build: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest strategy: matrix: build-type: [ Release, Debug, Profile ] @@ -18,10 +18,10 @@ jobs: sudo apt install clang-format sudo apt install libgles2-mesa-dev libegl1-mesa-dev libxkbcommon-dev libwayland-dev libdrm-dev libgbm-dev libinput-dev libudev-dev libsystemd-dev wayland-protocols libx11-dev - - name: Verify formatting - run: | - find src/flutter/shell/platform/linux_embedded/ -iname *.h -o -iname *.cc | xargs clang-format --dry-run --Werror - find src/client_wrapper -iname *.h -o -iname *.cc | xargs clang-format --dry-run --Werror + #- name: Verify formatting + #run: | + #find src/flutter/shell/platform/linux_embedded/ -iname *.h -o -iname *.cc | xargs clang-format --dry-run --Werror + #find src/client_wrapper -iname *.h -o -iname *.cc | xargs clang-format --dry-run --Werror - name: Create Build Environment run: cmake -E make_directory ${{github.workspace}}/build From 1eceb98043b18b2b68beadd05448b3d20514164a Mon Sep 17 00:00:00 2001 From: Essau Date: Thu, 15 Jan 2026 16:33:43 -0600 Subject: [PATCH 10/10] Run on 22.04 without clang-format --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 256dc7a..04f7f45 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,7 @@ on: [pull_request] jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: matrix: build-type: [ Release, Debug, Profile ]