Mishaal Rahman / Android Authority
TL;DR Google is working to improve the performance of graphical Linux apps on Android, which currently run slowly using inefficient CPU-based rendering.
This will be achieved by implementing gfxstream, a technology that forwards graphics API calls to the host’s GPU for near-native performance.
Evidence for this was found in a hidden “Graphics Acceleration” setting in the Terminal app that enables a new “GPU-accelerated renderer.”
Earlier this year, Google introduced the Linux Terminal app, giving developers and power users the ability to run full-fledged Linux applications on their Android devices. While it was initially limited to command-line apps, Google recently added support for running Linux apps with graphical user interfaces (GUIs), a significant step forward for the feature.
However, there’s a major catch with the current implementation. All graphics rendering is handled by the CPU instead of the GPU, which is not only incredibly slow but also very taxing on a device’s battery and thermals. This is only a temporary problem, though, as Google is already working on a new feature that will make these apps run significantly better.
To make graphical Linux apps run better on Android, Google is working to enable gfxstream in the Terminal app. Gfxstream is a modern graphics virtualization technology that forwards graphics API calls directly from the guest Linux virtual machine to the host Android device. This will allow Linux graphical apps to run at near-native performance.
Although the Terminal app doesn’t use gfxstream yet, I spotted some evidence this is in the works. While digging through the latest 2509 Android Canary release, I spotted a new “Graphics Acceleration” option in the Terminal app’s settings. This menu currently only shows a “software renderer” toggle, which corresponds to Lavapipe, the existing CPU-based renderer. However, I dug into the app’s code and found a hidden second toggle for a “GPU-accelerated renderer.” This hidden option is what enables gfxstream. Google has intentionally hidden the toggle for now, but with a bit of tinkering, I was able to force it to appear.
Mishaal Rahman / Android Authority
Unfortunately, the graphical display mode in the 2509 Android Canary release is currently broken on my device, so I was unable to test the GPU-accelerated renderer myself. Still, based on how gfxstream works compared to the current Lavapipe software renderer, the switch should dramatically improve the performance of Linux apps with GUIs.
Don’t want to miss the best from Android Authority? Set us as a favorite source in Google Discover to never miss our latest exclusive reports, expert analysis, and much more.
to never miss our latest exclusive reports, expert analysis, and much more. You can also set us as a preferred source in Google Search by clicking the button below.
Gfxstream should also offer much better performance than VirGL, another graphics virtualization technology Google has been experimenting with. Unlike gfxstream’s direct API forwarding, VirGL uses a less efficient translation approach. It translates graphics API calls into an intermediate language on the guest VM, sends it to the host, and then translates it again into commands the host GPU can execute. This double translation process significantly impacts performance.
This push for near-native performance is crucial for Google’s broader Android on PC ambitions, which the company teased again at this week’s Snapdragon Summit. The Terminal app makes it possible to run powerful Linux-based development tools that aren’t available on Android. Since many of these tools are highly demanding, making them run faster and more efficiently is key to creating a compelling experience.
Follow