Bringing Chrome to ARM64 Linux Devices

(blog.chromium.org)

39 points | by ingve 2 hours ago

9 comments

  • oofbaroomf 1 hour ago
    Wait... weren't there many ARM Chromebooks already?
    • cmrdporcupine 1 hour ago
      Sure, and when I worked at Google on Chromecast there was also that build of Chromium.

      All of that is very different from The G actually providing a packaged official Chrome build, though. Which for some reason they couldn't be bothered to do before (Firefox exists though)

      • oofbey 8 minutes ago
        Couldn’t be bothered - the Google way. Nobody ever got promoted for doing something easy and useful.
  • emilbratt 2 hours ago
    I have been waiting... so many years for this. Like, I figured it would never come. So happy to be wrong. Wonder if it will work well on Raspberry Pi and also if it will come with Hardware Video Acceleration out of the box.
    • jamesfinlayson 1 minute ago
      Me too. Trying to get Chrome to run in Docker on an ARM Mac was a battle that I didn't win (I didn't want to fight the battle to start with but I had to use a Mac rather than Linux).
    • mort96 1 hour ago
      I would have more faith in Raspberry Pi's own patched build of Chromium to do hardware acceleration properly on the Pi than I would have in Google's generic Chrome build.
      • emilbratt 53 minutes ago
        But as far as i know, there has never been working HW accelerated video in their build of Chromium. But yeah, I guess you have point.
  • Hackbraten 2 hours ago
    Looking forward to no longer having to patch glibc on my Linux phone just so I can watch YouTube or use Spotify.
    • mort96 1 hour ago
      Wait what, how is glibc patching related to YouTube and Spotify? Could you not watch YouTube using an arm64 build of Chromium or Firefox?
      • Hackbraten 1 hour ago
        Spotify requires Widevine CDM to run, and Firefox doesn't come with Widevine on Debian-based distros. The .so hasn't been available on arm64 except for ChromeOS. You can rip the .so out of ChromeOS (that's what RaspberryPi OS did). But ChromeOS uses its own flavor of libc so a couple of patches to glibc are required.

        Same thing with YouTube. A few months ago, YouTube started to require Widevine CDM if one uses the m.youtube.com site. I can't use the non-mobile site on my phone for performance issues, so I'm essentially locked into Widevine for watching YouTube, too.

        • cmrdporcupine 1 hour ago
          Firefox pre-packaged for Ubuntu on my NVIDIA Spark has no problems with YouTube?

          I guess it must be a snap, not a deb package, but... wouldn't that work?

  • yjftsjthsd-h 2 hours ago
    Curious; given that ARM Chromebooks are nothing new, I'm surprised that it took them this long to ship it to other Linux distros.
    • eddythompson80 2 hours ago
      Chrome had no official arm64 build. There are distro specific builds from debian, fedora etc for arm64 chromium, but google had no official arm64 build.

      There were actually some paid services that provided a distro-agnostic chromium arm64 builds mostly targeting people running puppeteer on AWS ARM lambda. You can see some discussion here https://github.com/alixaxel/chrome-aws-lambda/issues/241

      edit: I think I replied to the wrong comment.

  • samtheprogram 2 hours ago
    I'm confused, how does Chrome work on ARM64 Android phones today?
    • danans 50 minutes ago
      The reason they didn't release Chrome for arm64 Linux almost certainly wasn't about technical feasibility, but rather about it being worth the support costs.

      The android arm64 Chrome build is clearly worth it to them, as was the Chrome build for ARM Chromebooks.

      Before this point they probably didn't think that arm64 Linux was a worthwhile target to support (especially since Chromium was available on arm64 Linux anyways).

      I'm not sure what has changed in the desktop/laptop ARM Linux market that changed their minds - or maybe they want to put their shoulder behind that market.

      • oofbey 8 minutes ago
        Support? This is Google!
    • vinkelhake 1 hour ago
      This is "just" about providing the official Chrome binary to ARM64 "desktop" Linux.

      You've been able to build and run Chromium on ARM Linux for a long time (I'm running it right now), it's just that they haven't provided an officially branded Chrome.

      This is a good thing. While Chromium works well, there are a few things (like syncing) that is a bit of a pain to set up.

    • hugs 2 hours ago
      they probably meant desktop. i do browser test automation (selenium, vibium), and the lack of google chrome on arm64 trips up new users frequently. the workaround is to just use chromium, but that's a confusing extra step for some if it's not automated and hidden for you.

      on that note, it would have been nice if they also clarified if this means they'll be shipping an official "chrome for testing" for arm64 linux, too.

      • kelvinjps10 1 hour ago
        Don't most people use chromium instead of chrome anyways on Linux?
        • hugs 1 hour ago
          most people just click the "internet" button and use whatever was already pre-installed.
          • kelvinjps10 1 hour ago
            I meant Linux users and chromium is the one that's already in the repos and doesn't need extra work. The default browser in most distros is Firefox
    • hparadiz 1 hour ago
      The Chromium project builds many things. The Android version is just one of those things.
    • bloomca 2 hours ago
      Maybe Android has its own libc? So they compile it for Android, but not for general Linux.

      Also curious about this.

    • westurner 2 hours ago
      What is necessary to run Linux ARM64 binaries on Android ARM64?

      To run conda-forge arm64 Linux binaries on Android in termux requires proot-distro because the ABIs are slightly different FWIU.

      What is necessary to run Android ARM64 binaries on Linux ARM64?

      Android Studio, LineageOS or BlissOS's outdated Android containers, a runtime like vinegarhq/sober that emulates just enough of Android.

      An Android binary that makes Linux compatible syscalls only (that doesn't require Android libraries that aren't compiled for Linux) won't work will it?

      • mort96 1 hour ago
        A fully statically compiled Linux ARM64 binary which only interacts with the kernel through syscalls should run no problem on ARM64 Android. From the kernel's perspective, there is no difference between a "Linux binary" and an "Android binary" because the kernel in Android is Linux.

        Most programs want to interact with various system libraries and system services though. Android and your typical desktop Linux system share pretty much nothing aside from the kernel.

        • westurner 1 hour ago
          Why is it easier to run a Linux ARM64 binary on Android than to run an Android ARM64 binary on Linux?

          My guess is that the reason is the same reason that there aren't official updated Android containers

          • mort96 1 hour ago
            I don't know what you mean by an "Android ARM64 binary". If you make an ELF file containing ARM64 machine code, it doesn't matter to Linux whether you meant for it to run on Linux in an Android system, on Linux in a desktop GNU system, or on Linux in some environment with without much of a userspace at all (such as a stripped down initramfs environment).

            If you mean something like an Android app, the answer is that there's a ton of system stuff that the app depends on, it interacts with more than just the kernel.

  • vsgherzi 1 hour ago
    a lot of people seem to not understand what used to go into running chrome on arm64 devices, this blog goes over it pretty well

    https://www.da.vidbuchanan.co.uk/blog/netflix-on-asahi.html

  • r2vcap 1 hour ago
    Cool. Let’s release Android NDK for Linux arm64 host, too.
  • cmrdporcupine 1 hour ago
    I recently switched to using an NVIDIA Spark as my primary workstation and lack of Chrome binaries for it are what finally pushed me to completely sever my relationship with Chrome and switch to Firefox.

    Sorry, Google. Too late!

    (Bonus: ad blocking properly works).

    • xupybd 1 hour ago
      What is it like using a Spark as a workstation?
      • cmrdporcupine 24 minutes ago
        Just like any other Ubuntu machine, really. Just lots (128GB) of RAM and relatively lots of cores (10 efficiency, 10 performance). It's not screaming fast, but it's absolutely fast enough for anything I need to do and it's got insanely fast networking options if I need them.

        I like it, and the local AI options make it fun enough, too.

        Apart from a few hassles. No pre-packaged Discord or Slack or Chromium or Spotify are the only things I've run into really.

  • kgwxd 1 hour ago
    Nope. Make uBlock Origin work properly again, or gtfo of the browser market.