With yesterday’s Flutter Live event and the stable release of Flutter, one of the primary ways to create Fuchsia apps, Google is one step closer to possibly unveiling their in-development operating system. Another unexpected step is coming, in the form of the official Android Emulator from Android Studio gaining the ability to boot Fuchsia’s Zircon kernel.
For the past few years, Google has been working hard on Fuchsia, getting it to work on a variety of devices including the Pixelbook, Google Home Hub, and a variety of other prototypes. Most recently, Huawei has even joined in by getting Zircon up and running on the Honor Play.
These efforts, while appreciated, are not quite enough to get software developers, who may not necessarily want to spend money on special hardware, to become early adopters of Fuchsia and start making applications for the platform. Enter, a new work-in-progress commit found on Android’s Gerrit source code management, tagged “[fuchsia]”, which claims to enable the Android Emulator to boot Fuchsia’s Zircon kernel.
Not much has needed to change so far in the code to make Zircon booting possible. This is because the Android Emulator is based on QEMU, which has long had Zircon and Fuchsia support, with some additional Android-specific modifications.
Update 1 (12/5 12:50pm): The commit has been updated with a new, more detailed message, offering more details about the changes required to get Zircon running correctly in QEMU.
A second, paired commit has also been posted, adding a new BIOS for QEMU to use that enables Zircon. Both commits have been tagged “fuchsia-x64-begin”, which indicates that the initial intended use for this Fuchsia emulation will be based on the 64-bit x86 CPU architecture. This makes sense, as performance should be better on PCs, emulating the x86 version instead of ARM.
As of early this year, however, QEMU could no longer support graphics in Fuchsia, as the OS moved to requiring Vulkan graphics instead of OpenGL, which QEMU does not yet support. Google has been pushing for QEMU to get Vulkan graphics support for a few years now, and it’s been featured as a project for Google Summer of Code (a program designed to get college students involved with promoted open source projects) in both 2017 and 2018. It’s possible Google may now intend to complete the required work to “Vulkan-ize” QEMU themselves.
Update 2 (12/5 1:02pm): Google has apparently been hard at work implementing Vulkan in Android Emulator since May of last year, and has seen great success in recent months. This means we may soon see Fuchsia running with graphics in Android Emulator very soon.
It’s too early to tell if Google intends to include Fuchsia-related tools into Android Studio, but doing so would make sense, as it would allow developers to get their feet wet with the operating system using the tools they already have installed.
Considering Flutter already has tight integration with the Android Emulator, Google seems primed to get developers up and running quickly when Fuchsia is finally made official.