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

Brew Cask installation default for Apple Silicon (M1) Macs #11829

Closed
D3AS8A opened this issue Aug 5, 2021 · 1 comment
Closed

Brew Cask installation default for Apple Silicon (M1) Macs #11829

D3AS8A opened this issue Aug 5, 2021 · 1 comment
Labels
features New features outdated PR was locked due to age

Comments

@D3AS8A
Copy link

D3AS8A commented Aug 5, 2021

Provide a detailed description of the proposed feature

Somewhat related to the general issue about Apple Silicon support, but I'm specifically referring to cask installs.

On a new machine, I usually just run install for a few hundred casks. However, I noticed that these seem to default to Intel applications (for example, brew install --cask firefox installs 64 bit Intel Firefox, which runs okay, but through Rosetta).

What is the motivation for the feature?

It would be great if homebrew automatically detected the optimal architecture for casks (and for cask sources to have these available, of course)

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

As Apple transitions to Apple Silicon, more users will offboard from Intel machines and onboard to Apple Silicon.

What alternatives to the feature have been considered?

I used the 64-bit Intel versions of apps, which automatically work through Rosetta emulation. But this is not ideal.

I had to uninstall some casks via homebrew, and re-install them by manually downloading from the software vendors' websites.

Afaik, there is no way to select the architecture for a cask? Searching just shows different packages or casks.

~ % brew search firefox
==> Casks
firefox ✔                           firefox-beta                        firefox-developer-edition           firefox-esr                         firefox-nightly                     multifirefox
@D3AS8A D3AS8A added the features New features label Aug 5, 2021
@EricFromCanada
Copy link
Member

EricFromCanada commented Aug 5, 2021

Firefox is distributed as a universal binary, so each build contains binaries for both architectures:

% file /Applications/Firefox.app/Contents/MacOS/firefox
/Applications/Firefox.app/Contents/MacOS/firefox: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]
/Applications/Firefox.app/Contents/MacOS/firefox (for architecture x86_64):	Mach-O 64-bit executable x86_64
/Applications/Firefox.app/Contents/MacOS/firefox (for architecture arm64):	Mach-O 64-bit executable arm64

Casks that have separate downloads for each architecture should detect and install only the one for the current architecture, as is done for e.g. zoom or google-chrome, unless they haven't yet been updated to do so. However, it's not possible to determine whether a cask provides an ARM-native binary or not.

@github-actions github-actions bot added the outdated PR was locked due to age label Sep 5, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 5, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
features New features outdated PR was locked due to age
Projects
None yet
Development

No branches or pull requests

3 participants