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

x/website: go.dev/doc/install links to the darwin/amd64 installer for Apple Silicon users #52487

Open
hyangah opened this issue Apr 22, 2022 · 4 comments
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. website
Milestone

Comments

@hyangah
Copy link
Contributor

hyangah commented Apr 22, 2022

From @dmitshur's comment in #47578 (comment) (thanks!)

To my knowledge, likely out of device fingerprinting concerns, browsers don't officially expose the underlying system architecture, so web pages typically look the same regardless of whether the user is visiting from a macOS device with an Intel or Apple CPU.

I'm aware there are some workarounds, like getting the device GPU vendor name and checking for a known substring that M1 devices have. An example of that being used is the VLC home page, https://www.videolan.org/, which changes its default download link using that heuristic.

So, I'm not sure that we should try to add automatic detection. If we make both downloads Featured, they should be equally visible and hopefully easier to pick the intended one.

I think detecting the underlying system may be difficult. Then, I think we should investigate alternatives

  • Offer "Universal" as the default, but also provide "Intel Chip" and "Apple Silicon" options.
  • Present both options for MacOS users: Either drop-down menu or two different download block. If we take this route, add first-time go user-friendly description to refer to each architecture (I rarely see darwin-arm64 or darwin-amd64 outside the go community)
@gopherbot gopherbot added this to the Unreleased milestone Apr 22, 2022
@Deleplace
Copy link
Contributor

Does "Universal" already exist, or are there plans to add "Universal" to https://go.dev/dl/ ?

@hyangah
Copy link
Contributor Author

hyangah commented Apr 22, 2022

@Deleplace There is currently no universal version. I expect that will involve more work from the release team's side, and I am not aware of any plan. I added this as a possibility :-) And another consideration is the potential binary size.

@thanm thanm added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Apr 25, 2022
@hyangah hyangah modified the milestones: Unreleased, website/later Jun 15, 2022
@cespare
Copy link
Contributor

cespare commented Mar 13, 2023

To put a finer point on it: when a Apple Silicon mac user visits the download page, they are presented with this:

screen_20230313123743

and that big download button is the wrong link.

They will probably install that package and everything will seem to work, because the emulation is very good. The programs they compile will be amd64 binaries and will run a little slower because they are running under Rosetta. They may only become aware that there is an issue when some deeper issue exposes the amd64/arm64 mismatch.

(This keeps happening at our company.)

I suspect that quite a large fraction of Apple Silicon Go users are using amd64 toolchains today.

I really think this needs fixing. For now, we can just have two download buttons to force the user to pick the appropriate one.

It also seems like the macOS installer should warn the user if they are installing the amd64 toolchain on an Apple Silicon machine.

@cespare cespare changed the title x/website: go.dev/doc/install is suggesting darwin/amd64 installer for M1 users x/website: go.dev/doc/install links to the darwin/amd64 installer for Apple Silicon users Mar 13, 2023
@cespare
Copy link
Contributor

cespare commented Mar 13, 2023

I filed #59010 for making the amd64 installer complain if run on Apple Silicon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. website
Projects
None yet
Development

No branches or pull requests

5 participants