Skip to content

ARM64 Linux support #19208

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

Open
5 of 9 tasks
ZhongRuoyu opened this issue Feb 3, 2025 · 8 comments
Open
5 of 9 tasks

ARM64 Linux support #19208

ZhongRuoyu opened this issue Feb 3, 2025 · 8 comments
Labels
features New features in progress Maintainers are working on this linux

Comments

@ZhongRuoyu
Copy link
Member

ZhongRuoyu commented Feb 3, 2025

We hope to provide official support for ARM64 Linux, starting with a beta later this year. That includes providing bottles for the platform, and bringing first-class support for brew and core formulae.

To make this happen, the following need to be settled (roughly in order):

Also, the following will happen when we feel comfortable:

  • Add installer support - Update install.sh install#963
  • Announce beta for ARM64 Linux (this will happen after a significant portion of formulae are bottled)

What is the motivation for the feature?

There has been considerable interest, both internally and externally, in running Homebrew on ARM64 Linux. Having discussed this at the 2025 AGM, we believe that it is feasible for us to start working on this.

How will the feature be relevant to at least 90% of Homebrew users?

Users on ARM64 machines like Raspberry Pis and Ampere servers can also benefit from Homebrew on Linux. Apple Silicon users can also run Homebrew in Docker natively.

What alternatives to the feature have been considered?

Provide a limited level of support for the platform, most likely shipping the aforementioned features barring the bottling-related ones. This will essentially place Homebrew on ARM64 Linux at a support level similar to Rust's tier 3 support.

@ZhongRuoyu ZhongRuoyu added features New features linux labels Feb 3, 2025
@cheese
Copy link

cheese commented Feb 6, 2025

Start with Ubuntu 24.04 or just keep in sync with x86_64 Linux?

@ZhongRuoyu
Copy link
Member Author

Start with Ubuntu 24.04 or just keep in sync with x86_64 Linux?

This is irrelevant to specific distro releases. The aim is to support any ARM64 Linux system, as is the case with Homebrew on x86_64 Linux (which works for systems with glibc > 2.13).

If you mean Homebrew's CI environment, it will be kept in sync with x86_64 Linux.

This comment has been minimized.

@github-actions github-actions bot added the stale No recent activity label Mar 1, 2025
@ZhongRuoyu ZhongRuoyu added in progress Maintainers are working on this and removed stale No recent activity labels Mar 3, 2025
@sihaixianyu
Copy link

Support linux in aarch platform will promote the use of homebrew vigorously : )

@huyz
Copy link

huyz commented Mar 21, 2025

Support linux in aarch platform will promote the use of homebrew vigorously : )

Heheh not sure if Homebrew needs more vigorous promotion. The awesome Homebrew volunteers are quite busy as it is 😃. I believe Linux ARM support is already on the way anyway

@kvokka
Copy link
Contributor

kvokka commented Mar 31, 2025

In my use case, with devcontainers, using one of the default images mcr.microsoft.com/vscode/devcontainers/go on a MacBook with an M1 processor (which has support for the arm64 arch), when i try to install brew inside the container, I get the default stub.

$ lscpu | grep Architecture
Architecture:                         aarch64

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
Homebrew on Linux is not supported on ARM processors.
  https://docs.brew.sh/Homebrew-on-Linux#arm-unsupported

@ssbarnea

This comment has been minimized.

@Bo98
Copy link
Member

Bo98 commented Apr 15, 2025

This is intentional for now while many issues are still being ironed out. brew install go for example was only became functional a few days ago. There's still some high profile packages we're working on (qt and ghc).

The main reasons for this is because:

  • We are fixing things daily so want a fast-updating tag rather than a once-per-week.
  • Docker on macOS will eagerly choose arm64 if available on Apple Silicon, which we're not ready for people to switch to that yet.

Basically: still consider arm64 Linux as experimental at this stage (it's tier 2 support: https://docs.brew.sh/Support-Tiers), even though it quite stable and nearing completion. master means you are explicitly opting into that experimental status.

We will start pushing latest + versioned tags soon. Possibly starting with Homebrew 4.5.0. I suspect we'll have something here within the next couple weeks as we've now reached 85% coverage and I'm working on fixing some of the outstanding blockers this week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
features New features in progress Maintainers are working on this linux
Projects
None yet
Development

No branches or pull requests

7 participants