chrome-for-testing icon indicating copy to clipboard operation
chrome-for-testing copied to clipboard

Linux ARM64 support?

Open matrunchyk opened this issue 2 years ago • 13 comments
trafficstars

Hi, do you plan to add linux arm64 support?

I tried https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/113.0.5672.63/linux64/chrome-linux64.zip, but it seems like it's intended for x86_64 platform:

qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory

There is no /lib64 directory in linux arm64, but just /lib.

Thanks!

matrunchyk avatar May 07 '23 00:05 matrunchyk

cc @mathiasbynens

matrunchyk avatar May 07 '23 00:05 matrunchyk

Note: This issue tracker is only for the code that lives in this repository, i.e. the dashboard + CLI scripts.

do you plan to add linux arm64 support?

This is on our radar, and the relevant (unfortunately not public) tracking bug is https://bugs.chromium.org/p/chromium/issues/detail?id=1440652.

mathiasbynens avatar May 08 '23 06:05 mathiasbynens

Thank you @mathiasbynens for your prompt response! By any chance, do you have an approximate schedule for the release?

matrunchyk avatar May 09 '23 08:05 matrunchyk

By any chance, do you have an approximate schedule for the release?

No ETA. We’ll update this repository when the new binaries become available.

mathiasbynens avatar May 09 '23 09:05 mathiasbynens

Reopening to keep track of the FR but, again, the upstream is https://bugs.chromium.org/p/chromium/issues/detail?id=1440652

thiagowfx avatar Nov 22 '23 00:11 thiagowfx

It'd be nice to have this so we can provide Docker images for ARM with Chrome instead of Chromium.

https://github.com/seleniumhq-community/docker-seleniarm

diemol avatar Nov 22 '23 16:11 diemol

@thiagowfx thanks for keeping this public issue open (the upstream issue gives me Permission Denied)

fritzo avatar Nov 26 '23 18:11 fritzo

Please let us know how we can help support this.

seanpoulter avatar Feb 12 '24 14:02 seanpoulter

Still no news ?

devsheva avatar Feb 17 '24 20:02 devsheva

I think it will take some time before we get an answer.

In the meantime, can anyone share their experience with running the x86 Chrome with box64 (or any other emulator) on arm64?

I was trying on Amazon Linux 2023 (Fedora/RHEL line), but without luck. Debian is not an option.

toncid avatar Feb 22 '24 12:02 toncid

ARM64 images for Linux would be very useful!

We currently need to apply several workarounds to make it work.

An option would be to switch to another headless browser, but if possible we'd like to stick with Chrome for testing, because overall it's really good!

sandstrom avatar Feb 27 '24 15:02 sandstrom

Would very much like this too.

montehurd avatar Mar 21 '24 02:03 montehurd

Github has just released ARM runners for Github Actions:

https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/

Would be neat if Chrome for testing would provide a Linux ARM64 build for use with such runners.

sandstrom avatar Jun 07 '24 08:06 sandstrom

@mathiasbynens any updates meanwhile?

mkurz avatar Oct 17 '24 11:10 mkurz

Unfortunately Chrome does not officially support linux-arm64 at this time. We can only make Chrome for Testing available on platforms that are officially supported by the Chrome product.

mathiasbynens avatar Oct 17 '24 11:10 mathiasbynens

@mathiasbynens Hiiii 👋

Do you think it's worth opening a CR bug to discuss the addition of linux-arm64 releases for Chrome?

In terms of browser automation, Chrome is heavily used for by a large community of people. By using ARM64, those automation workloads could be run on lower wattage hardware, with less heat and emissions output, at a lower cost. Is it tenable for Chrome to run on arm64?

benschwarz avatar Oct 17 '24 11:10 benschwarz

@mathiasbynens Makes sense, but would you be willing to keep it open?

It's the by far most upvoted issue in this tracker:

https://github.com/GoogleChromeLabs/chrome-for-testing/issues?q=is%3Aissue+sort%3Areactions-%2B1-desc+

And it will very likely be supported eventually anyway (it's not like ARM is going away anytime soon).

sandstrom avatar Oct 17 '24 11:10 sandstrom

@benschwarz

Not only that, I have installed UTM on mac to test something on Debian, ARM64 version is only compatible with mac's recent version. Unfortunately it don't have chrome support so I have to install chromium to test.

solving321 avatar Oct 17 '24 11:10 solving321

In terms of browser automation, Chrome is heavily used for by a large community of people. By using ARM64, those automation workloads could be run on lower wattage hardware, with less heat and emissions output, at a lower cost.

FWIW, I fully agree and am sympathetic to this cause.

Do you think it's worth opening a CR bug to discuss the addition of linux-arm64 releases for Chrome?

For CfT specifically, there was an issue at https://crbug.com/40909440 which unfortunately resulted in the outcome described in my earlier comment.

I encourage you to file a separate Chromium issue requesting linux-arm64 support for all of Chrome so people can star it / subscribe to it for updates. If/when the product decision is made to support linux-arm64 we’d happily provide linux-arm64 CfT builds. Until that decision is made it is however not feasible for us to do anything on the CfT side.

mathiasbynens avatar Oct 17 '24 11:10 mathiasbynens

FWIW Microsoft releases playwright docker images for arm64, which contain native arm64 Chromium/Firefox/WebKit. See e.g. mcr.microsoft.com/playwright:v1.48.1-arm64.

Niek avatar Oct 17 '24 11:10 Niek

@mathiasbynens, thanks to your recommendation, I have logged an issue on Chromium.

Everyone who wants to support Chrome arm64: Go star this issue

benschwarz avatar Oct 22 '24 04:10 benschwarz

Shouldn't be too much trouble.

I’m already compiling arm64 binaries myself for usage on AWS Lambda.

https://github.com/chromium-for-lambda/chromium-binaries

stephankaag avatar Oct 22 '24 04:10 stephankaag

@mathiasbynens, thanks to your recommendation, I have logged an issue on Chromium.

Everyone who wants to support Chrome arm64: Go star this issue

Thank you! I’ve added a link to the issue to the top post here as well, so hopefully more people can see and star it.

mathiasbynens avatar Oct 22 '24 06:10 mathiasbynens

FYI the linked issue has been marked as "Won't fix" in November: https://issues.chromium.org/issues/374811603#comment10

slhck avatar Dec 09 '24 08:12 slhck

Can anyone from Google help us understand why this is such a hard thing to do, when everyone is already building their own arm64 binaries? Is it really just because of the graphical end-user browser not supported officially on linux-arm64?

dennisoelkers avatar Jan 09 '25 07:01 dennisoelkers

Can anyone from Google help us understand why this is such a hard thing to do, when everyone is already building their own arm64 binaries? Is it really just because of the graphical end-user browser not supported officially on linux-arm64?

See https://g-issues.chromium.org/issues/374811603#comment10

OrKoN avatar Jan 09 '25 12:01 OrKoN

Myself and probably quite a few others asking for this use it for automation, via e.g. Playwright (https://playwright.dev/).

Perhaps it would make more sense to see if we can get one of the other major engines (Firefox or Safari) to provide linux-arm64 builds suitable for testing? (playwright and most other automation software work with all major engines)

I don't know how far away any of them are, but maybe the architecture for one of those two projects make it such that it's less work.

cc @Skn0tt @mxschmitt

sandstrom avatar Jan 09 '25 15:01 sandstrom

Myself and probably quite a few others asking for this use it for automation, via e.g. Playwright (https://playwright.dev/).

Perhaps it would make more sense to see if we can get one of the other major engines (Firefox or Safari) to provide linux-arm64 builds suitable for testing? (playwright and most other automation software work with all major engines)

I don't know how far away any of them are, but maybe the architecture for one of those two projects make it such that it's less work.

cc @Skn0tt @mxschmitt

See my previous comment here: https://github.com/GoogleChromeLabs/chrome-for-testing/issues/1#issuecomment-2419331864 - MS already publishes an arm64 Chromium build. For example:

docker run --rm -it mcr.microsoft.com/playwright:v1.49.1-arm64 /ms-playwright/chromium-1148/chrome-linux/chrome --no-sandbox --headless=new

Or use it in your Dockerfile:

COPY --from=mcr.microsoft.com/playwright:v1.49.1-arm64 /ms-playwright/chromium-1148/chrome-linux/ /opt/chrome/

Niek avatar Jan 09 '25 16:01 Niek

The problem with Playwright's Chromium builds is that, AFAIU, they can't contain proprietary stuff for licensing reasons. For example, they can't contain proprietary audio and video codecs.

They're still fine for most automations, but if you're testing something that has to do with audio and video, and you want to do it on ARM, you might be out of luck.

LorDisturbia avatar Jan 09 '25 16:01 LorDisturbia

I'm not seeing the arm linux builds on https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json. Was this intended to be closed?

lino-levan avatar Mar 27 '25 19:03 lino-levan