From 4100493620954076d0bb03da9e0a310d0217651e Mon Sep 17 00:00:00 2001 From: Tianming Wu Date: Thu, 6 Mar 2025 01:19:23 +0800 Subject: [PATCH 1/7] Update release.yml for arm64 version --- .github/workflows/release.yml | 82 +++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a77b7ff1..126adb65 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -121,6 +121,45 @@ jobs: name: build-linux-x86_64-intermediate path: release/work/build-linux-x86_64/dist-tar/ + build-linux-arm64: + runs-on: ubuntu-22.04-arm + steps: + - name: Check architecture + run: | + arch=$(uname -m) + if [[ "$arch" != arm64 ]] + then + echo "Unexpected architecture: $arch" >&2 + exit 1 + fi + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt install -y meson ninja-build nasm ffmpeg libsdl2-2.0-0 \ + libsdl2-dev libavcodec-dev libavdevice-dev libavformat-dev \ + libavutil-dev libswresample-dev libusb-1.0-0 libusb-1.0-0-dev \ + libv4l-dev + + - name: Build + run: release/build_linux.sh arm64 + + # upload-artifact does not preserve permissions + - name: Tar + run: | + cd release/work/build-linux-arm64 + mkdir dist-tar + cd dist-tar + tar -C .. -cvf dist.tar.gz dist/ + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: build-linux-arm64-intermediate + path: release/work/build-linux-arm64/dist-tar/ + build-win32: runs-on: ubuntu-latest steps: @@ -296,6 +335,42 @@ jobs: name: release-linux-x86_64 path: release/output/ + package-linux-arm64: + needs: + - build-scrcpy-server + - build-linux-arm64 + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download scrcpy-server + uses: actions/download-artifact@v4 + with: + name: scrcpy-server + path: release/work/build-server/server/ + + - name: Download build-linux-arm64 + uses: actions/download-artifact@v4 + with: + name: build-linux-arm64-intermediate + path: release/work/build-linux-arm64/dist-tar/ + + # upload-artifact does not preserve permissions + - name: Detar + run: | + cd release/work/build-linux-arm64 + tar xf dist-tar/dist.tar.gz + + - name: Package + run: release/package_client.sh linux-arm64 tar.gz + + - name: Upload release + uses: actions/upload-artifact@v4 + with: + name: release-linux-arm64 + path: release/output/ + package-win32: needs: - build-scrcpy-server @@ -444,6 +519,7 @@ jobs: needs: - build-scrcpy-server - package-linux-x86_64 + - package-linux-arm64 - package-win32 - package-win64 - package-macos-aarch64 @@ -465,6 +541,12 @@ jobs: name: release-linux-x86_64 path: release/output/ + - name: Download release-linux-arm64 + uses: actions/download-artifact@v4 + with: + name: release-linux-arm64 + path: release/output/ + - name: Download release-win32 uses: actions/download-artifact@v4 with: From dfb56cedec162ff58c442d2b1e02077763601b7b Mon Sep 17 00:00:00 2001 From: Tianming Wu Date: Thu, 6 Mar 2025 01:26:08 +0800 Subject: [PATCH 2/7] fix architecture name --- .github/workflows/release.yml | 36 +++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 126adb65..a18d1347 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -121,13 +121,13 @@ jobs: name: build-linux-x86_64-intermediate path: release/work/build-linux-x86_64/dist-tar/ - build-linux-arm64: + build-linux-aarch64: runs-on: ubuntu-22.04-arm steps: - name: Check architecture run: | arch=$(uname -m) - if [[ "$arch" != arm64 ]] + if [[ "$arch" != aarch64 ]] then echo "Unexpected architecture: $arch" >&2 exit 1 @@ -144,12 +144,12 @@ jobs: libv4l-dev - name: Build - run: release/build_linux.sh arm64 + run: release/build_linux.sh aarch64 # upload-artifact does not preserve permissions - name: Tar run: | - cd release/work/build-linux-arm64 + cd release/work/build-linux-aarch64 mkdir dist-tar cd dist-tar tar -C .. -cvf dist.tar.gz dist/ @@ -157,8 +157,8 @@ jobs: - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: build-linux-arm64-intermediate - path: release/work/build-linux-arm64/dist-tar/ + name: build-linux-aarch64-intermediate + path: release/work/build-linux-aarch64/dist-tar/ build-win32: runs-on: ubuntu-latest @@ -232,7 +232,7 @@ jobs: - name: Check architecture run: | arch=$(uname -m) - if [[ "$arch" != arm64 ]] + if [[ "$arch" != aarch64 ]] then echo "Unexpected architecture: $arch" >&2 exit 1 @@ -335,10 +335,10 @@ jobs: name: release-linux-x86_64 path: release/output/ - package-linux-arm64: + package-linux-aarch64: needs: - build-scrcpy-server - - build-linux-arm64 + - build-linux-aarch64 runs-on: ubuntu-latest steps: - name: Checkout code @@ -350,25 +350,25 @@ jobs: name: scrcpy-server path: release/work/build-server/server/ - - name: Download build-linux-arm64 + - name: Download build-linux-aarch64 uses: actions/download-artifact@v4 with: - name: build-linux-arm64-intermediate - path: release/work/build-linux-arm64/dist-tar/ + name: build-linux-aarch64-intermediate + path: release/work/build-linux-aarch64/dist-tar/ # upload-artifact does not preserve permissions - name: Detar run: | - cd release/work/build-linux-arm64 + cd release/work/build-linux-aarch64 tar xf dist-tar/dist.tar.gz - name: Package - run: release/package_client.sh linux-arm64 tar.gz + run: release/package_client.sh linux-aarch64 tar.gz - name: Upload release uses: actions/upload-artifact@v4 with: - name: release-linux-arm64 + name: release-linux-aarch64 path: release/output/ package-win32: @@ -519,7 +519,7 @@ jobs: needs: - build-scrcpy-server - package-linux-x86_64 - - package-linux-arm64 + - package-linux-aarch64 - package-win32 - package-win64 - package-macos-aarch64 @@ -541,10 +541,10 @@ jobs: name: release-linux-x86_64 path: release/output/ - - name: Download release-linux-arm64 + - name: Download release-linux-aarch64 uses: actions/download-artifact@v4 with: - name: release-linux-arm64 + name: release-linux-aarch64 path: release/output/ - name: Download release-win32 From 9d9688ddf66be6018070307d731ceb24c86f68d3 Mon Sep 17 00:00:00 2001 From: Tianming Wu Date: Thu, 6 Mar 2025 01:30:28 +0800 Subject: [PATCH 3/7] fix macos architecture name which was accidently replaced by filter --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a18d1347..e1ac5453 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -232,7 +232,7 @@ jobs: - name: Check architecture run: | arch=$(uname -m) - if [[ "$arch" != aarch64 ]] + if [[ "$arch" != arm64 ]] then echo "Unexpected architecture: $arch" >&2 exit 1 From 8bf02587ff25329e82343ef3dccb2d472677b4d4 Mon Sep 17 00:00:00 2001 From: Tianming Wu Date: Thu, 6 Mar 2025 01:38:45 +0800 Subject: [PATCH 4/7] Try fixing aarch64 dependencies --- .github/workflows/release.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e1ac5453..e7c77c31 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -135,13 +135,18 @@ jobs: - name: Checkout code uses: actions/checkout@v4 + + - name: Update sources list + run: | + sudo sed -i 's|http://ports.ubuntu.com/ubuntu-ports|http://archive.ubuntu.com/ubuntu|g' /etc/apt/sources.list - name: Install dependencies run: | - sudo apt install -y meson ninja-build nasm ffmpeg libsdl2-2.0-0 \ - libsdl2-dev libavcodec-dev libavdevice-dev libavformat-dev \ - libavutil-dev libswresample-dev libusb-1.0-0 libusb-1.0-0-dev \ - libv4l-dev + sudo apt-get update + sudo apt-get install -y meson ninja-build nasm ffmpeg libsdl2-2.0-0 \ + libsdl2-dev libavcodec-dev libavdevice-dev libavformat-dev \ + libavutil-dev libswresample-dev libusb-1.0-0 libusb-1.0-0-dev \ + libv4l-dev --fix-missing - name: Build run: release/build_linux.sh aarch64 From 4acec844cc3ca85a7fed1c386437d491211198d1 Mon Sep 17 00:00:00 2001 From: Tianming Wu Date: Thu, 6 Mar 2025 01:54:04 +0800 Subject: [PATCH 5/7] fix --- .github/workflows/release.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e7c77c31..c91db092 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -122,7 +122,7 @@ jobs: path: release/work/build-linux-x86_64/dist-tar/ build-linux-aarch64: - runs-on: ubuntu-22.04-arm + runs-on: ubuntu-24.04-arm steps: - name: Check architecture run: | @@ -136,9 +136,9 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Update sources list - run: | - sudo sed -i 's|http://ports.ubuntu.com/ubuntu-ports|http://archive.ubuntu.com/ubuntu|g' /etc/apt/sources.list + # - name: Update sources list + # run: | + # sudo sed -i 's|http://ports.ubuntu.com/ubuntu-ports|http://archive.ubuntu.com/ubuntu|g' /etc/apt/sources.list - name: Install dependencies run: | From a059b3475189b4dd0e44b2d6b15538cdd4dd59af Mon Sep 17 00:00:00 2001 From: Tianming Wu Date: Thu, 6 Mar 2025 03:52:56 +0800 Subject: [PATCH 6/7] edit --- .gitignore | 1 + app/deps/adb_linux.sh | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 26d977ac..29f616a0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ build/ /x/ local.properties /scrcpy-server +.vscode \ No newline at end of file diff --git a/app/deps/adb_linux.sh b/app/deps/adb_linux.sh index 17b5641d..81e7dee7 100755 --- a/app/deps/adb_linux.sh +++ b/app/deps/adb_linux.sh @@ -5,9 +5,16 @@ cd "$DEPS_DIR" . common VERSION=35.0.2 -FILENAME=platform-tools_r$VERSION-linux.zip -PROJECT_DIR=platform-tools-$VERSION-linux -SHA256SUM=acfdcccb123a8718c46c46c059b2f621140194e5ec1ac9d81715be3d6ab6cd0a + +if [[ "$ARCH" == "aarch64" ]]; then + FILENAME=platform-tools_r$VERSION-linux-arm.zip + PROJECT_DIR=platform-tools-$VERSION-linux-arm + SHA256SUM= +else + FILENAME=platform-tools_r$VERSION-linux.zip + PROJECT_DIR=platform-tools-$VERSION-linux + SHA256SUM=acfdcccb123a8718c46c46c059b2f621140194e5ec1ac9d81715be3d6ab6cd0a +fi cd "$SOURCES_DIR" @@ -26,4 +33,4 @@ fi mkdir -p "$INSTALL_DIR/adb-linux" cd "$INSTALL_DIR/adb-linux" -cp -r "$SOURCES_DIR/$PROJECT_DIR"/. "$INSTALL_DIR/adb-linux/" +cp -r "$SOURCES_DIR/$PROJECT_DIR"/. "$INSTALL_DIR/adb-linux/" \ No newline at end of file From 9fab2f71314119e8f8a1b69b25de132dec35d6e0 Mon Sep 17 00:00:00 2001 From: Tianming Date: Thu, 6 Mar 2025 08:25:07 +0800 Subject: [PATCH 7/7] Update adb_linux.sh --- app/deps/adb_linux.sh | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/app/deps/adb_linux.sh b/app/deps/adb_linux.sh index 81e7dee7..fcb4d4f7 100755 --- a/app/deps/adb_linux.sh +++ b/app/deps/adb_linux.sh @@ -5,16 +5,19 @@ cd "$DEPS_DIR" . common VERSION=35.0.2 +FILENAME=platform-tools_r$VERSION-linux.zip +PROJECT_DIR=platform-tools-$VERSION-linux +SHA256SUM=acfdcccb123a8718c46c46c059b2f621140194e5ec1ac9d81715be3d6ab6cd0a -if [[ "$ARCH" == "aarch64" ]]; then - FILENAME=platform-tools_r$VERSION-linux-arm.zip - PROJECT_DIR=platform-tools-$VERSION-linux-arm - SHA256SUM= -else - FILENAME=platform-tools_r$VERSION-linux.zip - PROJECT_DIR=platform-tools-$VERSION-linux - SHA256SUM=acfdcccb123a8718c46c46c059b2f621140194e5ec1ac9d81715be3d6ab6cd0a -fi +# if [[ "$ARCH" == "aarch64" ]]; then +# FILENAME=platform-tools_r$VERSION-linux-arm.zip +# PROJECT_DIR=platform-tools-$VERSION-linux-arm +# SHA256SUM= +# else +# FILENAME=platform-tools_r$VERSION-linux.zip +# PROJECT_DIR=platform-tools-$VERSION-linux +# SHA256SUM=acfdcccb123a8718c46c46c059b2f621140194e5ec1ac9d81715be3d6ab6cd0a +# fi cd "$SOURCES_DIR" @@ -33,4 +36,4 @@ fi mkdir -p "$INSTALL_DIR/adb-linux" cd "$INSTALL_DIR/adb-linux" -cp -r "$SOURCES_DIR/$PROJECT_DIR"/. "$INSTALL_DIR/adb-linux/" \ No newline at end of file +cp -r "$SOURCES_DIR/$PROJECT_DIR"/. "$INSTALL_DIR/adb-linux/"