Skip to content

Breaking Change Request: Remove support for armv6 #42069

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

Closed
mkustermann opened this issue May 27, 2020 · 25 comments
Closed

Breaking Change Request: Remove support for armv6 #42069

mkustermann opened this issue May 27, 2020 · 25 comments
Assignees
Labels
area-meta Cross-cutting, high-level issues (for tracking many other implementation issues, ...). breaking-change-request This tracks requests for feedback on breaking changes

Comments

@mkustermann
Copy link
Member

mkustermann commented May 27, 2020

Intended change in behavior: Remove support for ARMv6 in Dart VM.

Justification/rationale: Flutter doesn't officially support ARMv6 (see also flutter faq) and neither does Dart. We have no test coverage of it either (afaik).

Expected impact of this change: Should not impact any direct users of Flutter / Dart SDK. It will no longer be possible build custom Dart VM for ARMv6 and run on ARMv6 devices (known affected devices: old Raspberry Pi 1 & Zero).

Clear steps for mitigating the change: None

/cc @Hixie @vsmenon @mit-mit @a-siva @franklinyow

@mkustermann mkustermann added the breaking-change-request This tracks requests for feedback on breaking changes label May 27, 2020
@mkustermann
Copy link
Member Author

Related 2.5 year old flutter issue: flutter/flutter#22380

@mkustermann
Copy link
Member Author

Breaking change email has been sent to dart-announce@

@vsmenon vsmenon added the area-meta Cross-cutting, high-level issues (for tracking many other implementation issues, ...). label May 27, 2020
@JakeSays
Copy link

can we trade armv6 support for thumb2 only support? windows arm devices don't support anything but.

@franklinyow
Copy link
Contributor

cc @Hixie @matanlurey @vsmenon for review and approval.

@Hixie
Copy link
Contributor

Hixie commented May 29, 2020

I'm all for deleting code in principle. Have we check with Alibaba and other companies that asked for this feature? They may be building custom engines with it. cc @zoeyfan

@zoeyfan
Copy link

zoeyfan commented May 30, 2020 via email

@mit-mit
Copy link
Member

mit-mit commented Jun 17, 2020

Have we check with Alibaba and other companies that asked for this feature?

We've reached to a number of entities offline and have not heard any concerns. I also see no concerns listed in the present issue. @Hixie @matanlurey @vsmenon can we approve this change?

@mit-mit
Copy link
Member

mit-mit commented Jun 17, 2020

Note: once/if you agree, we still need to get this posted on dart-announce for broad feedback.

@Hixie
Copy link
Contributor

Hixie commented Jun 17, 2020

I defer to @zoeyfan; I have no personal objection.

@franklinyow
Copy link
Contributor

It's already announced:
https://groups.google.com/a/google.com/g/dart-announce/c/3UJRSrIq7-0

@zoeyfan
Copy link

zoeyfan commented Jun 18, 2020

Based on inquiries to large customers in China, they have no concerns on this change. Hence I feel comfortable proceeding with this.
@mit-mit @Hixie

@mit-mit
Copy link
Member

mit-mit commented Jun 19, 2020

@vsmenon can you give the final approval?

@sebe
Copy link

sebe commented Jun 19, 2020

It's already announced:
https://groups.google.com/a/google.com/g/dart-announce/c/3UJRSrIq7-0

Hey is that a google only group, I can't access it and can't see any see any ARMv6 announcement in
https://groups.google.com/a/dartlang.org/forum/#!forum/announce

I don't have an issue with the removal of armv6 support, I do wish the Raspberry Pi people would stop selling armv6 boards, maybe some part of google could somehow help the Pi people to move the pi zero to a more modern processor.

@franklinyow
Copy link
Contributor

@sebe You are right, the announcement went to the wrong group.

I copied the announcement over:
https://groups.google.com/a/dartlang.org/g/announce/c/U50WhgzD8t0

@JakeSays
Copy link

@sebe Heh. I second the RPI idea. It's a real pain having two architectures to deal with.

@JakeSays
Copy link

The one thing I would ask about this change is that you guys tag the commit before the first change in some way that is easy to find. I do have a couple of armv6 devices that run flutter. I don't mind sticking to an older version for them, but it'd be helpful to be able to easily find the end commit.

@mkustermann
Copy link
Member Author

@JakeSays Due to the lack of current build/testing on our continuous integration system, it might already be broken. If not you could take any commit atm.

We haven't removed the code in the Dart VM yet - though I've made now a CL to do that which will probably land soon cl/152322

@mit-mit
Copy link
Member

mit-mit commented Jun 25, 2020

@vsmenon @franklinyow can we get this marked approved? The CL is ready to be landed.

@vsmenon
Copy link
Member

vsmenon commented Jun 25, 2020

lgtm

@franklinyow - are we clear to land?

@franklinyow
Copy link
Contributor

Mark this as approved. @mkustermann please go ahead and land.

dart-bot pushed a commit that referenced this issue Jun 26, 2020
This also allows unaligned access, since it's mandatory for ARMv7 (we
already take advantage of it for ARMv8).

Issue #42069

Change-Id: I0bd61a930e61dea330ab21fd187fe64b057ca28e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152322
Reviewed-by: Siva Annamalai <[email protected]>
Reviewed-by: Vyacheslav Egorov <[email protected]>
Commit-Queue: Martin Kustermann <[email protected]>
tekknolagi pushed a commit to tekknolagi/dart-assembler that referenced this issue Nov 3, 2020
This also allows unaligned access, since it's mandatory for ARMv7 (we
already take advantage of it for ARMv8).

Issue dart-lang#42069

Change-Id: I0bd61a930e61dea330ab21fd187fe64b057ca28e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152322
Reviewed-by: Siva Annamalai <[email protected]>
Reviewed-by: Vyacheslav Egorov <[email protected]>
Commit-Queue: Martin Kustermann <[email protected]>
@talksik
Copy link

talksik commented Jul 3, 2023

can someone please clarify this in the docs: https://docs.flutter.dev/reference/supported-platforms

I am unsure what "support for the platforms on which built Flutter might be deployed" means. What is built flutter? Does it mean that the table is regarding which platforms are supported to build the app? Or does it mean these are the target platforms that are supported? Or is it that this entire page is just talking about support for host machines that deploy the app? I'm super confused and need clarification which Raspberry pi OS and cpu would run a flutter app that I code on my macbook and cross compile with docker.

Why is there no mention of CPU architectures supported if the latter is true?

Thank you

@mkustermann
Copy link
Member Author

/cc @mit-mit regarding about our supported platforms

@mit-mit
Copy link
Member

mit-mit commented Jul 10, 2023

Hi @talksik. Yeah, that sentence wasn't so easy to read. I'm updating it in https://github.com/flutter/website/pull/9005/files

Yes, this page lists the supported target platforms, i.e. the platforms on which we support running apps that have been built with Flutter.

@talksik
Copy link

talksik commented Jul 11, 2023

awesome thank you for the edit and clarification!

@bvoq
Copy link

bvoq commented Sep 3, 2023

It would be good to keep ARMv6 support. I would also like to write an embedder of flutter for the Nintendo 3ds.
It shouldn't be that difficult to keep it backwards compatible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-meta Cross-cutting, high-level issues (for tracking many other implementation issues, ...). breaking-change-request This tracks requests for feedback on breaking changes
Projects
None yet
Development

No branches or pull requests

10 participants