Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable flutter engine artifacts for Windows on Arm #115983

Closed
Tracked by #129803
pbo-linaro opened this issue Nov 24, 2022 · 14 comments
Closed
Tracked by #129803

Enable flutter engine artifacts for Windows on Arm #115983

pbo-linaro opened this issue Nov 24, 2022 · 14 comments
Labels
c: new feature Nothing broken; request for a new capability engine flutter/engine repository. See also e: labels. P3 Issues that are less important to the Flutter project platform-host-arm Building on an ARM-based platform platform-windows Building on or for Windows specifically r: fixed Issue is closed as already fixed in a newer version

Comments

@pbo-linaro
Copy link
Contributor

Use case

To support targeting Windows on Arm platform (#62597), we need first to enable artifacts for flutter engine on this platform.

Proposal

Engine can be cross-compiled from a x64 machine by using:

python3 ./flutter/tools/gn --no-goma --windows-cpu arm64
ninja -C out/host_debug_arm64

I'll create a patch for recipe file.
Thanks @loic-sharma for proposing to help upstream this patch.

@danagbemava-nc danagbemava-nc added in triage Presently being triaged by the triage team c: new feature Nothing broken; request for a new capability engine flutter/engine repository. See also e: labels. platform-windows Building on or for Windows specifically platform-host-arm Building on an ARM-based platform and removed in triage Presently being triaged by the triage team labels Nov 25, 2022
@chinmaygarde chinmaygarde added the P3 Issues that are less important to the Flutter project label Nov 28, 2022
@pbo-linaro
Copy link
Contributor Author

@loic-sharma Tried to create a gerrit change for that, but it confirms I don't have access.

The commit to upstream is here, based on what was done for darwin-arm64.

@loic-sharma
Copy link
Member

Hello, thanks for the patch! I apologize for the delay, I was off last week.

I kicked off a test run of your changes, that failed on the Zip windows-arm64 windows-arm64-embedder.zip step:

IOError: [Errno 2] No such file or directory: u'C:\b\s\w\ir\cache\builder\src\out/host_debug_arm64/flutter_embedder.h'

Please let me know when you're ready for me to run another test!

@pbo-linaro
Copy link
Contributor Author

Thanks @loic-sharma . No problem, you said you were out :)

I pushed two other commits here, to fix the issue you mentioned (regarding font), and removed the embedder package for now (not sure what it is used for).

Feel free to squash commits to have a single patch. For now, I just try to keep commits splitted to track history of this patch.

@loic-sharma
Copy link
Member

Here's the latest result: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/loicsharma_google.com/c0e4ff1860fc1c4916a177502cc4cfb0fad1d20aa848aac5b68add72334199f0/+/build.proto?server=chromium-swarm.appspot.com

( 321 ms )C:\b\s\w\ir\cache\builder\src\out\host_release_arm64\zip_archives\windows-arm64\font-subset.zip not found
( 319 ms )Files in parent directory of safe_upload request
[WinError 3] The system cannot find the path specified: 'C:\b\s\w\ir\cache\builder\src\out\host_release_arm64\zip_archives\windows-arm64'

@pbo-linaro
Copy link
Contributor Author

pbo-linaro commented Dec 7, 2022

I removed the font subset as it does not seem to be built when building for windows-arm64. Still here.

@loic-sharma
Copy link
Member

Here's the latest build: https://ci.chromium.org/raw/build/logs.chromium.org/flutter/led/loicsharma_google.com/b765281e408ff608bc165ac7291626f93782efeac52f2d4936eb64a7482f9847/+/build.proto?server=chromium-swarm.appspot.com

It looks like it passed! (The final step fails, but that seems like an unrelated permission issue)

@pbo-linaro
Copy link
Contributor Author

pbo-linaro commented Dec 8, 2022

Ok great! I squashed all commits, and rebased it on top of master.

Could you submit it for review please, and post the link here?

@loic-sharma
Copy link
Member

Here's the changelist: https://flutter-review.git.corp.google.com/c/recipes/+/37085

FYI there will be an infrastructure freeze from December 20th to January 4th due to the holidays. That might affect your ARM64 work.

@loic-sharma
Copy link
Member

FYI, @godofredoc left a comment that you will also need to modify this: https://github.com/flutter/engine/tree/main/ci/builders

@godofredoc
Copy link
Contributor

Public link to CL: https://flutter-review.googlesource.com/c/recipes/+/37085

@pbo-linaro
Copy link
Contributor Author

Thanks, I'll answer on CL from now.

@pbo-linaro
Copy link
Contributor Author

From CL, it appears the "recipes" approach will be dropped in favor of a new solution, directly integrated in flutter engine repo, from January 2023. Thus, this seems to be the best approach at that time, and I'll do a PR for that.

@pbo-linaro
Copy link
Contributor Author

Created PR on engine to add support for arm64 artifacts.

@danagbemava-nc danagbemava-nc added the r: fixed Issue is closed as already fixed in a newer version label Jun 30, 2023
@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
c: new feature Nothing broken; request for a new capability engine flutter/engine repository. See also e: labels. P3 Issues that are less important to the Flutter project platform-host-arm Building on an ARM-based platform platform-windows Building on or for Windows specifically r: fixed Issue is closed as already fixed in a newer version
Projects
None yet
Development

No branches or pull requests

5 participants