-
Notifications
You must be signed in to change notification settings - Fork 27.5k
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
☂️ Add support for ARM macOS host #60118
Comments
Building flutter tool on ARM macOS host currently fails with:
Leaving this here so it can be found by a google search. But maybe it should be moved to a separate issue? |
Yes, can you file a separate issue? I heard about this but we don't have DTKs yet. I'll link it back to this umbrella meta issue. |
@cbenhagen Can you file in https://github.com/dart-lang/sdk ? |
Done: dart-lang/sdk#42534 |
Just to cross reference, tracking linux arm host support on #56992 |
I'm happy to report that my experience with Flutter master branch on Apple Silicon / DTK has been much better than others early experiences ( ala dart-lang/sdk#42534 ). At this point Rosetta seems to be able to run most of the host tooling, and I am able to target iOS using the generated Xcode project. Per #65132 the However, and I think this is super cool, actually building and running the Flutter application on-device using Xcode 12.2 Beta is working as expected. I can even use If I am able to get my local development environment to work correctly ( dart-lang/sdk#43488 ) I'm optimistic that I can participate in the porting effort to get the tooling running natively on the ARM host. |
@jmagman I think we were talking about "XCode SDK needs to be updated on mac LUCI builders" just now. Should that be better named as "mac LUCI builders' Xcode need to use the iOS 14 SDK"? |
Done at #65901 (comment). |
Ship it! |
Also, last time I tried, CocoaPods wasn't working on arm, so apps with plugins won't work. |
I saw in one of the linked issues someone posted a workaround, is that not a viable solution? |
* App.framework must support iOS 8 for older Flutter projects * cherry pick fixes to #60118 * fix to --observatory-port flag * update engine version Co-authored-by: Jenn Magder <magder@google.com>
It didn't work for me, CocoaPods would crash with
Flutter work tracked at #70796 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This wiki page is a more digestible form of what works and what doesn't. This issue is a convenience meta issue, so I'm going to lock for now to prevent noise. |
Should we leave #64502 and create a separate bug for running iOS simulator on rosetta? |
Created #74662 to wrap up documentation for the next stable |
On Flutter 2 deploying your app in Rosetta mode to the iOS simulator with the command line tool |
Native arm64 iOS simulator without Rosetta now available as of #85642. |
Engine building on arm64 mac hosts as of flutter/engine#33244 |
SGTM. We're now generating arm64/arm64 (as well as x64/simarm64) binaries for gen_snapshot in macOS engine host builds. I'm happy to take a look at getting a lipo'ed universal binary for gen_snapshot in place. |
If I understand the issue pointed to there, a bunch of that was fixed in flutter/engine#33244. That's what I meant by us now generating native arm64/arm64 binaries rather than x86/simarm64. But maybe I'm misreading this? The issue we still do definitely have though is no arm64 binaries that target x64 architecture, which is due to the lack of simx64 support in Dart, but my understanding was that #101138 is about an arm64->arm64 gen_snapshot, not the arm64->x64 case. |
Neat, I didn't see that PR. Feel free to close what you think is complete.
That's what I meant to track with that issue since that's within our ability do to now given dart limitations. @zanderso I thought we couldn't just lipo gen_snapshots together because of... some reason you've explained to me at least 4 times. |
We could lipo together the My suggestion for now is to keep things simple and ship non-lipo'd |
sgtm! |
Umbrella issue tracking developing Flutter on macOS ARM.
Use case: developer buys ARM Mac, installs Flutter tooling on the Mac, deploys Flutter to an iPhone.
Note: this is tracking host-side issues. Running Flutter on ARM macOS as a target is tracked by #60113.
Wiki page: https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon
Update: Flutter should be fully working on M1 with Rosetta translation (particularly tooling and iOS simulator). The remaining work is to get it working natively without Rosetta.
Infrastructure
Native host development (
flutter
tool)gen_snapshot_arm64
andgen_snapshot_x64
as arm64 binary to run natively on Apple Silicon #101138Completed
Sub-issues
Physical devices
Simulator
flutter build ios-framework --universal
Plugin support
Tracking Apple Silicon as a target device separately at #60113.
The text was updated successfully, but these errors were encountered: