Google’s Pixel 10 can now run Linux apps better than other Android phones

Google’s Pixel 10 can now run Linux apps better than other Android phones

Joe Maring / Android Authority

TL;DR

  • Google is adding GPU acceleration for graphical Linux apps to Android’s Terminal app, but the feature is currently exclusive to the Pixel 10.
  • This feature relies on Gfxstream, a library that forwards graphics API calls from the guest Linux virtual machine to the host Android device’s GPU for accelerated rendering.
  • Though the feature is live for Pixel 10 users in Android 16 QPR2 Beta 3, it’s still buggy and doesn’t yet offer the near-native performance expected.

Back in March, Google introduced the Linux Terminal app to Android, which uses virtualization to run full-fledged Linux programs on Android devices. While the initial release only supported command-line apps, Google is addressing that limitation in the upcoming Android 16 QPR2 update.

Even though Android 16 QPR2 will add support for graphical desktop Linux apps, they will run poorly on most Android devices. This is because the Linux Terminal app currently relies on a software-based renderer called Lavapipe. Lavapipe uses the device’s CPU for complex calculations and rasterization (the process of converting vector graphics into pixels) — tasks that the device’s GPU can perform much more quickly and efficiently.

To solve this performance bottleneck, Google is working to bring Gfxstream support to the Terminal app. Gfxstream is a graphics virtualization technology that forwards graphics API calls from the guest Linux virtual machine directly to the host Android device, enabling GPU-accelerated rendering for Linux apps.

While digging through last month’s 2509 Android Canary release, I spotted a new “Graphics Acceleration” menu in the Terminal app’s settings. Although the menu only showed a toggle for the existing software renderer, I found evidence of a second, hidden option for a new “GPU-accelerated renderer.” After examining the app’s code, I determined this new renderer was Gfxstream.

Graphics acceleration toggle for Android Terminal

Mishaal Rahman / Android Authority

Following the release of Android 16 QPR2 Beta 3 last week, Reddit user Unlucky_Drive6363 discovered that GPU acceleration for Linux apps was enabled on their Pixel 10 smartphone. The user shared a screenshot showing a Linux program detecting the phone’s Vulkan graphics driver and confirmed to me that the “Graphics Acceleration” menu appeared in their Terminal app’s settings.

Vulkan HW caps running in Debian on a Pixel 10

Digging through the firmware, I discovered why this feature is currently exclusive to the Pixel 10. The device has an overlay file that tells the Terminal app to enable Gfxstream support, an overlay not found on other Pixel phones running Android 16 QPR2 Beta 3. It’s unclear why Gfxstream isn’t enabled on other Pixel devices, as in theory, it shouldn’t have any hardware dependencies. It is, after all, an API forwarding library that’s agnostic to the underlying GPU hardware.

With Gfxstream, the Pixel 10 can run graphical desktop Linux apps using its GPU instead of its CPU. While the Tensor G5’s GPU may not be a top performer for game emulation, it is vastly superior to any mobile CPU for graphics rendering. As the only mobile device currently supporting Gfxstream in the Linux Terminal, the Pixel 10 has a clear advantage over all other Android devices when it comes to Linux app compatibility.

Unfortunately, Gfxstream support is still a bit spotty. Reddit user Unlucky_Drive6363 reports that only 47 of the 142 Vulkan extensions supported by the Pixel 10 are available to the Linux VM. Furthermore, they note that some of these extensions don’t work properly, with some apps even performing worse than with the software renderer. In theory, Gfxstream should provide near-native performance, so there’s clearly more work to be done.

Regardless of these early issues, it’s exciting to see Linux app support improving on Android. Virtualization is one of the most secure ways to use the many powerful Linux programs that aren’t natively available on the platform. As Android continues its expansion to PCs, providing developers and power users with a way to run their critical tools is crucial for success. The Linux Terminal is that solution — and while it may be a stopgap, it’s a necessary one.

Don’t want to miss the best from Android Authority?

google preferred source badge light@2xgoogle preferred source badge dark@2x

Thank you for being part of our community. Read our Comment Policy before posting.

Source link

Leave a Reply

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