Did Google drop a hint when Project Crostini and Linux apps on Chromebooks will get GPU acceleration?

One of the remaining key features not yet working in Project Crostini is GPU acceleration. We already know how Google plans to add it — this video covers the technical approach in great detail — but we still don’t know when to expect it. There’s no official announcement but today at its Android Developers Conference, Google provided us a big hint: Early 2019.

Why do I say that? Because of Google did announce today, namely: Official support for Android Studio on Chromebooks.

Android Studio 3.3 launches beta 3 today. In coming releases expect to see a strong focus on quality and fundamentals: reducing the number of crashes and hangs, optimizing memory usage, and fixing user-impacting bugs. We also announced today that we’re making Android Studio an officially supported IDE on Chrome OS early next year; learn more here.

Yes, you can already run the Linux version of Android Studio on any Chrome OS device that works with Project Crostini. What doesn’t work is the Android Emulator though: It requires GPU hardware acceleration.

Putting all of that together: If full, official Android Support on Chromebooks for developers is coming in early 2019, it follows that GPU hardware acceleration in Crostini has to arrive in tandem. I say that because as far as I can tell, the Android Virtual Device (AVD) emulator requires hardware acceleration:

Assuming I’m correct — please chime in if I’m not since I tend to code in Java for school — I can’t see how Google will officially support Android Studio on Chromebooks for devs without supporting the AVD. Yes, you can run your Android app within Android Studio or on a local Android device connected to your computer — well, you could if USB support was working; it’s not but looks to be coming soon.

Again, this is conjecture on my part since a release date hardware acceleration for Crostini on Chromebooks hasn’t been specifically announced. Early 2019 is sounding like a good bet, though.

 

10 thoughts on “Did Google drop a hint when Project Crostini and Linux apps on Chromebooks will get GPU acceleration?

  • November 8, 2018 at 3:00 am
    Permalink

    You have a point but the Android Emulator in Android Studio may not run on each and every Chromebook to begin with. There are many different Chromebook hardware specs, after all, and during development it is the host’s GPU that gets called upon to support graphics operations on the Android Virtual Device, right? And, that additionally implies that there is some specialised code for the target device that remains to be included in the final installed app on the target, I would imagine. Perhaps Google Play can manage all of this complexity or maybe not.

    Reply
  • November 12, 2018 at 7:50 pm
    Permalink

    do any chromebooks have external gpu’s?

    Reply
    • November 12, 2018 at 9:48 pm
      Permalink

      Nope, all of the GPUs used to date are integrated with the CPUs.

      Reply
  • November 12, 2018 at 10:30 pm
    Permalink

    Sorry but I think it’s not just lack of GPU support in Crostini that’s stopping Android Emu running on it, it’s the restriction in Crostini of not running VMa inside it’s VM, and Android emu is actually Qemu so it can’t run inside Termina, see: https://chromium.googlesource.com/chromiumos/docs/+/master/containers_and_vms.md#Can-I-run-my-own-VM_kernel

    More likely what the announcement means is that they may lift the restriction of needing dev mode to access adb and sideload apps into ARC, as there is an in progress but report for that. And also as pointed out, USB support is also on it’s way.

    Reply
    • November 12, 2018 at 10:57 pm
      Permalink

      Great point. I might be overly optimistic that Google finds a way to make AVD work in Crostini. 😉

      Reply
      • November 12, 2018 at 11:02 pm
        Permalink

        Well it’s not all bad news, I could be wrong about all of this but I suspect the long term goal is to actually get ARC++ running inside the termina vm in it’s own container as the Crostini readme faq does make it very clear that the chrome is dev team feel unhappy with the security compromise of running Android in a less secure sandbox to what termina provides…

        Reply
    • November 15, 2018 at 6:20 am
      Permalink

      Yes, that does make a lot of sense.

      Reply
  • November 20, 2018 at 12:32 pm
    Permalink

    There was a deep dive session on the Android Emulator at the recent Android Developers Summit. See
    https://www.youtube.com/watch?v=lL2nKEVmMjc&t=0s&index=42&list=PLWz5rJ2EKKc8WFYCR9esqGGY0vOZm2l6e

    This session, if I have understood the context correctly, looks at the use of Android Studio on Linux dev boxes broadly, not Crostini in particular. Still the topics discussed are relevant to all versions of Linux used for Android development including the crosvm isolated Linux guest OS built for the Crostini project.

    The details in the talk make it clear that until the release of version 3.3 of Android Studio the Android Emulator either had either no GPU support or negligible support. As the issue with the Android Emulator on Debian Stretch (Linux guest OS supported by Chrome OS) was that it doesn’t run (not that it doesn’t run quickly), Mak’s suggestion does seem sound. In addition to the changes to the Android Emulators in the most recent release of Android Studio and the implementation of virtio-gpu and other pieces of the Crostini para-virtualization strategy, certain limitations of Termina VM would also have to be overcome or circumvented to get the QEMU binary translator dependent Android Emulator running inside a Termina VM in a nested fashion.

    Of course, the announcement that Android Studio will be supported on Crostini probably means that the mentioned limitation has indeed been overcome. It is hard to believe that Google would announce support for Android Studio on Crostini if the Android Emulator was still non-functional.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.