[GH-ISSUE #26] [FR] Universal build for M1 support? #13

Closed
opened 2026-03-23 20:30:26 +00:00 by mirror · 18 comments
Owner

Originally created by @FallenChromium on GitHub (Nov 18, 2021).
Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/26

Hi there! I loved the design of the app ♥️
One of the problems I've encountered is that it runs under Rosetta 2 on my laptop, which is undesirable, mainly because smoothness suffers and so does the battery life. Is there any way to compile Rust+Dart app into a Universal app?

Originally created by @FallenChromium on GitHub (Nov 18, 2021). Original GitHub issue: https://github.com/AppFlowy-IO/AppFlowy/issues/26 Hi there! I loved the design of the app ♥️ One of the problems I've encountered is that it runs under Rosetta 2 on my laptop, which is undesirable, mainly because smoothness suffers and so does the battery life. Is there any way to compile Rust+Dart app into a Universal app?
Author
Owner

@appflowy commented on GitHub (Nov 18, 2021):

@FallenChromium Absolutely yes, but the size of the application will be larger. I can build one for M1. Please let me know how you think about it.

<!-- gh-comment-id:972869458 --> @appflowy commented on GitHub (Nov 18, 2021): @FallenChromium Absolutely yes, but the size of the application will be larger. I can build one for M1. Please let me know how you think about it.
Author
Owner

@FallenChromium commented on GitHub (Nov 18, 2021):

It's absolutely fine to have 2 separate releases for each architecture (like most utils on Homebrew do, anyway), so I think it's a viable solution.

That said, it's always a compromise. I can see Universal App being easier to distribute but more painful to build (especially in an automated fashion). Separating targets and release products can also be a pain in the back, especially when other arches and\or platforms will join (win_x64, win_arm64, linux_x64, linux_arm64, you probably already imagined that giant GitHub Releases file list 🤣)

<!-- gh-comment-id:972913435 --> @FallenChromium commented on GitHub (Nov 18, 2021): It's absolutely fine to have 2 separate releases for each architecture (like most utils on Homebrew do, anyway), so I think it's a viable solution. That said, it's always a compromise. I can see Universal App being easier to distribute but more painful to build (especially in an automated fashion). Separating targets and release products can also be a pain in the back, especially when other arches and\or platforms will join (win_x64, win_arm64, linux_x64, linux_arm64, you probably already imagined that giant GitHub Releases file list 🤣)
Author
Owner

@pdckxd commented on GitHub (Nov 20, 2021):

Seems flutter doesn't support build application for native Apple M1 chip. Below wiki page shows that M1 can run X86_64 application through Rosetta2 at this moment. So you will see Intel arch in "Activity Monitor" when running appflowy on MacOS

https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon

Compiled Intel macOS binaries work on Apple Silicon without change thanks to the Rosetta 2 translation environment, which converts x86_64 instructions to ARM64 equivalents.
We also plan to offer support for compilation directly to ARM64, as well as universal binaries that combine x86_64 and ARM64 assets. Issue 60113 is the umbrella bug tracking this work.

<!-- gh-comment-id:974609091 --> @pdckxd commented on GitHub (Nov 20, 2021): Seems flutter doesn't support build application for native Apple M1 chip. Below wiki page shows that M1 can run X86_64 application through Rosetta2 at this moment. So you will see Intel arch in "Activity Monitor" when running appflowy on MacOS https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon > Compiled Intel macOS binaries work on Apple Silicon without change thanks to the Rosetta 2 translation environment, which converts x86_64 instructions to ARM64 equivalents. > We also plan to offer support for compilation directly to ARM64, as well as universal binaries that combine x86_64 and ARM64 assets. Issue 60113 is the umbrella bug tracking this work.
Author
Owner

@ioiioo commented on GitHub (Dec 10, 2021):

I have the same appeal, I hope I can have M1 version applications.

<!-- gh-comment-id:990574535 --> @ioiioo commented on GitHub (Dec 10, 2021): I have the same appeal, I hope I can have M1 version applications.
Author
Owner

@lvelvee commented on GitHub (Dec 21, 2021):

kindly support native arm arch pls

<!-- gh-comment-id:998458084 --> @lvelvee commented on GitHub (Dec 21, 2021): kindly support native arm arch pls
Author
Owner

@WATERMELOUN3 commented on GitHub (Apr 28, 2022):

Is there any news about native ARM build support ?
In the documentation in Building on MacOS -> Building in release mode, there is arm64 command, but it still doesn't work.

<!-- gh-comment-id:1111986805 --> @WATERMELOUN3 commented on GitHub (Apr 28, 2022): Is there any news about native ARM build support ? In the documentation in Building on MacOS -> Building in release mode, there is arm64 command, but it still doesn't work.
Author
Owner

@ghost commented on GitHub (May 18, 2022):

Any update about this? since flutter v3 already support apple silicon without rosetta
ps: https://github.com/flutter/website/pull/7119#issuecomment-1124537969

<!-- gh-comment-id:1130235877 --> @ghost commented on GitHub (May 18, 2022): Any update about this? since flutter v3 already support apple silicon without rosetta ps: https://github.com/flutter/website/pull/7119#issuecomment-1124537969
Author
Owner

@Lewiscowles1986 commented on GitHub (Jul 30, 2022):

It seems Flutter recently released apple silicon support. I hope it's generic ARM64 so I can run on M1 Studio as well as low-end devices like the raspberry pi.

Links:

<!-- gh-comment-id:1200144272 --> @Lewiscowles1986 commented on GitHub (Jul 30, 2022): It seems Flutter recently released apple silicon support. I hope it's generic ARM64 so I can run on M1 Studio as well as low-end devices like the raspberry pi. Links: - https://github.com/flutter/flutter/wiki/Developing-with-Flutter-on-Apple-Silicon - https://github.com/flutter/flutter/issues/60113 - https://github.com/flutter/flutter/issues/87508
Author
Owner

@Lewiscowles1986 commented on GitHub (Jul 30, 2022):

If there are tests or it's a matter of configuring a build, I'm in BST London, and happy to take the time to use my hardware to build on an M1 and host while the github process for building is worked out.

<!-- gh-comment-id:1200144537 --> @Lewiscowles1986 commented on GitHub (Jul 30, 2022): If there are tests or it's a matter of configuring a build, I'm in BST London, and happy to take the time to use my hardware to build on an M1 and host while the github process for building is worked out.
Author
Owner

@SuperBo commented on GitHub (Oct 9, 2022):

Hi @Lewiscowles1986 , can you share the build with us :D

<!-- gh-comment-id:1272419631 --> @SuperBo commented on GitHub (Oct 9, 2022): Hi @Lewiscowles1986 , can you share the build with us :D
Author
Owner

@Lewiscowles1986 commented on GitHub (Oct 14, 2022):

It didn’t build and it seems I e not kept a log of why, or what the errors were

<!-- gh-comment-id:1278442897 --> @Lewiscowles1986 commented on GitHub (Oct 14, 2022): It didn’t build and it seems I e not kept a log of why, or what the errors were
Author
Owner

@Tienisto commented on GitHub (Jul 11, 2023):

Shouldn't flutter build macos build an universal build by default? I am maintainer of LocalSend and I did not do anything to ensure M1 support.

Maybe an ARM based computer is needed though...

<!-- gh-comment-id:1629947092 --> @Tienisto commented on GitHub (Jul 11, 2023): Shouldn't `flutter build macos` build an universal build by default? I am maintainer of [LocalSend](https://github.com/localsend/localsend) and I did not do anything to ensure M1 support. Maybe an ARM based computer is needed though...
Author
Owner

@Lewiscowles1986 commented on GitHub (Jul 11, 2023):

It's not the same commands @Tienisto (I think due to the Rust and other commands); but it looks like https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/environment-setup/building-on-macos has cli options for arm64; so I guess for me; this was all I wanted.

<!-- gh-comment-id:1630053450 --> @Lewiscowles1986 commented on GitHub (Jul 11, 2023): It's not the same commands @Tienisto (I think due to the Rust and other commands); but it looks like https://appflowy.gitbook.io/docs/essential-documentation/contribute-to-appflowy/software-contributions/environment-setup/building-on-macos has cli options for arm64; so I guess for me; this was all I wanted.
Author
Owner

@Lewiscowles1986 commented on GitHub (Jul 11, 2023):

This has led to https://github.com/flutter/flutter/issues/130308 on a new mac I don't want to use appleId for, but it feels like that is a me problem.

<!-- gh-comment-id:1630073926 --> @Lewiscowles1986 commented on GitHub (Jul 11, 2023): This has led to https://github.com/flutter/flutter/issues/130308 on a new mac I don't want to use appleId for, but it feels like that is a me problem.
Author
Owner

@vncloudsco commented on GitHub (Nov 8, 2023):

Are there any updates for this?

<!-- gh-comment-id:1801330272 --> @vncloudsco commented on GitHub (Nov 8, 2023): Are there any updates for this?
Author
Owner

@LucasXu0 commented on GitHub (Dec 25, 2023):

We have provided the universal package for the M series chip from version 0.3.0.

<!-- gh-comment-id:1868658232 --> @LucasXu0 commented on GitHub (Dec 25, 2023): We have provided the universal package for the M series chip from version 0.3.0.
Author
Owner

@vncloudsco commented on GitHub (Jan 3, 2024):

@LucasXu0
We do not see that we still have not been installed on ARM, even the built -in docker is not show that.

 => ERROR [linux/arm64 stage-1 2/8] RUN pacman -Syyu --noconfirm                                                                                                                               0.2s
------                                                                                                                                                                                              
 > [linux/arm64 builder  2/25] RUN chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo:                                                                                                       
0.131 exec /bin/sh: exec format error
------
------
 > [linux/arm64 stage-1 2/8] RUN pacman -Syyu --noconfirm:
0.095 exec /bin/sh: exec format error
------
Dockerfile:73
--------------------
  71 |     
  72 |     # Upgrade the system
  73 | >>> RUN pacman -Syyu --noconfirm
  74 |     
  75 |     # Install runtime dependencies
--------------------
ERROR: failed to solve: process "/bin/sh -c pacman -Syyu --noconfirm" did not complete successfully: exit code: 1

image

<!-- gh-comment-id:1874938217 --> @vncloudsco commented on GitHub (Jan 3, 2024): @LucasXu0 We do not see that we still have not been installed on ARM, even the built -in docker is not show that. ``` => ERROR [linux/arm64 stage-1 2/8] RUN pacman -Syyu --noconfirm 0.2s ------ > [linux/arm64 builder 2/25] RUN chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo: 0.131 exec /bin/sh: exec format error ------ ------ > [linux/arm64 stage-1 2/8] RUN pacman -Syyu --noconfirm: 0.095 exec /bin/sh: exec format error ------ Dockerfile:73 -------------------- 71 | 72 | # Upgrade the system 73 | >>> RUN pacman -Syyu --noconfirm 74 | 75 | # Install runtime dependencies -------------------- ERROR: failed to solve: process "/bin/sh -c pacman -Syyu --noconfirm" did not complete successfully: exit code: 1 ``` ![image](https://github.com/AppFlowy-IO/AppFlowy/assets/41409442/bd646223-962f-4492-9fea-a99d775bbed4)
Author
Owner

@vncloudsco commented on GitHub (Jan 3, 2024):

releases page only x86_64 support @LucasXu0
image

<!-- gh-comment-id:1875012225 --> @vncloudsco commented on GitHub (Jan 3, 2024): releases page only x86_64 support @LucasXu0 ![image](https://github.com/AppFlowy-IO/AppFlowy/assets/41409442/0836afb4-57e7-498c-8964-2c4a25edfc09)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#13
No description provided.